Skip to main content

How to resize a logical volume with 5 simple LVM commands

It's easy to add capacity to logical volumes with a few simple commands.
How to manage logical volumes with 5 simple LVM commands
Image by _Alicja_ from Pixabay

Have you ever wondered how to extend your root or home directory file system partition using LVM? You might have low storage space and you need to increase the capacity of your partitions. This article looks at how to extend storage in Linux using Logical Volume Manager (LVM).

Process summary

The process is straightforward. Attach the new storage to the system. Next, create a new Physical Volume (PV) from that storage. Add the PV to the Volume Group (VG) and then extend the Logical Volume (LV).

[ You might also like: Creating and managing partitions in Linux with parted ]

Look at the picture below. The red line mark shows the original size of the root mount point. The xvdc disk is the new disk attached to it. Extend the root partition to make it 60G in size.

lsblk command displays volume sizes
Figure 1: Use the lsblk command to display volume information.

Create a Physical Volume

pvcreate command to create a new physical volume
Use the pvcreate command to designate a disk as a PV.
[root@redhat-sysadmin ~]# pvcreate /dev/xvdc
  Physical volume "/dev/xvdc" successfully created.

When you attach the new storage /dev/xvdc, you need to use the pvcreate command in order for the disk to be initialized and be seen by the Logical Volume Manager (LVM).

Identify the Volume Group

Next, you need to identify the Volume Group (VG) to which you are extending the new disk with the vgs command. Mine is called centos, and that's the only VG available currently on my LVM.

vgs command displays volume group information
Figure 3: Use the vgs command to display Volume Group information.

Extend the Volume Group

The vgextend command allows you to add one or more initialized Physical Volumes to an existing VG to extend its size.

As you can see, you want to extend the centos Volume Group.

vgextend command
Figure 4: The vgextend command adds capacity to the VG.

After extending it, type the vgs or vgdisplay commands for a more detailed overview of the VG.

The vgs command shows only the VG in with a few lines.

vgs command displays volume group information
Figure 5: Use the vgs command to display VG information.

The vgdisplay shows all the VGs in the LVM and displays the complete information about them.

vgdisplay command displays volume group information
Figure 6: Use the vgdisplay command to display VG information.

As you can see from the image above, marked with red, you have 10GB free. You can decide to extend all or some amount of storage size to it.

Identify the Logical Volume

The lvs or lvdisplay command shows the Logical Volume associated with a Volume Group. Use the lvs command, and the Logical Volume you're trying to extend is the root, which belongs to the centos VG. As you can see above, you've already extended the VG. Next, extend the Logical Volume.

lvs command displays logical volume information
Figure 7: Use the lvs command to display LV information.

Extend the Logical Volume

Extend the LV with the lvextend command. The lvextend command allows you to extend the size of the Logical Volume from the Volume Group.

lvextend command displays logical volume information
Figure 8: Use the lvextend command to extend the LV.
[root@redhat-sysadmin ~]# lvextend -l +100%FREE /dev/centos/root.

Extend the filesystem

You need to confirm the file system type you're using, Red Hat uses the XFS file system, but you can check the file system with lsblk -f or df -Th.

Resize the filesystem on the Logical Volume after it has been extended to show the changes. Resize the XFS filesystem by using the xfs_growfs command.

xfs_grow command extends the XFS filesystem
Figure 9: Use the xfs_growfs command to grow the filesystem on the newly extended LV.

Finally, verify the size of your extended partition.

df -h command displays storage capacity
Figure 10: Use the df -h command to display storage information.

[ Free online course: Red Hat Enterprise Linux technical overview. ] 

Wrap up

You can extend any other partition with the steps shown. You just have to ensure you're using LVM and know the partition you're extending. If you want to learn more about LVM, check out other articles from Enable Sysadmin by searching LVM.

Check out these related articles on Enable Sysadmin

Topics:   Linux   Linux Administration   Storage  
Author’s photo

Shehu Awwal

Shehu Awwal is a hacker who is passionate about InfoSec, Linux, cloud, containers, virtualization, distributed systems, architectures, and new trends. More about me

On Demand: Red Hat Summit 2021 Virtual Experience

Relive our April event with demos, keynotes, and technical sessions from
experts, and sign up to attend breakout sessions June 15–16.

Related Content