Not every "disk full" is a cleanup job. With LVM, a filesystem can hit 100% while the volume group it lives in still has gigabytes of unallocated extents. The fix isn't deleting data — it's giving the logical volume the space that's already sitting there.
Confirm there's free space to take
df -h /data # filesystem 100% vgs # VFree column > 0 = the VG has room lvs # current LV size
If VFree is zero, you're genuinely out of physical space and need to add a disk to the VG first (vgextend). If it's non-zero, just grow the LV.
Grow the LV and filesystem together
lvresize -r -L +10G /dev/vg0/data # -r resizes the filesystem (ext4/xfs) in the same step df -h /data # confirm the new size
The -r flag is the important part — without it you grow the block device but the filesystem still thinks it's the old size. Compare with a genuinely full disk in “No space left on device”.
Practise it
LVM capacity incidents are part of the simulator's storage set. Drill them in Linux troubleshooting practice.