C'è un modo per ridurre l'immagine di qcow2 senza convertirla grezza?


12

C'è un modo per ridurre l'immagine di qcow2 senza convertirla grezza?

Non riesco a convertirlo in raw perché non ho abbastanza spazio su disco per l'immagine raw.

Risposte:


17

La conversione Noop (qcow2-in-qcow2) rimuove lo spazio scarso:

qemu-img convert -O qcow2 source.qcow2 shrunk.qcow2

Puoi anche provare ad aggiungere la compressione ( -c) all'immagine di output:

qemu-img convert -c -O qcow2 source.qcow2 shrunk.qcow2

Prima di eseguire il comando sopra assicurarsi di arrestare la VM. Dopo essere soddisfatto del risultato, è possibile rinominare shrunk.qcow2 con il nome originale desiderato dalla configurazione della VM.


3
il flag -c in qemu-img convert -c -O è per la compressione, non si riduce ... e può ridurre la velocità del disco ...
Anton Anikin

Questo crea un secondo file, quindi, hai bisogno del doppio dello spazio libero dell'immagine? C'è un modo per ridurlo sul posto?
endolith,

6

Prova virt-sparsify: riempie zerofillando i blocchi non utilizzati nell'immagine e quindi deduplica gli zeri.


Grazie per la risposta, ma virt-sparsify ha detto che non è possibile ridimensionare le immagini del disco e ho trovato virt-resize da quello, ma sembra che abbia ancora bisogno di allocare spazi per espandersi (che non ho abbastanza spazi sul mio disco rigido). Comunque, grazie mille per le informazioni.
SEI

2
@YOU Le attuali versioni di virt-sparsify possono funzionare sul posto senza allocare spazio per una copia completa dell'immagine del disco.
Michael Hampton

0

Io uso virt-sparsify:

virt-sparsify /path/to/source.qcow2 --compress /path/to/output.qcow2
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.