|Clustering LVM (CLVM) provides a way to manage logical volumes in a consistent way.|
By analogy, if you connect the same disk to two machines, put a file system on it (like ext3), and mount the file system on both machines, you can expect corruption. Both machines will be attempting to create/modify/read metadata without the knowledge that someone else is doing the same... You need a cluster aware file system in this type of scenario - like GFS. The same thing is true of LVM... you don't want to have two machines sharing the same volume group - extending/shrinking/creating/deleting logical volumes without knowledge of the other machine... it would lead to corruption of your volume group layout. This is what CLVM is all about. It is especially useful when coupled with a cluster-aware file system, like GFS and others. Active/Active setups are where CLVM is most useful. Active/Passive setups can get away with a little less (http://sourceware.org/cluster/wiki/LVMFailover).
In active/active environments, the concept of CLVM becomes even more important when dealing with more complex RAID. For example, LVM mirroring must be handled in a different way depending on whether a logical volume is clustered or not. (This is handled transparently by (C)LVM.) This is because mirroring creates its own metadata to track the degree to which the component legs are in-sync... this status tracking must be cluster-aware or the state will be corrupted. This is the reason why there is no snapshotting in CLVM yet. The cluster-coherent version has not yet been written.
On Feb 7, 2008, at 10:36 AM, Gerrard Geldenhuis wrote: