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:

  • Crea VM su Azure con un VHD esistente
  • Come convertire un file HDD VMWare VMDK in un file HyperV VHD?
  • Come utilizzare sysprep per un vhd
  • Latenza del disco all'interno di una macchina virtuale
  • Azionamento temporaneo non condiviso di Hyper-V 2012 R2 Condivisione condivisa
  • Come avviare più copie di un VM in Hyper-V?
    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.

  • Migrazione da Hyper-V a ESXi
  • APCUPSD e Hyper V R2
  • Disk2VHD e Hyper-V
  • Come posso riservare la RAM sulla partizione host Hyper-V 2012 solo per i VM?
  • Nagios XI Server Virtuale su Hyper-V - Networking
  • Hyper-V su 2012R2 HyperV Edition o 2008R2 Standard Edition?
  • 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.