Expanding LVM partitions for Linux VMs in production (without any downtime)

On most modern virtualised systems, you can easily increase your Linux guest’s root partition in-place without any downtime.

Step 1: expand the virtual disk

In Hyper-V, VMWare or whatever hypervisor you use.

Step 2: rescan the block device

Note: You should be root for the rest of this tutorial.

echo 1 > /sys/block/sda/device/rescan

Step 3: parted


parted /dev/sda

and choose


(for print) and then:


Resize the partition (e.g. for sda3, type 3)

resizepart 3 100%

Quit parted:



“pv” means PhysicalVolume. Expand it to 100% (no parameters means max available):

pvresize /dev/sda3


Find out what your root partition is:

sudo lvdisplay -C -o "lv_path" | grep root

Now expand the LogicalVolume and the filesystem. The -r flag just means resizefs.

lvextend -l +100%FREE -r /dev/rhel_web2-lon/root


Check if your changes worked:

df -h


Credit to TobiasJ on AskUbuntu for a solid original answer (here) which has helped me many times in the past. This post is slightly adapted for RedHat specifically but very little is different for most other distros, as long as you’re using LVM.