[Pacemaker] CMAN, corosync & pacemaker

Andrew Beekhof andrew at beekhof.net
Thu Mar 21 19:39:52 EDT 2013

On Fri, Mar 22, 2013 at 1:28 AM, Leon Fauster
<leonfauster at googlemail.com> wrote:
> Am 21.03.2013 um 13:32 schrieb Ron Kerry <rkerry at sgi.com>:
>> I believe I understand how to configure CMAN to work with corosync and pacemaker, but I do not really understand what roles these three packages all play. Perhaps this information is exposed in the written documentation that is available in various places, but I have not been able to discern it.
> It seems you are in the same situation like me (last week) :-) So far i will
> provide my big picture. Deeper insights must be provided from the experts here.
>> You can run the corosync/pacemaker (either ver=0 or ver=1) combination and get fully functioning HA clusters. What does adding CMAN to the mix add to the functionality? Or perhaps a better question, what functions does CMAN take over from either corosync or pacemaker and why is this considered a better combination? What are the deficiencies in corosync that running CMAN on top of it resolves?
> AFAIK - the architecture should be seen mainly as a stack.


> On top of all is the so called
> "cluster resource manager (crm)" like pacemaker or rgmanager. Lets call it crm-layer and
> we use pacemaker for it (check "pacemaker internals" in the documentation).
> Under the crm-layer is the communication layer (corosync) that checks e.g. cluster membership.
> Membership is the keyword here when we take a look at cman - the quorum-concept handles
> the active cluster/members and this can be also done by pacemaker/corosync. cman can do
> this (quorum handling) very well (mature code) and is doing this in the lower layers
> (extending corosync) - so thats the difference. When the lower level has some information
> (e.g. about the quorum status) then all upper levels have the same information. If pacemaker
> is doing this then they might be situations where different informations exists in the different
> levels/layers.
>> I believe the preferred pacemaker based HA configuration in RHEL 6.4 uses all three packages and the preferred configuration in SLES11 SP2 is just corosync/pacemaker (I do not believe CMAN is even available in SLE-HAE).
>> Why the different approaches and what is the advantage of each configuration?
> cman is part of the RH cluster suite - the motivations of the different ha approaches for
> both vendors are for sure more based in strategic/marketing needs.

Basically convergence takes a long time.

In both stacks there is corosync, pacemaker and a plugin that bridges
the gap (they both expose an API that provides membership and quorum).
On SLES that plugin comes from pacemaker, on RHEL it is CMAN.

resource management (pacemaker)
quorum/membership plugin (cman's or pacemaker's)
cluster messaging (corosync)

The Pacemaker plugin should never have existed, but back then we
didn't understand "CMAN" as well as we thought we did.
There may have also been some changes to the way it worked since then
that allow us to use it more easily today.

We all make mistakes, but that was one of my bigger ones.
Thankfully it will no longer matter eventually, as corosync 2.x
provides the necessary APIs natively so both plugins go away.

More information about the Pacemaker mailing list