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. Однако это, вероятно, окажет некоторое влияние на производительность, но, вероятно, только во время запуска и начальной загрузки служб.