How to Extend LVM Partition with lvextend Command in Linux

In this post, we will show you how to extend lvm partition in linux with lvextend command on the fly.

Resizing the file system size is an important task of Linux admin’s profile. In Linux , LVM(Logical Volume Manager) provides the facility to increase and reduce the file system size. One of benefit of using lvm partition is that we can increase or decrease its size on the fly without any downtime. It is recommended to have lvm partitions in production Linux or UNIX servers.

Scenario : Suppose we have a LVM partition(/home) and running out of space and want to extend or increase file system size. So, to increase the size of the file system first we must see whether in volume group has free space or not. If the volume group has free space then use the below steps :

Step1) View Disk Usage of File System

Run df command followed by the file system to view total ,used and available disk space

[root@cloud home]# df -h /home/
 Filesystem            Size  Used Avail Use% Mounted on
 /dev/mapper/vg_cloud-LogVol00
                       9.7G  9.2G     0 100% /home

As we can see above, /home is 100 % utilized.

Step 2) Check Free Space in Volume Group

To display volume group details, execute the vgdisplay or vgs command followed by volume group name,

# vgdisplay <Volume-Group-Name>

or

# vgs <Volume-Group-Name>

[root@cloud home]# vgdisplay vg_cloud
   --- Volume group ---
 VG Name                      vg_cloud
 System ID
 Format                       lvm2
 Metadata Areas               1
 Metadata Sequence No         4
 VG Access                    read/write
 VG Status                    resizable
 MAX LV                       0
 Cur LV                       3
 Open LV                      3
 Max PV                       0
 Cur PV                       1
 Act PV                       1
 VG Size                      27.01 GiB
 PE Size                      4.00 MiB
 Total PE                     6915
 Alloc PE / Size              5256 / 20.53 GiB
 Free  PE / Size              1659 / 6.48 GiB
 VG UUID                      1R89GB-mIP2-7Hgu-zEVR-5H02-7GdB-Ufj7R4

Output above confirms that we 6.48 GB free space in the volume group (vg_cloud)

Step 3) Increase the size with lvextend Command 

Run below lvextend command to extend the file system,

[root@cloud ~]# lvextend -L +2G /dev/mapper/vg_cloud-LogVol00
     Extending logical volume LogVol00 to 11.77 GiB
     Logical volume LogVol00 successfully resized

Above command will extend the file system size by 2GB. You can also specify the size in MB , just replace G with M.

If you want all free space available in volume group to be added to file system then run

[root@cloud ~]# lvextend -l +100%FREE /dev/mapper/vg_cloud-LogVol00

Now, run the resize2fs command to implement above size to file system.

[root@cloud ~]# resize2fs /dev/mapper/vg_cloud-LogVol00

Note: You can also extend the file system size using single lvextnd command by adding -r at end, example is shown below

[root@cloud ~] lvextend -L +2G /dev/mapper/vg_cloud-LogVol00 -r

After running above command, you don’t need to resize2fs command.

Step 4) Verify File system Size after Extension

Re-run the df -h command followed by /home file system, now we can see that file system has been extended by 2 GB, before the extension size was 10 GB

[root@cloud ~]# df -h /home/
 Filesystem            Size  Used Avail Use% Mounted on
 /dev/mapper/vg_cloud-LogVol00
                        12G  9.2G  1.9G  84% /home

That’s all from this post, I hope found it informative. Kindly do post your queries and feedback in below comments sections.

Also Read: How to Create and Extend XFS file system based on LVM

25 thoughts on “How to Extend LVM Partition with lvextend Command in Linux”

  1. Hi! First of all thanks for sharing this post. I use LVM almost everywhere!
    I would like to add that, you can add a “-r” in the end of the line where you extend the LV. Example:
    # lvextend -L +2G /dev/mapper/vg_cloud-LogVol00 -r

    If you do that, there is no necessity of resize2fs command!
    Cheers!

  2. Benina Svilenova

    All good, but as an intern sys admin, I was just gonna run resize2fs on an xfs file system. It would be great if you write somewhere in the articl that this is for ext2/3/4 thanks in advance!

Leave a Comment

Your email address will not be published. Required fields are marked *