Is there a difference between LVM and HA-LVM or is it just how you use it.

I am studying up on HA Clusters using pacemaker and corosync. The Red Hat documentation treats LVM, HA-LVM and CLVM as separate topics.

I understand the added features and benefits of CLVM over HA-LVM. What I am not sure of is what HA-LVM is compared to just regular LVM?

Is it just a mater of how you use it? If you exclude the shared volume group from the volume_list in lvm.conf on each node to prevent the local system from activating the it and then use a pacemaker resource to manage the activation and deactivation of the shared volume group does that makes it HA-LVM. Or is there actually different code that constitutes HA-LVM.

When using clvm your actually installing additional packages to provide clvmd and dlm. With HA-LVM there does not appear to be any additional packages or directives you enable to claim you want HA-LVM mode. But the way the documentation treats it and uses the terminology I am a bit confused.


Solution 1:

LVM should only be used on a single system, if two nodes think they have exclusive access to an LVM volume corruption will occur.

HA-LVM allows for multiple nodes to read from a shared volume but assumes only one node can/should write - this is analogous to how Windows MSDTC clustering worked/works (not that up to speed with in today sorry) where a single MSCS node has rights to write.

CLVM allows all nodes to read or write at the same time, managing the file locking across all nodes.

So yes, it is very important how you use it as you say.