Skip to content
Calcrivo

LVM LV Size Calculator

Calculate logical volume size allocation from available volume group extents.

Inputs

Feasibility

Feasible — 25600 extents allocated, 24400 extents remain free in the VG.

Actual LV Size After Rounding (GB)

100.0000

Extents Required

25,600

PE Rounding Waste (MB)

0.000

VG Free Extents After Allocation

24400

VG Free Capacity After (GB)

95.313

Step by step

  1. Values used

    VG Free Extents Available = 50,000; Physical Extent (PE) Size (MB) = 4; Requested LV Size (GB) = 100

  2. LV size from extents

    LV_size = extents × PE_size; can_extend = VG_free_extents ≥ requested_extents

  3. Feasibility

    = Feasible — 25600 extents allocated, 24400 extents remain free in the VG.

  4. Actual LV Size After Rounding (GB)

    = 100.0000

  5. Extents Required

    = 25,600

  6. PE Rounding Waste (MB)

    = 0.000

  7. VG Free Extents After Allocation

    = 24,400

  8. VG Free Capacity After (GB)

    = 95.31

How it works

A Logical Volume's actual size is always a whole number of Physical Extents (lvcreate rounds a requested size up to the nearest PE), and it can only be created or extended if the Volume Group has that many extents free. This calculator converts a requested LV size into extents, rounds up to the true allocated size, and checks feasibility against the VG's available free extents — the same math lvextend uses when growing an existing LV.

Formula

LV size from extents

LV_size = extents × PE_size; can_extend = VG_free_extents ≥ requested_extents

e
extents allocated
P
PE size
E_free
VG free extents

Frequently Asked Questions

Why is my LV slightly larger than what I requested?

lvcreate always allocates in whole Physical Extents, so a requested size that isn't an exact multiple of the PE size (commonly 4MB) gets rounded up to the next full extent — the difference is usually a few MB at most and is harmless.

What happens if I request more space than the VG has free?

lvcreate or lvextend will fail with an 'insufficient free space' error rather than partially allocating. You'd need to either request a smaller size, add another PV to the VG (vgextend), or free space by shrinking/removing another LV first.

Can an LV span multiple physical volumes?

Yes — by default LVM's linear mapping can allocate an LV's extents from any combination of PVs in the VG (contiguous per PV, but the LV as a whole can cross PV boundaries), which is how LVM lets a single logical volume exceed any one physical disk's size.

You might also need