LVM is currently the standard volume management product included with all of the major Linux distributions. LVM allows multiple physical disks and/or disk partitions to be grouped together into entities known as volume groups. Volume groups may then be divided or partitioned into logical volumes. Logical volumes are accessed as regular block devices and as such may be used by file systems or any application that can operate directly with a block device.
Logical volume managers are principally used to simplify storage management. Logical volumes can be resized dynamically as storage requirements change, and volume groups and logical volumes can be sensibly named with identifiers chosen by the administrator rather than physical disk or partition names such as sda or sdc1.
The following diagram shows the relationship of the LVM entities. File systems or applications use logical volumes. Logical volumes are created by partitioning volume groups. Volume groups consist of the aggregation of one or more physical disk partitions or disks.
Figure 1: Logical Volume Manager Entity Relationships
LifeKeeper for Linux LVM Recovery Kit
The LifeKeeper LVM Recovery Kit provides the support needed to allow other LifeKeeper recovery kits to operate properly on top of Linux logical volumes. To accomplish this support, the LVM Recovery Kit installs two new resource types: lvmlv and lvmvg which correspond to logical volumes and volume groups respectively. The lvmlv and lvmvg resources exist solely for internal use so that other LifeKeeper resources can operate.
As shown in Figure 1, each volume group has one or more logical volumes that depend on it. Conversely, each logical volume must have a volume group on which it depends. A typical LifeKeeper hierarchy containing these two LVM resources looks much like the relationships shown in Figure 1. Refer to Figure 2 in the LifeKeeper LVM Hierarchy Creation and Administration section for an example of an actual LifeKeeper hierarchy.
The LVM Recovery Kit uses the commands provided by the lvm package to manage the volume group and logical volume resources in a LifeKeeper hierarchy. Volume groups and logical volumes are configured (or activated) when a hierarchy is being brought in service during a failover or switchover operation and are unconfigured when a hierarchy is being taken out of service.