Most volume-manager implementations share the same basic design. They start with
physical volumes (PVs), which can be either
hard disks, hard disk
partitions, or
logical unit numbers (LUNs) of an external storage device. Volume management treats each PV as being composed of a sequence of chunks called
physical extents (PEs). Some volume managers (such as that in HP-UX and Linux) have PEs of a uniform size; others (such as that in
Veritas) have variably-sized PEs that can be split and merged at will. Normally, PEs simply map one-to-one to
logical extents (LEs). With mirroring, multiple PEs map to each LE. These PEs are drawn from a
physical volume group (PVG), a set of same-sized PVs which act similarly to hard disks in a
RAID 1 array. PVGs are usually laid out so that they reside on different disks or
data buses for maximum redundancy. The system pools LEs into a
volume group (VG). The pooled LEs can then be concatenated together into virtual disk partitions called
logical volumes or
LVs. Systems can use LVs as raw
block devices just like disk partitions: creating mountable
file systems on them, or using them as
swap storage. Striped LVs allocate each successive LE from a different PV; depending on the size of the LE, this can improve performance on large sequential reads by bringing to bear the combined read-throughput of multiple PVs. Administrators can grow LVs (by concatenating more LEs) or shrink them (by returning LEs to the pool). The concatenated LEs do not have to be contiguous. This allows LVs to grow without having to move already-allocated LEs. Some volume managers allow the re-sizing of LVs in either direction while online. Changing the size of the LV does not necessarily change the size of a file system on it; it merely changes the size of its containing space. A file system that can be resized online is recommended in that it allows the system to adjust its storage on-the-fly without interrupting applications. PVs and LVs cannot be shared between or span different VGs (although some volume managers may allow moving them at will between VGs on the same host). This allows administrators conveniently to bring VGs online, to take them offline or to move them between host systems as a single administrative unit. VGs can grow their storage pool by absorbing new PVs or shrink by retracting from PVs. This may involve moving already-allocated LEs out of the PV. Most volume managers can perform this movement online; if the underlying hardware is hot-pluggable this allows engineers to upgrade or replace storage without system downtime. ==Concepts==