Quais são as possíveis razões pelas quais o Hyper-V não consegue compactar um VHD?

7

Estou hospedando várias máquinas virtuais em um host que executa o Hyper-V Server 2008 R2. Os discos foram originalmente provisionados em um servidor diferente (2008, não R2) há cerca de 16 meses e foram migrados para esse servidor há um ano. A maioria dos convidados está executando o Windows 7.

Recentemente, eu estava comparando o tamanho do VHD ao espaço usado relatado pelo convidado e notei que várias máquinas tinham arquivos VHD 50-100% maiores do que os realmente necessários. Então eu decidi tentar compactar os arquivos VHD para liberar espaço no host. Eu segui as instruções que encontrei na internet, aproximadamente da seguinte forma:

  1. Execute o CHKDSK na máquina convidada
  2. Execute uma desfragmentação na máquina convidada (desfragmentação integrada do Windows)
  3. Encerre o convidado
  4. Abra a ferramenta "Editar disco ..." no Gerenciador do Hyper-V
  5. Selecione o VHD de interesse e opte por compactá-lo

A primeira vez que tentei isso, funcionou perfeitamente e reduziu o tamanho do meu VHD em cerca de 50%. Mas para os discos de todos os outros convidados, recebo esta mensagem de erro:

The server encountered an error trying to edit the virtual disk.

'The system failed to compact 'C:\example.vhd'. Error Code: The requested
operation could not be completed due to a file system limitation

Nenhum convidado tem a compactação NTFS ativada. Não há instantâneos desses discos. O que mais poderia estar causando esse erro?

Editar : Pontos de bônus para quem descreve uma solução para manter os tamanhos dinâmicos de VHD sob controle automaticamente.

    
por Nic 10.02.2012 / 02:33

2 respostas

6

Remova as cópias de sombra do convidado. Isso vai fazer isso!

vssadmin delete shadows /all
    
por 10.02.2012 / 22:08
2

No interesse da consolidação das buscas na Internet: Eventualmente, este link encontrou uma abordagem que funcionou quando o HyperV compact não: link

No prompt de comando administrativo, execute DISKPART

No prompt de comando do DISKPART

select vdisk File=”I:\path\to\your.vhd”
attach vdisk readonly
compact vdisk
detach vdisk
    
por 23.11.2015 / 15:18