Quali sono le possibili ragioni per cui Hyper-V non può compattare un VHD?

Sto ospitando diverse macchine virtuali su un host che esegue Hyper-V Server 2008 R2. I dischi sono stati originariamente forniti su un server diverso (2008, non R2) circa 16 mesi fa e sono stati migrati su questo server un anno fa. La maggior parte degli ospiti esegue Windows 7.

Recentemente ho confrontato la dimensione VHD allo spazio utilizzato riportto dall'ospite e ho notato che diverse macchine avevano file VHD che erano 50-100% più grandi di quanto effettivamente necessario. Così ho deciso di provare a compattare i file VHD per liberare spazio sull'host. Ho seguito le istruzioni che ho trovato su internet, approssimativamente come segue:

  1. Esegui CHKDSK nella macchina ospite
  2. Eseguire una deframmentazione nella macchina guest (defrag incorporato di Windows)
  3. Chiudi l'ospite
  4. Aprire lo strumento "Modifica disco …" in Hyper-V Manager
  5. Seleziona il VHD di interesse e sceglie di comprimerlo

La prima volta che ho provato questo, ha funzionato perfettamente e ha ridotto la dimensione del mio VHD di circa il 50%. Ma per i dischi di each altro ospite, ho questo messaggio di errore:

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 

Nessun ospite ha la compressione NTFS abilitata. Non ci sono istantanee di questi dischi. Che altro potrebbe causare questo errore?

Modifica : punti bonus per chiunque descrive una soluzione per mantenere in automatico i tag dinamici VHD.

  • Come posso montare un XenServer VHD da un iSCSI SR in Ubuntu?
  • La maggior parte dei VMS rifiuta di avviare
  • Posso creare un formato fisso o un VHD espandibile se conosco la dimensione del contenuto in anticipo?
  • Struttura del file VHD - Riparazione VHD danneggiata
  • Come avviare più copie di un VM in Hyper-V?
  • Trim Azure VHD dimensione in Windows 2008
  • Crea VM su Azure con un VHD esistente
  • Come devo convertire un disco fisico in un VHD per l'utilizzo con VirtualPC?
  • 2 Solutions collect form web for “Quali sono le possibili ragioni per cui Hyper-V non può compattare un VHD?”

    Rimuovere le copie shadow dall'ospite. Lo farà!

     vssadmin delete shadows /all 

    Nell'interesse del consolidamento di ricerca su Internet: Finalmente ha trovato questo collegamento come un approccio che ha funzionato quando HyperV compact non ha fatto: https://fiddley.wordpress.com/2014/01/27/dynamicamente-expanding-vhd-not-compacting- in-iper-v /

    Nel prompt dei comandi di amministratore, eseguire DISKPART

    Al prompt dei comandi DISKPART

     select vdisk File=”I:\path\to\your.vhd” attach vdisk readonly compact vdisk detach vdisk 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.