Sim, você precisa usar virsh blockresize
para notificar o convidado sobre a mudança.
A sintaxe deve ser algo como:
virsh blockresize INSTANCE_NAME --path /dev/vg/guest --size NEWSIZEG
Eu tenho um convidado Linux que usa um volume LVM diretamente como sistema de arquivos raiz (ou seja, não há tabela de partições). libvirt config parece assim:
<os>
<type arch='x86_64' machine='rhel6.4.0'>hvm</type>
<kernel>/boot/vmlinuz-X.Y.Z.el6.x86_64</kernel>
<initrd>/boot/initramfs-X.Y.Z.el6.x86_64.img</initrd>
<cmdline>console=ttyS0 root=/dev/vda</cmdline>
<boot dev='hd'/>
</os>
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none' io='native'/>
<source dev='/dev/vg/guest'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</disk>
De dentro do convidado:
$ mount
/dev/vda on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
É possível redimensionar a partição raiz do convidado sem reiniciar o convidado? Apenas fazer lvextend no host e resize2fs do convidado não parece ser suficiente.
Sim, você precisa usar virsh blockresize
para notificar o convidado sobre a mudança.
A sintaxe deve ser algo como:
virsh blockresize INSTANCE_NAME --path /dev/vg/guest --size NEWSIZEG
Tags lvm kvm-virtualization