Есть ли способ уменьшить изображение qcow2, не преобразовав его в сыром виде?


12

Есть ли способ уменьшить изображение qcow2, не преобразовав его в сыром виде?

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

Ответы:


17

Циклическое преобразование (qcow2-to-qcow2) удаляет разреженное пространство:

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

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

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

Перед выполнением вышеуказанной команды обязательно выключите ВМ. После того, как вы удовлетворены результатом, вы можете переименовать shrunk.qcow2 в оригинальное имя, которое хочет ваша конфигурация VM


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

Тем не менее, создается второй файл, поэтому вам нужно вдвое больше свободного места, чем на изображении? Есть ли способ уменьшить его на месте?
эндолиты

6

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


Спасибо за ваш ответ, но virt-sparsify сказала, что не может изменить размер образов дисков, и я обнаружил, что virt-resize из этого, но похоже, что мне все еще нужно выделять места для расширения (что на жестком диске недостаточно места). В любом случае, большое спасибо за информацию.
ВЫ

2
@YOU Текущие версии virt-sparsify могут работать на месте без выделения места для полной копии образа диска.
Майкл Хэмптон

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.