Logical Volume Manager 2 (LVM2) allows you to aggregate physical storage devices into volume groups. You can then divide that aggregated space into one or more logical volumes. Once created, logical volumes can be extended to utilize unused space within the volume group, allowing the file system residing on the logical volume to be extended as well.
The lvextend command is used to extend the logical volume. Before we use lvextend there are few steps that need to be followed. The following are sample steps to extend a Volume Group (VG), a Logical Volume (LV), and a filesystem using a device named /dev/sdN as its Physical Volume (PV).
1. Create a PV from a free disk or partition (e.g. /dev/sdN1 as a partition):
# pvcreate /dev/sdN1
You can also use a complete disk to create a physical volume with pvcreate.
2. Extend the VG (/dev/sdN1 is an existing PV path):
# vgextend vgdata /dev/sdN1
Extend the LV and resize the underlying filesystem together (/dev/vgdata/lvdata is the existing LV path), which will be extended by 125 GB:
# lvextend -r -L +125G /dev/vgdata/lvdata
If you encounter the below error while running the command lvextend:
lvextend: command not found
you may try installing the below package as per your choice of distribution:
Distribution | Command |
---|---|
Debian | apt-get install lvm2 |
Ubuntu | apt-get install lvm2 |
Alpine | apk add lvm2 |
Arch Linux | pacman -S lvm2 |
Kali Linux | apt-get install lvm2 |
CentOS | yum install lvm2 |
Fedora | dnf install lvm2 |
Raspbian | apt-get install lvm2 |
lvextend Command Examples
1. Increase a volume’s size to 120 GB:
# lvextend --size 120G logical_volume
2. Increase a volume’s size by 40 GB as well as the underlying filesystem:
# lvextend --size +40G -r logical_volume
3. Increase a volume’s size to 100% of the free physical volume space:
# lvextend --size 100%FREE logical_volume