Logical volume management

From Wikipedia, the free encyclopedia

In computer storage, logical volume management or LVM is a method of allocating space on mass storage devices that is more flexible than conventional partitioning schemes. In particular, a volume manager can concatenate, stripe together or otherwise combine partitions into larger virtual ones that can be resized or moved, possibly while it is being used.

Volume management is a form of virtualization because it turns storage into a more easily allocatable and fluid resource.

Contents

[edit] Design

Volume managers differ but some basic concepts exist across most versions. The volume manager starts with physical volumes or PVs, which can be hard disk partitions, RAID devices or SAN LUNs. PVs are split into small chunks of even size (a default of 4 MB on HP-UX) called physical extents or PEs. The PEs are then pooled into a volume group or VG.

The pooled PEs can then be concatenated together into virtual disk partitions called logical volumes or LVs. These LVs behave just like hard disk partitions: mountable file systems can be created on them, or they can be used as raw block devices for swap.

The LVs can be grown by concatenating more PEs from the pool. Some volume managers allow LV shrinking; some allow online resizing in either direction. Changing the size of the LV does not necessarily change the size of a filesystem on it; it merely changes the size of its containing space. A file system that can be resized online is recommended because it allows the system to adjust its storage on-the-fly without interrupting applications.

PVs may also be organized into physical volume groups or PVGs. This allows LVs to be mirrored by pairing together its PEs with redundant ones on a different PVG, so that the failure of one PVG will still leave at least one complete copy of the LV online. In practice, PVGs are usually chosen so that their PVs reside on different sets of disks and/or data buses for maximum redundancy.

Some volume managers also implement snapshotting by applying copy-on-write (COW) to each PE. In this scheme, the volume manager will copy a PE to a COW table just before it is written to. This preserves an old version of the LE—the snapshot—which can later be reconstructed by overlaying the copy-on-write table on the current LE. Snapshots which are read-write are branching snapshots because they implicitly allow diverging versions of an LE.

Snapshots can be useful for backing up self-consistent versions of volatile data like table files from a busy database, or for rolling back large changes in one swoop, such as an operating system upgrade. Some Linux-based LiveCD systems also use snapshots to simulate read-write access on a read-only compact disc.

[edit] Disadvantages

The levels of indirection that volume managers introduce can complicate disaster recovery, especially when the base operating system and other essential tools are themselves on an LE.

[edit] Implementations

Many operating systems ship with LVMs:

[edit] References