Locating Linux LVM (Logical Volume Manager) free space

The Linux Logical Volume Manager (LVM) provides a relatively easy way to combine block devices into a pool of storage that you can allocate storage out of. In LVM terminology, there are three main concepts:

Physical Volumes – A sequence of sectors on a physical device.
Volume Groups – A group of physical volumes.
Logical Volumes – A logical device that is allocated from a volume group.

When you use LVM to manage your storage, you will typically do something similar to this when new storage requests are made:

1. Create a physical volume on a block device or partition on a block device.

2. Add one or more physical volumes to a volume group

3. Allocate logical volumes from the volume group.

4. Create a file system on the logical volume.

With this approach you can end up with free space in one or more physical volumes or one or more volume groups depending on how you provisioned the storage. To see how much free space your physical volumes have you can run the pvs utility without any arguments:

$ pvs

  PV         VG       Fmt  Attr PSize  PFree  
  /dev/sda2  VolGroup lvm2 a--   8.51g      0 
  /dev/sdb   DataVG   lvm2 a--  18.00g  18.00g
  /dev/sdc   DataVG   lvm2 a--  18.00g 184.00m

The “PFree” column shows the free space for each physical volume in the system. To see how much free space your volume groups have you can run the vgs utility without any arguments:

$ vgs

  VG       #PV #LV #SN Attr   VSize  VFree 
  DataVG     2   1   0 wz--n- 35.99g 18.18g
  VolGroup   1   2   0 wz--n-  8.51g     0 

In the vgs output the “VFree” column shows the amount of free space in each volume group. LVM is nice, but I’m definitely a ZFS fan when it comes to storage management. I’m hopeful that Oracle will come around and port ZFS to Linux, since it would benefit a lot of users and hopefully help to repair some of the broken relations between Oracle and the opensource community. I may be too much of an optimist though.

2 thoughts on “Locating Linux LVM (Logical Volume Manager) free space”

  1. witalis — it’s awesome that there is a ZFS port, though until it’s part of the mainline kernel I’m not going to trust my data with it.

Leave a Reply

Your email address will not be published. Required fields are marked *