Достаточно часто возникает необходимость изменить размер диска виртуальной машины — ну не рассчитали при создании образа диска. Тут есть два способа:
- создать новый образ диска, отформатировать его и подключить к виртуальной машине с помощью команд virsh attach-disk или qemu attach-disk
- изменить размер диска непосредственно в образе виртуальной машины.
Второй способ более естественный и безболезненный в смысле производительности. При изменении размера диска виртуальной машины KVM она должна быть выключена!!!
Изменение производится одной командой
sudo qemu-img resize /path/to/disk +disk_sizeG
где /path/to/disk — путь до образа диска;
disk_size — числа, на который увеличивается или уменьшается (тогда — вместо +) размер диска;
G — единица измерения — гигабайт. Можно изменить размер диска на disk_size мегабайт — тогда M.
В результате работы этой команды в конце диска образа виртуальной машины KVM появляется disk_size гигабайт (или мегабайт) свободного, нараспределенного дискового пространства. Можно загрузить виртуальную машину и создать дополнительный раздел при помощи fdisk или parted, можно увеличить размер разделов при помощи parted.
В принципе все это можно сделать и на хосте, подключив диск при помощи NBD, с помощью тех-же fdisk или parted.
parted /dev/nbd0
Таким образом можно изменять размер дисков в формате qcow2 и raw (можно еще и в qcow, но этот формат практически не используется).