[ClusterLabs] how to "switch on" cLVM ?

Ferenc Wágner wferi at niif.hu
Tue Jun 7 17:52:38 EDT 2016

"Lentes, Bernd" <bernd.lentes at helmholtz-muenchen.de> writes:

> ----- On Jun 7, 2016, at 3:53 PM, Ferenc Wágner wferi at niif.hu wrote:
>> "Lentes, Bernd" <bernd.lentes at helmholtz-muenchen.de> writes:
>>> Ok. Does DLM takes care that a LV just can be used on one host ?
>> No.  Even plain LVM uses locks to serialize access to its metadata
>> (avoid concurrent writes corrupting it).  These locks are provided by
>> the host kernel (locking_type=1).  DLM extends the locking concept to a
>> full cluster from a single host, which is exactly what cLVM needs.  This
>> is activated by locking_type=3.
> So DLM and cLVM just takes care that the metadata is consistent.
> None of them controls any access to the LV itself ?

cLVM contols activation as well (besides metadata consistency), but does
not control access to activated LVs, which are cluster-unaware
device-mapper devices, just like under plain LVM.

>>> cLVM just takes care that the naming is the same on all nodes, right?
>> More than that.  As above, it keeps the LVM metadata consistent amongst
>> the members of the cluster.  It can also activate LVs on all members
>> ("global" activation), or ensure that an LV is active on a single member
>> only ("exclusive" activation).
>>>>> Later on it's possible that some vm's run on host 1 and some on host 2. Does
>>>>> clvm needs to be a ressource managed by the cluster manager?
>> The clvm daemon can be handled as a cloned cluster resource, but it
>> isn't necessary.  It requires corosync (or some other membership/
>> communication layer) and DLM to work.  DLM can be configured to do its
>> own fencing or to use that of Pacemaker (if present).
>>>>> If i use a fs inside the lv, a "normal" fs like ext3 is sufficient, i think. But
>>>>> it has to be a cluster ressource, right ?
>> If your filesystem is a plain cluster resource, then your resource
>> manager will ensure that it isn't mounted on more than one node, and
>> everything should be all right.
>> Same with VMs on LVs: assuming no LV is used by two VMs (which would
>> bring back the previous problem on another level) and your VMs are
>> non-clone cluster resources, your resource manager will ensure that each
>> LV is used by a single VM only (on whichever host), and everything
>> should be all right, even though your LVs are active on all hosts (which
>> makes live migration possible, if your resource agent supports that).
> Does the LV need to be a ressource (if i don't have a FS) ?

No.  (If you use cLVM.  If you don't use cLVM, then your VGs must be
resources, otherwise nothing guarrantees the consistency of their

> From what i understand from what you say the LV's are active on all
> hosts, and the ressource manager controls that a VM is just running on
> one host, so the LV is just used by one host. Right ? So it has not to
> be a ressource.

Right.  (The LVs must be active on all hosts to enable free live
migration.  There might be other solutions, because the LVs receive I/O
on one host only at any given time, but then you have to persuade your
hypervisor that the block device it wants will really be available once
migration is complete.)

More information about the Users mailing list