KVM снимок. Как посмотреть, что находится внутри файла qcow2?

Я использую формат файла qcow2 и создаю снимки с помощью графического интерфейса Virt-manager. Я предполагаю, что у меня есть 100 ГБ дискового пространства и 70% используется VM в данный момент. Размер файла qcow2 составляет около 70 ГБ. Я создаю снимок. Мы знаем, что он хранится внутри qcow2-файла. Через несколько дней размер файла qcow2 увеличился до 120 ГБ. ОК, мы понимаем, почему. Я удаляю этот снимок, но размер файла qcow2 не меняется!

"qemu-img info" не показывает мне снимки этого qcow2-файла! Как посмотреть, что находится внутри этого файла и как его очистить?

Я использовал "qemu-img convert", но внутри у меня такое ощущение, что это не самый лучший способ уменьшить размер файла.

2 ответа

qcow2изображения можно проверить и смонтировать с помощьюquemu-nbd.

      qemu-nbd --connect=/dev/nbd0 /path/to/your/vm-image.qcow2
fdisk /dev/nbd0 -l
mount /dev/nbd0p1 /mnt/your/mountpoint/

для просмотра/создания/удаления снимков используйтеqemu-img snapshot

например, чтобы перечислить доступные снимки

qemu-img snapshot -l /path/to/your/vm-image.qcow2

для проверки содержимого снимков смонтируйте снимок

qemu-nbd --connect=/dev/nbd0 /path/to/your/vm-image.qcow2 --load-snapshot=1

идентификатор снимка — это либо его идентификатор, либо имя

Чтобы уменьшить изображение, я бы предложил использовать virt-sparsify

export TMPDIR=/var/tmp/
virt-sparsify --check-tmpdir=continue <name>.qcow2 <name>_sparsed.qcow2

Убедитесь, что в TMPDIR достаточно места, иначе преобразование завершится сбоем.

Не используйте virt-sparsify при запуске образов виртуальных машин. Вы можете получить поврежденное изображение! (см человек)


Затем вы также можете использовать опцию сжатия (-c) конвертирования qemu-img. Однако это, вероятно, окажет некоторое влияние на производительность, но, вероятно, только во время запуска и начальной загрузки служб.

Другие вопросы по тегам