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.