Skip to content
LINUX4EVER
  • Home
  • Categorie
    • Server
    • Sicurezza
    • Software
    • Sistema
    • Utility
    • Virtualizzazione
  • Comandi Unix/Linux
    • Comandi sui file
    • Gestione processi
    • Permessi file
    • SSH
  • Statistiche Server
  • Search Icon

LINUX4EVER

Riduzione (shrink) dei file immagine disco Qcow2 (QEMU-KVM)

Riduzione (shrink) dei file immagine disco Qcow2 (QEMU-KVM)

18 Maggio 2022 V3n0m

Nel tempo i file del disco *.qcow2 di un guest possono diventare più grandi dei dati effettivi archiviati al loro interno, ciò accade perché il sistema operativo guest normalmente contrassegna solo un file eliminato come zero, non viene effettivamente eliminato (motivi di prestazioni), quindi il relativo file qcow2 non è in grado di distinguere tra memoria allocata utilizzata e memoria allocata non utilizzata.

Per ridurre i file *.qcow2 hai due opzioni, abilitare il supporto TRIM, oppure azzerare tutto lo spazio libero delle partizioni contenute nel guest e quindi riconvertire l’immagine con qemu-img.

AVVISO IMPORTANTE: prima di procedere con qualsiasi comando fai sempre dei backup dei file *.qcow2; non si sa mai!

Preparazione del guest Linux

Questi passaggi vengono tutti eseguiti all’interno del GUEST.
Sul guest Linux utilizzare uno dei seguenti metodi per azzerare il disco.
Metodo 1

sudo fstrim -v /

Metodo 2

sudo dd status=progress if=/dev/zero of=/mytempfile

Al termine dell’esecuzione del comando, ci potrebbe volere del tempo, cancellare il file mytempfile precedentemente generato con “dd”.

sudo rm -f /mytempfile

Preparazione del guest Windows

  • Deframmenta le unità del tuo guest Windows utilizzando il programma di deframmentazione integrato o uno di terze parti (es. Defraggler o UltraDefrag).
  • Scarica SDelete e salvalo da qualche parte sul tuo sistema (es. C:\windows\system32).
  • Azzera lo spazio libero usando SDelete.

Apri un prompt dei comandi ed esegui SDelete per azzerare lo spazio libero:

sdelete -z c:

Se hai più partizioni, per esempio E:\ usa:

sdelete -z e:

Shrink dei file immagine Disco

Questi passaggi vengono tutti eseguiti all’interno del HOST.
Spegnere la Virtual Machine ed aprite un terminale, eseguire i seguenti comandi.
Per ottenere un’immagine disco compressa utilizzate il seguente comando:

qemu-img convert -O qcow2 -c immagine.qcow2 immagine_compressa.qcow2

Opzione -c per la compressione dell’immagine.

Mentre se non si desidera comprimere l’immagine:

qemu-img convert -O qcow2 immagine.qcow2 nuova_immagine.qcow2

Nel caso sia stata creata un’immagine compressa, di dimensioni molto inferiori, pertanto più idonea ad essere archiviata o trasferita e la si voglia decomprimere usare il seguente comando:

qemu-img convert -O qcow2 immagine_compressa.qcow2 nuova_immagine.qcow2

Nella sottostante immagine i tre stati, normale, shrinkato compresso e per ultimo decompresso, con le relative dimensione espresse in Gigabyte dei dischi virtuali qcow2:

Fig. 01: differenza espressa in Gigabyte delle dimensione dei files qcow2, prima, durante e dopo il ridimensionamento.

Avvia la tua Virtual Machine e verifica che tutto funzioni.

Quando hai verificato che tutto è a posto puoi anche eliminare il backup del disco originale, oppure spostarlo in un archivio di backup offline.


Comandi, Server, Sistema, Utility, Virtualizzazione
hypervisor, Kernel-based Virtual Machine, qcow2, qemu-kvm, shrink, shrink virtual disk, virtualizzazione

Post navigation

PREVIOUS
Installare ed usare WPScan su Ubuntu 22.04
NEXT
Preload come accelerare il caricamento delle applicazioni
Comments are closed.

Ultimi articoli

Ubuntu 20.04 tornare alla configurazione di rete /etc/network/interfaces

Preload come accelerare il caricamento delle applicazioni

Archivi

  • Maggio 2022
  • Marzo 2022

Categorie

  • Comandi (2)
  • Configurazione (5)
  • Server (5)
  • Sicurezza (1)
  • Sistema (7)
  • Software (2)
  • Utility (3)
  • Virtualizzazione (2)
© 2025   Copyleft All Rights Reversed
Click to Copy