Guest Disk Resize SOP
Resize disks in our kvm guests
Contact Information
- Owner
-
Fedora Infrastructure Team
- Contact
-
#fedora-admin, sysadmin-main
- Location
-
PHX, Tummy, ibiblio, Telia, OSUOSL
- Servers
-
All xen servers, kvm/libvirt servers.
- Purpose
-
Resize guest disks
How to do it
KVM/libvirt Guests
-
- SSH to the kvm server and resize the guest’s logical volume. If you
-
want to be extra careful, make a snapshot of the LV first: +
lvcreate -n [guest name]-snap -L 10G -s /dev/VolGroup00/[guest name]
+ Optional, but always good to be careful . Shutdown the guest:
+
sudo virsh shutdown [guest name]
-
Disable the guests lv:
lvchange -an /dev/VolGroup00/[guest name]
-
Resize the lv:
lvresize -L [NEW TOTAL SIZE]G /dev/VolGroup00/[guest name] or lvresize -L +XG /dev/VolGroup00/[guest name] (to add X GB to the disk)
-
Enable the lv:
lvchange -ay /dev/VolGroup00/[guest name]
-
Bring the guest back up:
sudo virsh start [guest name]
-
Login into the guest:
sudo virsh console [guest name] You may wish to boot single user mode to avoid services coming up and going down again
-
On the guest, run:
fdisk /dev/vda
-
Delete the the LVM partition on the guest you want to add space to and recreate it with the maximum size. Make sure to set its type to LV (8e):
p to list partitions d to delete selected partition n to create new partition (default values should be ok) t to change partition type (set to 8e) w to write changes
-
Run partprobe:
partprobe
-
Check the size of the partition:
fdisk -l /dev/vdaN
If this still reflects the old size, then reboot the guest and verify that its size changed correctly when it comes up again.
-
Login to the guest again, and run:
pvresize /dev/vdaN
-
A vgs should now show the new size. Use lvresize to resize the root lv:
lvresize -L [new root partition size]G /dev/GuestVolGroup00/root (pvs will tell you how much space is available)
-
Finally, resize the root partition:
resize2fs /dev/GuestVolGroup00/root (If the root fs is ext4) or xfs_growfs /dev/GuestVolGroup00/root (if the root fs is xfs)
verify that everything worked out, and delete the snapshot you made if you made one.