Чи є спосіб зменшити зображення qcow2, не перетворюючи його на сирий?


12

Чи є спосіб зменшити зображення qcow2, не перетворюючи його на сирий?

Я не можу перетворити його на сирий, тому що у мене недостатньо місця на диску для неочищеного зображення.

Відповіді:


17

Перетворення Noop (qcow2-to-qcow2) видаляє рідкий простір:

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

Ви також можете спробувати додати компресію ( -c) до вихідного зображення:

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

Перш ніж запустити команду вище, переконайтесь, що вимкнено VM. Після того як ви будете задоволені результатом, ви можете перейменувати shrunk.qcow2 в оригінальне ім'я, яке хоче налаштувати VM.


3
прапор -c в qemu-img convert -c -O призначений для стиснення, а не зменшення ... і це може знизити швидкість диска ...
Антон Анікін

Однак це створює другий файл, тож вам потрібно вдвічі більше вільного простору, ніж зображення? Чи є спосіб зменшити його на місці?
ендоліти

6

Спробуйте virt-sparsify- це заповнить невикористані блоки на зображенні, а потім підведеть нулі.


Дякую за вашу відповідь, але virt-sparsify сказав, що він не може змінити розмір зображень диска, і я знайшов virt-розмір від цього, але виглядає так, що мені все-таки потрібно виділити пробіли для розширення (що у мене на жорсткому диску недостатньо місця). У будь-якому випадку, дуже дякую за інформацію.
ВИ

2
@YOU Поточні версії virt-sparsify можуть працювати на місці, не виділяючи місця для повної копії образу диска.
Майкл Хемптон

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.