Fix LVM that will not extend

We'll confirm free space in the VG, add new PVs if needed, extend the LV, and resize the filesystem—or tell you when to escalate.

Category
Troubleshooting · Servers & Linux
Time
10–25 min
Last reviewed
What you'll need
  • SSH or console access with sudo

Step-by-step diagnostic

Step 1 of 4
Show full guide

Steps

Goal: Confirm VG free space, add PVs if needed, extend the LV, and resize the filesystem.

  • Run vgdisplay and check Free PE / Size. When Free PE is 0, add a new PV or expand the disk.
  • Run lvdisplay to see the current LV size.

Check VG free space

Goal: Confirm whether the volume group has space to extend.

  • Run vgdisplay. Note Free PE and Free Size.
  • Good: Free PE > 0—proceed to Extend LV.
  • Bad: Free PE = 0—proceed to Add new disk.

Add new disk

Goal: Add a new disk or partition as a PV and extend the VG.

  • Run sudo pvcreate /dev/sdX (use the new disk or partition).
  • Run sudo vgextend vg_name /dev/sdX.
  • Good: vgdisplay shows increased Free PE. Proceed to Extend LV.
  • Bad: pvcreate or vgextend fails—check that the disk is not in use; escalate with error output.

Extend LV

Goal: Extend the logical volume and resize the filesystem.

  • Run sudo lvextend -L +10G /dev/vg/lv or lvextend -l +100%FREE /dev/vg/lv.
  • For ext4: sudo resize2fs /dev/vg/lv.
  • For XFS: sudo xfs_growfs /mount/point.
  • Good: df -h shows the new space.
  • Bad: lvextend fails—check for snapshots or thin pools; escalate.

When to escalate

Escalate if:

  • pvcreate or vgextend fails with “device is in use”.
  • You need to shrink an LV (risky).
  • The disk has partition table conflicts.

Provide vgdisplay, lvdisplay, pvs, lvs -a, and the full error output.

Verification

  • vgdisplay shows reduced Free PE (or 0 if you used all).
  • lvdisplay shows the new LV size.
  • df -h shows the new space on the mount point.
  • touch /path/test succeeds.

Escalation ladder

Work from the device outward. Stop when the problem is fixed.

  1. Confirm VG free space Run vgdisplay and lvdisplay.
  2. Add PV and extend VG pvcreate, vgextend when adding new disk.
  3. Extend LV lvextend -L or lvextend -l +100%FREE.
  4. Resize filesystem resize2fs (ext4) or xfs_growfs (XFS).
  5. Escalate Provide vgdisplay, lvdisplay, pvs, error output.

What to capture if you need help

Before calling support or posting for help, have these ready. It speeds everything up.

  • vgdisplay output
  • lvdisplay output
  • pvs and lvs -a output
  • Full error message from failed command

Does vgdisplay show Free PE > 0?

Free PE is space available in the volume group for extension.

Run vgdisplay. Check the Free PE / Size line. Free PE > 0: you can extend the LV—proceed to lvextend. Free PE = 0: add a new PV or expand the disk first.

You can change your answer later.

Extend LV and resize filesystem

lvextend then resize2fs or xfs_growfs.

Run lvextend -L +sizeG or lvextend -l +100%FREE. Then resize2fs (ext4) or xfs_growfs (XFS). Good: df -h shows new space. Bad: lvextend fails—check for snapshots or thin pools.
Question

Did extension succeed?

You can change your answer later.

Was a new disk or partition added?

New disk must be pvcreate and vgextend before lvextend.

Run lsblk and pvs. If a disk exists but is not a PV, run pvcreate /dev/sdX and vgextend vg_name /dev/sdX. Good: vgdisplay now shows Free PE. Bad: pvcreate fails—disk in use or wrong device; escalate.

You can change your answer later.

Escalate

Provide vgdisplay, lvdisplay, pvs, lvs -a, and the full error. Escalate if pvcreate fails, disk is in use, or you need to shrink.

Reviewed by Blackbox Atlas

Frequently asked questions

Why would LVM fail to extend?
No free space in the volume group, the new disk was not added as a PV, or the filesystem was not resized after lvextend. Check vgdisplay for free PE.
Do I need to unmount to extend LVM?
No. You can extend and resize most filesystems (ext4, XFS) online. Some filesystems (e.g. ext4 on older kernels) may need unmount for resize—check the docs.
When should I escalate LVM extension?
If pvcreate or vgextend fails, the disk is in use by another system, or you need to shrink a volume (risky). Provide vgdisplay, lvdisplay, pvs, and error output.

Rate this guide

Was this helpful?

Thanks for your feedback.

Continue to