Есть ли способ уменьшить изображение 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

SZ Quadri
источник
3
флаг -c в qemu-img convert -c -O предназначен для сжатия, а не для сжатия ... и может снизить скорость диска ...
Антон Аникин
Тем не менее, создается второй файл, поэтому вам нужно вдвое больше свободного места, чем на изображении? Есть ли способ уменьшить его на месте?
эндолиты
6

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

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

Я использую virt-sparsify:

virt-sparsify /path/to/source.qcow2 --compress /path/to/output.qcow2
Мохамед Эльбахья
источник