How to increase disk size for KVM virtual machine
This article explains the detailed steps to increase disk size for KVM virtual machine through command line.
Step1: Login to the node server via ssh as root.
Step2: Get the name of the virtual machine.
#virsh list
Id Name State
-----------------------
1 test running
Step3: Stop the virtual machine.
#virsh shutdown test
It will take some time to complete the shutdown and we can check the state after few mins.
Step4: Identify the disk path for the virtual machine.
#virsh domblklist test
Target Source
-----------------------------------------------
vda /var/lib/libvirt/images/test.qcow2
sda -
Step5: Check for snapshots. Because qemu-img can’t resize an image which has snapshots.
#virsh snapshot-list test
Name Creation Time State
--------------------------------------------------
snapshot1 2020-12-22 04:02:25 +0300 shutoff
Step6: Remove the snapshots. If there is no snapshots, we can ignore this step.
#virsh snapshot-delete --domain test --snapshotname snapshot1
Domain snapshot snapshot1 deleted
Step7: Extend the virtual machine disk.
#qemu-img resize /var/lib/libvirt/images/test.qcow2 +10G
Step8: Start the virtual machine.
#virsh start test
Domain test started
Step9: Login the virtual machine as root.
Step10: Check your new disk layout.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 252:0 0 40G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 29G 0 part
├─rhel-root 253:0 0 26.9G 0 lvm /
└─rhel-swap 253:1 0 2.1G 0 lvm [SWAP]
Step11: Install cloud utils for getting growpart command. If the command is already installed, we can skip this step.
For Debian systems,
#apt install cloud-guest-utils
For Centos/Redhat systems,
#yum -y install cloud-utils-growpart
Step12: Extend the partition.
#growpart /dev/vda 2
CHANGED: partition=2 start=2099200 old: size=18872320 end=20971520 new: size=60815327,end=62914527
Please note that here all the command aruguments are given as per our current system. This need to be replaced with the corresponding values of real environment.
That's all…