KVM VMs backed by qcow2 image can be live resized with the virsh blockresize command.Example, we had a VM with only 10 GB root disk:[rootVM ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS vda 252:0 0 10G 0 disk ├─vda1 252:1 0 1M 0 part ├─vda2 252:2 0 200M 0 part /efi │ /boot/efi ├─vda3 252:3 0 1G 0 part /boot └─vda4 252:4 0 8.8G 0 part /From the hypervisor, we then resized the qcow2 image:[roothypervisor ~]## virsh blockresize VMname /path/to/image.qcow2 128G Block device /path/to/image.qcow2 is resizedthen back in the VM, we could immediately see that the disk is now the new size:[rootVM ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS vda 252:0 0 128G 0 disk ├─vda1 252:1 0 1M 0 part ├─vda2 252:2 0 200M 0 part /efi │ /boot/efi ├─vda3 252:3 0 1G 0 part /boot └─vda4 252:4 0 8.8G 0 part /and then file system could be resized by growing partition and file system:[rootVM ~]# growpart /dev/vda 4 CHANGED: partition4 start2510848 old: size18460639 end20971486 new: size265924575 end268435422 [rootVM ~]# xfs_growfs /dev/vda4 meta-data/dev/vda4 isize512 agcount4, agsize576895 blks sectsz512 attr2, projid32bit1 crc1 finobt1, sparse1, rmapbt0 reflink1 bigtime1 inobtcount1 nrext640 data bsize4096 blocks2307579, imaxpct25 sunit0 swidth0 blks naming version 2 bsize4096 ascii-ci0, ftype1 log internal log bsize4096 blocks16384, version2 sectsz512 sunit0 blks, lazy-count1 realtime none extsz4096 blocks0, rtextents0 data blocks changed from 2307579 to 33240571 [rootVM ~]# df -h / Filesystem Size Used Avail Use% Mounted on /dev/vda4 127G 8.6G 119G 7% /We were probably lucky in that this was the last partition. Guess it wouldn’t have been that easy to resize the earlier partitions…