LVM

From Leo's Notes
Revision as of 18:30, 1 January 2019 by Leo (talk | contribs)
This page was last edited on 1 January 2019, at 18:30.

The Logical Volume Manager or LVM is a volume manager used on Linux. It facilitates the management of storage volumes which are similar to disk partitions but with the added flexibility of:

  • Resizing volumes
  • Snapshotting volumes for consistent backups
  • Span multiple disks together into a single large volume similar to JBOD.

Quick Usage

First, create a Volume Group (VG) that specifies which storage (the Physical Volumes, PV) to use. Logical Volumes (LV) can then be created on the Volume Group. LVs can be resized by appending or removing Physical Extents (PE). A filesystem can then be created on the LV as you normally would on a regular partition.


Recovering Volumes

Use vgscan to rescan for volume groups. This will create a file of the same name as the volume in /etc/lvm/backup/.

To restore a volume, use the vgcfgrestore command. For example, if there is a volume VolGroup01:

With the volume groups restored, use pvscan to look for physical volumes.

Activate the volume using vgchange VolGroup01 -a y

With the volume activated, look for logical volumes using lvscan. Logical volumes should show up in /dev/VolGroup01/LogVol00 for example and can be mounted.

In summary:

# vgscan                                  # Generates /etc/lvm/backup/VolGroup01
# cd /etc/lvm/backup
# vgcfgrestore -f VolGroup01 VolGroup01   # Restore VG using /etc/lvm/backup/VolGroup01
# vgscan                                  # verifies volume groups
# pvscan                                  # Looks for physical volumes
# vgchange VolGroup01 -a y                # Activates the volume group
# lvscan                                  # Looks for logical volumes
# mount /dev/VG01/LV00 /mnt/foo           # LVM volumes should be in /dev/vg/lv and should be mountable

See also:


Mounting / Unmounting Volumes

If you have a LVM partition, you can see what physical volumes there are under the LVM by running:

# pvs
PV               VG                Fmt    Attr    PSize       PFree
/dev/hda2        VolGroup01        lvm2   a-      148.94G     32.00M

The volume group (VG) is VolumeGroup01. To view the logical volumes under this volume group, run:

# lvdisplay /dev/VolumeGroup01

Once you have located the logical volume you want to mount, say LogVol00, run:

# mount /dev/VolumeGroup01/LogVol00 /mnt/disk