Decide on how you wish to expand the guest. Run virt-df -h and virt-list-partitions -lh on the guest disk, as shown in the following output:
# virt-df -h /dev/vg_kvm/kvm7
Filesystem Size Used Available Use%
/dev/vg_kvm/kvm7:/dev/sda1 484.2M 48.8M 410.4M 11%
/dev/vg_kvm/kvm7:/dev/sda3 2.5G 1.3G 25.4G 5%
# virt-list-partitions -lh /dev/vg_kvm/kvm7
/dev/sda1 ext4 500.0M
/dev/sda2 swap 1.0G
/dev/sda3 ext4 2.5G
This example we will increase the size of /dev/sda3 to 30G
1. Shutdown guest
2. Rename the original disk for the backup purpose, for lvm use lvrename command, for file use 'mv' command
# lvrename /dev/vg_kvm/kvm7 /dev/vg_kvm/kvm7.backup
Renamed "kvm7" to "kvm7.backup" in volume group "vg_kvm"
3. Create new disk
# lvcreate -L 30G -n kvm7 vg_kvm
Logical volume "kvm7" created
4. Now resize the /dev/sda3, refer to virt-resize man for detail.
# virt-resize \
/dev/sda1: partition will be left alone
/dev/sda2: partition will be left alone
/dev/sda3: partition will be resized from 2.5G to 28.5G
Copying /dev/sda1 ... done
Copying /dev/sda2 ... done
Copying /dev/sda3 ... done
Parition /dev/sda3 contains a filesystem or LVM PV, then this content is not automatically resized. You can resize it afterwards either using guestfish(1) (offline) or using commands inside the guest (online resizing).
Here we resize the filesystem using guestfish
[root@kvm ~]# guestfish -a /dev/vg_kvm/kvm7
Welcome to guestfish, the libguestfs filesystem interactive shell for
editing virtual machine filesystems.
Type: 'help' for help with commands
'quit' to quit the shell
> run
> resize2fs /dev/sda3
libguestfs: error: resize2fs: resize2fs 1.41.12 (17-May-2010)
Please run 'e2fsck -f /dev/vda3' first.
> e2fsck-f /dev/sda3
> resize2fs /dev/sda3
> exit
[root@kvm ~]# virt-df -h sl6-5
Filesystem Size Used Available Use%
sl6-5:/dev/sda1 484.2M 48.8M 410.4M 11%
sl6-5:/dev/sda3 28.1G 1.3G 25.4G 5%
Try to boot the virtual machine. If it works you can delete the backup disk.
# lvchange -an vg_kvm/kvm7.backup
# lvremove vg_kvm/kvm7.backup
Logical volume "kvm7.backup" successfully removed
# virt-df -h /dev/vg_kvm/kvm7
Filesystem Size Used Available Use%
/dev/vg_kvm/kvm7:/dev/sda1 484.2M 48.8M 410.4M 11%
/dev/vg_kvm/kvm7:/dev/sda3 2.5G 1.3G 25.4G 5%
# virt-list-partitions -lh /dev/vg_kvm/kvm7
/dev/sda1 ext4 500.0M
/dev/sda2 swap 1.0G
/dev/sda3 ext4 2.5G
This example we will increase the size of /dev/sda3 to 30G
1. Shutdown guest
2. Rename the original disk for the backup purpose, for lvm use lvrename command, for file use 'mv' command
# lvrename /dev/vg_kvm/kvm7 /dev/vg_kvm/kvm7.backup
Renamed "kvm7" to "kvm7.backup" in volume group "vg_kvm"
3. Create new disk
# lvcreate -L 30G -n kvm7 vg_kvm
Logical volume "kvm7" created
4. Now resize the /dev/sda3, refer to virt-resize man for detail.
# virt-resize \
/dev/vg_kvm/kvm7.backup /dev/vg_kvm/kvm7 \
--expand /dev/sda3
Summary of changes:/dev/sda1: partition will be left alone
/dev/sda2: partition will be left alone
/dev/sda3: partition will be resized from 2.5G to 28.5G
Copying /dev/sda1 ... done
Copying /dev/sda2 ... done
Copying /dev/sda3 ... done
Parition /dev/sda3 contains a filesystem or LVM PV, then this content is not automatically resized. You can resize it afterwards either using guestfish(1) (offline) or using commands inside the guest (online resizing).
Here we resize the filesystem using guestfish
[root@kvm ~]# guestfish -a /dev/vg_kvm/kvm7
Welcome to guestfish, the libguestfs filesystem interactive shell for
editing virtual machine filesystems.
Type: 'help' for help with commands
'quit' to quit the shell
>
>
libguestfs: error: resize2fs: resize2fs 1.41.12 (17-May-2010)
Please run 'e2fsck -f /dev/vda3' first.
>
>
>
[root@kvm ~]# virt-df -h sl6-5
Filesystem Size Used Available Use%
sl6-5:/dev/sda1 484.2M 48.8M 410.4M 11%
sl6-5:/dev/sda3 28.1G 1.3G 25.4G 5%
Try to boot the virtual machine. If it works you can delete the backup disk.
# lvchange -an vg_kvm/kvm7.backup
# lvremove vg_kvm/kvm7.backup
Logical volume "kvm7.backup" successfully removed