What are Physical Extents (PEs) in LVM?
PEs are the fixed-size blocks (typically 4 MiB) a Volume Group is divided into; every Logical Volume is allocated as a whole number of these extents.
Inside a VG, space isn't handed out byte-by-byte — it's chopped into equal Physical Extents, and LVs are built from a whole number of them. Think of the VG as a sheet of graph paper: each square is one PE, and an LV is a region of squares. This is why LVM can resize so cleanly — growing a volume just means assigning it more squares from the free pool.
Key facts:
- Default PE size is 4 MiB; you can set it at VG-creation time.
- An LV's size is always rounded up to the nearest PE boundary — ask for 300 MB and you get the next whole multiple of 4 MiB.
- The number of free PEs in a VG is your real "how much can I still allocate?" budget.
pvdisplay /dev/vdb1 # PE Size, Total/Free PE for this PV
vgdisplay vg01 # Total/Free/Allocated PE for the whole group
Example vgdisplay excerpt:
PE Size 4.00 MiB
VG Size 1012.00 MiB
Total PE 253
Alloc PE / Size 75 / 300.00 MiB
Free PE / Size 178 / 712.00 MiB
Here 75 of 253 extents (300 MiB) are allocated, leaving 178 free PEs — about 712 MiB still available to give to an LV. You can allocate an LV by extents directly with lvcreate -l 32 ... instead of a byte size.