KVM – resize volume disk virt-manager – virt-resize
If you have install a new window 7 virtual machine to do some tests, very very quickly, you can have the same problem is had.
8 GB volume disk is not enough…
First boot of the vm, windows complains about space left, if you want to do updates, it’s too late 🙂
I used to be more virtualbox for my little needs, most for web test under several browser under native os. But, I’m not the oracle biggest fan, so go to kvm.
I use virt-manager to setup vms, and it’s very simple.
Now I want to resize my little volume, and have more space for my win7 test vm.
- install libguestfs-tools
- create a new volume
- resize
- add new volume
- …
- Profits !
1 – libguestfs-tools
In a terminal (konsole under kde) try virt-resize, if you don’t have it do :
apt-get install libguestfs-tools
2 – create new volume
First see what are your pools :
Result :
Nom État Démarrage automatique
-------------------------------------------
2to actif yes
isos actif yes
I want use the pool named « 2to ».
Create the new volume on the « 2to » pool with virsh:
virsh vol-create-as --format qcow2 2to win7homepremium.qcow2 15G
I choose to keep the qcow2 format, because the input volume is in qcow2.
3 – Resize
Take a look at the partitions in the current volume :
Search for the volume :
virsh dumpxml win7 | grep source
« win7 » is my guestname.
Output is :
<source file='/media/raid/vms/window7.qcow2'/>
<source network='default'/>
See the partitions :
virt-filesystems --long --parts --blkdevs -h -a /media/raid/vms/window7.qcow2
Name Type MBR Size Parent
/dev/sda1 partition 07 100M /dev/sda
/dev/sda2 partition 07 7,9G /dev/sda
/dev/sda device - 8,0G -
We need to resize the volume, but virt-resize copy input to output, and create a new partition with the extra space, we need to use –expand option on /dev/sda2 :
virt-resize --expand /dev/sda2 /media/raid/vms/window7.qcow2 /media/raid/vms/win7homepremium.qcow2
[ 0,0] Examining /media/raid/vms/window7.qcow2
**********
Summary of changes:
/dev/sda1: This partition will be left alone.
/dev/sda2: This partition will be resized from 7,9G to 14,9G. The
filesystem ntfs on /dev/sda2 will be expanded using the 'ntfsresize'
method.
**********
[ 4,0] Setting up initial partition table on /media/raid/vms/win7homepremium.qcow2
[ 4,0] Copying /dev/sda1
[ 4,0] Copying /dev/sda2
100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00
[ 28,0] Expanding /dev/sda2 using the 'ntfsresize' method
Resize operation completed with no errors. Before deleting the old disk,
carefully check that the resized disk boots and works correctly.
At this point you have a new 15GB volume, check the partitions :
virt-filesystems --long --parts --blkdevs -h -a /media/raid/vms/win7homepremium.qcow2
Name Type MBR Size Parent
/dev/sda1 partition 07 100M /dev/sda
/dev/sda2 partition 07 15G /dev/sda
/dev/sda device - 15G -
All good !
4 – Add the new volume with virt-manager
I know, I know, I can do the same with a better « sysadmin way » with my terminal, but hey, I’m not a terminal freak ^^
- Go to the vm details and create a new device with the right mouse clic:

- Select the second option : existing storage and « browse » (parcourir in french)

- Search/select your new create qcow2 volume, and confirm:

- last step you have to remove/delete old « Disk1 » because windows have some signature device conflit if you try to boot with both disks:

After that you can boot your vm and check disks :
I’ve to reboot windows7 the first boot after the resize, the finish install new device.

All good, new size ! I can do updates, and use my testing vm.
virt-resize complete doc