Installation guide

High Availability LVM (HA-LVM)
The Red Hat High Availability Add-On provides support for high availability LVM volumes (HA-LVM)
in a failover configuration. This is distinct from active/active configurations enabled by the Clustered
Logical Volume Manager (CLVM), which is a set of clustering extensions to LVM that allow a cluster of
computers to manage shared storage.
When to use CLVM or HA-LVM should be based on the needs of the applications or services being
deployed.
If the applications are cluster-aware and have been tuned to run simultaneously on multiple
machines at a time, then CLVM should be used. Specifically, if more than one node of your cluster
will require access to your storage which is then shared among the active nodes, then you must
use CLVM. CLVM allows a user to configure logical volumes on shared storage by locking access
to physical storage while a logical volume is being configured, and uses clustered locking
services to manage the shared storage. For information on CLVM, and on LVM configuration in
general, refer to Logical Volume Manager Administration.
If the applications run optimally in active/passive (failover) configurations where only a single
node that accesses the storage is active at any one time, you should use High Availability Logical
Volume Management agents (HA-LVM).
Most applications will run better in an active/passive configuration, as they are not designed or
optimized to run concurrently with other instances. Choosing to run an application that is not cluster-
aware on clustered logical volumes may result in degraded performance if the logical volume is
mirrored. This is because there is cluster communication overhead for the logical volumes
themselves in these instances. A cluster-aware application must be able to achieve performance
gains above the performance losses introduced by cluster file systems and cluster-aware logical
volumes. This is achievable for some applications and workloads more easily than others.
Determining what the requirements of the cluster are and whether the extra effort toward optimizing for
an active/active cluster will pay dividends is the way to choose between the two LVM variants. Most
users will achieve the best HA results from using HA-LVM.
HA-LVM and CLVM are similar in the fact that they prevent corruption of LVM metadata and its logical
volumes, which could otherwise occur if multiple machines where allowed to make overlapping
changes. HA-LVM imposes the restriction that a logical volume can only be activated exclusively; that
is, active on only one machine at a time. This means that only local (non-clustered) implementations
of the storage drivers are used. Avoiding the cluster coordination overhead in this way increases
performance. CLVM does not impose these restrictions - a user is free to activate a logical volume on
all machines in a cluster; this forces the use of cluster-aware storage drivers, which allow for cluster-
aware file systems and applications to be put on top.
HA-LVM can be setup to use one of two methods for achieving its mandate of exclusive logical
volume activation.
The preferred method uses CLVM, but it will only ever activate the logical volumes exclusively.
This has the advantage of easier setup and better prevention of administrative mistakes (like
removing a logical volume that is in use). In order to use CLVM, the High Availability Add-On and
Resilient Storage Add-On software, including the cl vmd daemon, must be running.
The procedure for configuring HA-LVM using this method is described in Section F.1,
Configuring HA-LVM Failover with CLVM (preferred).
The second method uses local machine locking and LVM "tags". This method has the advantage
of not requiring any LVM cluster packages; however, there are more steps involved in setting it up
and it does not prevent an administrator from mistakenly removing a logical volume from a node
in the cluster where it is not active. The procedure for configuring HA-LVM using this method is
High Availabilit y LVM (HA- LVM)
219