[Pacemaker] Build dlm_controld for pacemaker stack (dlm_controld.pcmk)

Andrew Beekhof andrew at beekhof.net
Mon Oct 29 20:14:07 EDT 2012

On 30/10/2012, at 3:51 AM, Bernardo Cabezas Serra <bcabezas at apsl.net> wrote:

> Hello, 
> disclaimer: I have posted this issue to linux-ha list too a couple of days ago. I'm sorry if this is not the correct list, and thanks if you can give me a hint about which cluster stack should I use for ocfs2 by now.
> I'm trying to compile all stack for corosync + pacemaker + dlm + ocfs2 (with dlm_controld.pmk), without cman stack. I'm following the "From source" Pacemaker guide.
> After some days trying to compile the correct combination of sources/versions, I have no success, and I'm not sure if at this moment this is possible.
> The fist problem was that cluster removed support for dlm_controld with pacemaker stack. Last version with support was 3.0.17. 
> But this was done some years ago, and as far as I have been able to understand, things are still broken. 

Have you read Section 8.1 and 8.2 of Clusters from Scratch?

tl:dr - its very important that all parts of the stack are making decisions based on the same membership and quorum data.

There were/are three options to achieve this:
1. everyone talks to pacemaker 
2. everyone talks to cman
3. everyone talks to corosync

Option 1 was written for and is maintained/supported by SUSE but didn't really gain much traction outside of that distro.
It also relies on a pacemaker plugin that gets loaded into corosync/openais, something that is no longer possible with corosync 2.0
It briefly appeared upstream but once option 2 became possible, option 1 was removed (not by me).
Anyone not paying for OCS2 on SLES is probably best advised to move to option 2 or 3.
This option requires corosync 1.x and openais + any version of pacemaker

Option 2 is what works on most distros (except openSUSE/SLES) today.
By virtue of being part of RHCS and its age, cman is available on most of today's enterprise distros and is supported by OCFS2 and GFS2.
By modifying Pacemaker to support it, we gained the ability to use GFS2 and OCFS2 "for free" - without the need for custom dlm, gfs and ocfs controld's.
This option requires corosync 1.x and openais and cman + pacemaker 1.1.6 or later

Option 3 is where things are headed, however the only distro that ships it today is Fedora-17 (and shortly 18).
In this scenario, all components obtain membership and quorum directly from corosync.
So far OCFS2 is the only component that hasn't been updated to support this.
This option requires corosync 2.x  + pacemaker 1.1.7 or later

Does that help?

> The most relevant info found about this issue are these threads from Andrew Beekhof and Vladislav Bogdanov, wich suggest to compile dlm_controld from Cluster, applying some patches. They report it worked (whith some remaining issues): 
> http://oss.clusterlabs.org/pipermail/pacemaker/2009-October/003064.html 
> http://www.mail-archive.com/pacemaker@oss.clusterlabs.org/msg09959.html 
> But most recent issue about this is a year ago, and seems that things are still broken. 
> I haven't been able to compile, with lots of errors, so I'm currently asking if this is the right way, becouse seems that nobody else is willing to use this... 
> At cluster page, they state that now DLM code has been separated from cluster: 
> https://fedorahosted.org/cluster/wiki/HomePage 
> But this dlm project (that seems to have pcmk support), depends on corosync 2.0, so it can't run with last pacemaker (1.1.8). (can it?) 

Pacemaker 1.1.8  can run fine with corosync 1.x and 2.x 

> http://git.fedorahosted.org/git/dlm.git 
> Before spending more time with this, I wanted to ask for the right way to do things. 
> So Questions are: 
> (1) Is it by now possible to get an ocfs2 corosync + pacemaker cluster, without cman, and dlm_controld with pcmk stack? (if yes which repos/versions)? 

Yes, but as above, cman is probably your best option unless you're paying for SLES.

> (2) What is the future roadmap about this? Will future corosync2.0 cluster have dlm issues addressed? 

The dlm works fine with corosync 2.0 - otherwise GFS2 wouldn't work (I can assure you it does).

> Also, I have read (also Andrew post) that OCFS2 cluster could have problems on top of corosync 2.0, as OCFS2 has't ben ported (GFS2 was ported). 
> http://www.gossamer-threads.com/lists/linuxha/pacemaker/78538 
> so: 
> (3) Is GSF2 a better future option in terms of support, for linux-ha clusters? 

I'm not qualified to answer that.

> More details about pcmk dlm_controld: 
> I found that Suse have always been mantaining  cman-free cluster stack, so I have tried to find dlm in its packages. 
> Found: 
> http://rpmfind.net//linux/RPM/opensuse/factory/x86_64/libdlm-3.00.01-24.5.x86_64.html 
> But also I have had lots of compilation problems, trying several pacemaker, versions, also the suse-patched ones. Haven't been able to successfully complie a dlm_controld.
> Thanks and Regards, 
> Bernardo
> -- 
> <hbefajgj.gif>
> Bernardo Cabezas Serra 
> Responsable Sistemas
> Ada Byron, edificio NTIC 2ºA 
> 07121 ParcBit
> Mail: bcabezas at apsl.net 
> Skype: bernat.cabezas 
> Tel: 971439771 
> _______________________________________________
> Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
> http://oss.clusterlabs.org/mailman/listinfo/pacemaker
> Project Home: http://www.clusterlabs.org
> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> Bugs: http://bugs.clusterlabs.org

More information about the Pacemaker mailing list