Today I had to resize a disk on a Vagrant VM that uses the libvirt provider. I was surprised how easy it was, and that no data has been lost.
As a reference for my future self and others, here’s what I did.
My VM uses the
fedora/30-cloud-base base box.
Stop the VM:
Resize the disk image file:
qemu-img resize ~/.local/share/libvirt/images/vagrant_default.img +100G
The image name depends on the VM. In the example above, we’re adding 100 GB to the existing size.
Boot the VM and update the partition table and filesystem:
vagrant up && vagrant ssh
echo ", +" | sudo sfdisk -N 1 /dev/vda --no-reread sudo partprobe sudo resize2fs /dev/vda1
The command above will be different depending on the existing partition scheme. In this example, we increase the first (and only) partition size to the maximum available size, and then resize the filesystem to match the new size.
My steps were adapted from the post Increasing a libvirt/KVM virtual machine disk capacity.