Czy jest jakiś sposób, aby zmniejszyć obraz qcow2 bez konwersji go na surowo?

12

Czy jest jakiś sposób, aby zmniejszyć obraz qcow2 bez konwersji go na surowo?

Nie mogę przekonwertować go na raw, ponieważ nie mam wystarczającej ilości miejsca na dysku dla surowego obrazu.

TY
źródło

Odpowiedzi:

17

Konwersja Noop (qcow2-na-qcow2) usuwa rzadkie spacje:

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

Możesz także spróbować dodać kompresję ( -c) do obrazu wyjściowego:

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

Przed uruchomieniem powyższej komendy należy wyłączyć maszynę wirtualną. Po uzyskaniu zadowalającego wyniku możesz zmienić nazwę pliku shrunk.qcow2 na pierwotną nazwę, jakiej chce konfiguracja maszyny wirtualnej.

SZ Quadri
źródło
3
Flaga -c w qemu-img convert -c -o kompresji, nie kurczą się ... a może to zmniejszyć prędkość dysku ...
Anton Anikin
Tworzy to jednak drugi plik, więc potrzebujesz dwa razy więcej wolnego miejsca niż obraz? Czy istnieje sposób, aby zmniejszyć go w miejscu?
endolith
6

Spróbuj virt-sparsify- wypełni zero nieużywanych bloków na obrazie, a następnie deduplikuje zera.

dyasny
źródło
Dziękuję za odpowiedź, ale virt-sparsify powiedział, że nie może zmienić rozmiaru obrazów dysków i znalazłem virt-resize z tego, ale wygląda na to, że wciąż muszę przydzielić miejsca do rozszerzenia (że nie mam wystarczającej ilości miejsca na dysku twardym). W każdym razie dziękuję bardzo za informacje.
TY
2
@YOU Obecne wersje virt-sparsify mogą działać w miejscu bez przydzielania miejsca na pełną kopię obrazu dysku.
Michael Hampton
0

Używam virt-sparsify:

virt-sparsify /path/to/source.qcow2 --compress /path/to/output.qcow2
Mohamed Elbahja
źródło