Gibt es eine Möglichkeit, das qcow2-Bild zu verkleinern, ohne es roh zu konvertieren?

12

Gibt es eine Möglichkeit, das qcow2-Bild zu verkleinern, ohne es roh zu konvertieren?

Ich kann es nicht in Raw konvertieren, da nicht genügend Speicherplatz für Raw-Images vorhanden ist.

SIE
quelle

Antworten:

17

Die Noop-Konvertierung (qcow2-zu-qcow2) entfernt spärlichen Speicherplatz:

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

Sie können auch versuchen -c, dem Ausgabebild die Komprimierung ( ) hinzuzufügen :

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

Stellen Sie sicher, dass Sie die VM herunterfahren, bevor Sie den obigen Befehl ausführen. Nachdem Sie mit dem Ergebnis zufrieden sind, können Sie shrunk.qcow2 in den ursprünglichen Namen umbenennen, den Ihre VM-Konfiguration wünscht.

SZ Quadri
quelle
3
Das Flag -c in qemu-img convert -c -O dient zur Komprimierung, nicht zum Verkleinern ... und kann die Festplattengeschwindigkeit verringern ...
Anton Anikin
Dadurch wird jedoch eine zweite Datei erstellt, sodass Sie doppelt so viel freien Speicherplatz benötigen wie das Bild? Gibt es eine Möglichkeit, es an Ort und Stelle zu verkleinern?
Endolith
5

Versuchen Sie es virt-sparsify- es füllt die nicht verwendeten Blöcke im Bild auf Null und dedupliziert dann die Nullen.

dyasny
quelle
Vielen Dank für Ihre Antwort, aber virt-sparsify sagte, dass es die Größe von Festplattenabbildern nicht ändern kann, und ich fand virt-resize daraus, aber es sieht so aus, als müsste ich noch Speicherplätze zum Erweitern zuweisen (ich habe nicht genügend Speicherplätze auf meiner Festplatte). Wie auch immer, vielen Dank für Ihre Informationen.
SIE
2
@YOU Aktuelle Versionen von virt-sparsify können direkt funktionieren, ohne Speicherplatz für eine vollständige Kopie des Disk-Images zuzuweisen.
Michael Hampton