I created an LVM snapshot, then I modified the original logical volume, and now I see that I probably allocated too much space to hold the snapshot. And I want to reclaim some free space by reducing the space allocated for the snapshot.

How can I check how much the space allocated for a snapshot can be reduced without breaking the snapshot?

In other words: How to find out the space actually needed at the current moment for a snapshot to continue to exist?

(If I know this minimal necessary size, then I probably can simply use lvreduce to reclaim more free space for the VG from the snapshot.)

1 Answer 1


Actually, the space that is in actual use by the snapshot can be easily seen after activating the volumes (e.g., with vgchange -a y) -- in percents of the total space allocated for the snapshot:

it is shown in the Allocated to snapshot row of the output of lvdisplay, or by the snap_percent option of lvs.

(I simply was examining the volumes without activating them -- that's why I couldn't see this info straight on.)

If, for example, it's 5%, then you can simply use lvreduce -l 5%LV (or a bit more) to recalim all the unused space from the snapshot volume.

  • When calling lvdisplay /path/to/snapshot, two of my three LVM snapshots don't report the Allocated to snapshot line. Does this mean these snapshots have exhausted their allocated free space and have therefore become useless?
    – Abdull
    Jan 10, 2014 at 18:32
  • @Abdull I don't know. You'd better ask a new question. And give a link to it here please. Jan 11, 2014 at 1:09

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .