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 :
[pastacode lang= »bash » message= » » highlight= » » provider= »manual »]
apt-get install libguestfs-tools
[/pastacode]
2 – create new volume
First see what are your pools :
[pastacode lang= »bash » message= » » highlight= » » provider= »manual »]
virsh pool-list
[/pastacode]
Result :
[pastacode lang= »bash » message= » » highlight= » » provider= »manual »]
Nom État Démarrage automatique
-------------------------------------------
2to actif yes
isos actif yes
[/pastacode]
I want use the pool named « 2to ».
Create the new volume on the « 2to » pool with virsh:
[pastacode lang= »bash » message= » » highlight= » » provider= »manual »]
virsh vol-create-as --format qcow2 2to win7homepremium.qcow2 15G
[/pastacode]
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 :
[pastacode lang= »bash » message= » » highlight= » » provider= »manual »]
virsh dumpxml win7 | grep source
[/pastacode]
« win7″ is my guestname.
Output is :
[pastacode lang= »markup » message= » » highlight= » » provider= »manual »]
[/pastacode]
See the partitions :
[pastacode lang= »bash » message= » » highlight= » » provider= »manual »]
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 -
[/pastacode]
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 :
[pastacode lang= »bash » message= » » highlight= » » provider= »manual »]
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.
[/pastacode]
At this point you have a new 15GB volume, check the partitions :
[pastacode lang= »bash » message= » » highlight= » » provider= »manual »]
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 -
[/pastacode]
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.