Shrink di un disco qcow2 (https://pve.proxmox.com/wiki/Shrink_Qcow2_Disk_Files ):
La VM deve avere:
- il disco virtuale in formato Thin
- il controller Virtio-SCSI
- l'opzione "discard" abilitata
- l'opzione "SSD emulation" abilitata (perché Windows sia in grado di abilitare i comandi TRIM)
In Linux il comando "fstrim -av
" esegui il trim dell'unità, passando quindi a Proxmox l'informazione di quali siano i blocchi da liberare
In Windows esegui il comando "fsutil behavior query DisableDeleteNotify
" per verificare che non sia disabilitato il trim; se lo è esegui il comando "fsutil behavior set DisableDeleteNotify 0
"
Se nonostante questi accorgimenti il file del disco virtuale risulta comunque troppo grosso rispetto al reale spazio occupato passiamo allo shrink manuale.
- Preparazione del disco all'interno della VM
Windows:
- scarica SDelete dal sito Micro$oft, scompatta e apri un prompt dei comandi in quella cartella
- esegui il comando "sdelete -z lettera_di_unità", per esempio "
sdelete -z C:
" (potrebbe impiegare moltissimo tempo)
Linux:
dd if=/dev/zero of=/tmp/zerofile ; rm -f /tmp/zerofile
(potrebbe impiegare moltissimo tempo)
- Riduzione del file (shrink)
- Arresta la VM
- Collegati in ssh all'host Proxmox
- spostati all'interno della directory in cui è presente il disco di cui fare lo shrink, per esempio /mnt/pve/[nome_storage]/images/[id_vm]/
- esegui il comando "
qemu-img convert -O qcow2 nome_disco.qcow2
nome_disco_shrink.qcow2
" (potrebbe impiegare moltissimo tempo) - esegui il comando "
mv nome_disco.qcow2 nome_disco_backup.qcow2 ; mv nome_disco_shrink.qcow2 nome_disco.qcow2
"
- Avvio e pulizia
- Avvia la VM e verifica che funzioni ancora tutto, assamai...
- elimina il file nome_disco_backup.qcow2
Pacca sula spalla per aver liberato un sacco di spazio ;-)
Commenti offerti da CComment