Заявка в АРК Технолоджис
(812)974.06.35
О компании archive.arctech.ru

Linux, libvirt: уменьшение размера виртуального диска libvirtd (kvm)

Linux, libvirt: уменьшение размера виртуального диска libvirtd (kvm)

Увеличить виртуальный диск очень просто:

qemu-img resize image.qcow2 +20G

Однако уменьшение размера диска оказалось более сложной операцией. Один из вариантов которой здесь и описан.

Попытка использовать для УМЕНЬШЕНИЯ размера виртуального блочного устройства 
virsh blockresize 
или
qemu-img resize image.img -20G
заканчивалась сообщением, что данная возможность пока не реализована. 

Ниже описано, как уменьшить размер виртуального диска с помощью virt-resize, хотя это - не единственный способ. 
Заходим в ВМ и;

  • - удаляем с виртуального диска неиспользуемые пакеты и  данные;  
  • - уменьшаем размеры партиций; 
  • - удаляем ненужные партиции, например - swap.

После освобождения части виртуального диска останавливаем ВМ изнутри:
shutdown -h -P now 

или снаружи:
virsh destroy domain | virsh shutdown domain 

Если образ был "сырой":
qemu-img  convert -f raw -O qcow2 image.img image.qcow2

Создаем образ под меньший диск.
qemu-img create -f qcow2 -o size=<SIZE> image_new.qcow2

Убедитесь, что пакет libguestfs-tools у вас установлен:
dpkg -l libguestfs-tools

Наконец переносите виртуалку в новый образ:
virt-resize image.qcow2 image_new.qcow2

Вернуться в список статей