LVM in Linux: logical volumes (pvcreate, vgcreate, lvcreate)
Updated July 3, 2026
LVM pools physical disks together and carves logical volumes out of the pool that are easy to resize.
Common cases
sudo pvcreate /dev/sdb /dev/sdc # mark disks as physical volumes
sudo vgcreate data /dev/sdb /dev/sdc # pool them into a group 'data'
sudo lvcreate -L 50G -n vol1 data # carve a 50 GB volume vol1
sudo lvextend -L +20G /dev/data/vol1 # grow the volume by 20 GB
lsblk # see the volumes as a tree
sudo vgs; sudo lvs # summaries of groups and volumesHow it works: the three LVM layers
Without LVM a partition is tied to one disk and hard to grow. LVM adds three layers: physical volumes (PV) are the disks themselves, the volume group (VG) is a shared pool of them, and logical volumes (LV) are what you format and mount. The main win is flexibility: a volume can grow while the group has free space, often on a running system. After
lvextendyou still need to grow the filesystem itself (resize2fs). On top of LVM you can also take snapshots for backups.
In the book
This topic is covered in full in the chapter Advanced storage.