Я пытаюсь получить виртуальный размер qcow2
контейнер вниз, чтобы он мог поместиться в версии openstack с диском 10 ГБ.
root@node-10:~# qemu-img info zztop.qcow
image: zztop.qcow
file format: qcow2
virtual size: 80G (85899345920 bytes)
disk size: 2.6G
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
Я следую за гидом Вот и заполните конец диска нулями, затем запустите qemu-img convert -O qcow2
. Однако полученный qcow2 сохраняет тот же размер диска и виртуальный размер.
Как уменьшить виртуальный размер qcow2, чтобы он мог поместиться в версии openstack размером менее 80 ГБ?
Если вы хотите уменьшить виртуальный размер, вам нужно использовать virt-resize
qemu-img convert -O raw guest.img guest.raw
qemu-img resize guest.raw 3G
qemu-img convert -O qcow2 -o compat=0.10 guest.raw guest.img
Улучшенный ответ @ user370956
Мне удалось успешно уменьшить фактический размер моего изображения с 5,9 ГБ до 3,5 ГБ, а также размер v.
cp guest.img quest.backup
qemu-img convert -O raw guest.img guest.raw
-cdrom
и ваш guest.raw
установлен как -drive
qemu-system-x86_64 -machine type=pc,accel=kvm -boot order=d -drive file=guest.raw,format=raw -cdrom ~/Downloads/debian-live-9.6.0-amd64-lxde.iso -m 2G
fsck -a
qemu-img resize guest.raw 3G
qemu-img convert -O qcow2 guest.raw guest.img
qemu-img resize guest.img +1G
Манипулирование только со стороны хоста может привести к повреждению гостевой файловой системы.
Итак, чтобы завершить этот ответ, перед любыми изменениями с хоста вам необходимо изменить размеры разделов хранилища виртуальной машины с помощью инструментов разделения, таких как gparted
изнутри ВМ. Таким образом, общий размер виртуального диска становится меньше желаемого размера виртуальной памяти. После этого вы можете проделать первые 3 шага.
1 - Отключить файл подкачки в fstab, если он есть
2 - Установите gparted на компакт-диск виртуальной машины
3 - запустите виртуальную машину, загрузите gparted и уменьшите размер раздела
4 - Удалите раздел подкачки и создайте заново или убедитесь, что все разделы выровнены рядом друг с другом в начале диска. У меня были проблемы с тем, что своп находился в конце диска после сжатия раздела, так что это было исправление.
5 - выключить ВМ
6 - Найдите файл qcow2 и в том же каталоге запустите qemu-img create -f qcow2 -o preallocation = metadata new-disk.qcow2 80G (где 80G - новый размер диска)
7 - используйте virt-resize - 'virt-resize old-disk.qcow2 new-disk.qcow2'
8 - copt new-disk, чтобы исправить имя файла для виртуальной машины, запустить виртуальную машину и повторно включить подкачку, например: 'swapon / dev / sda5'
9 - отредактируйте fstab, чтобы добавить подкачку, то есть: '/ dev / sda5 swap swap swap defaults 0 0'
СДЕЛАНО.