[Pacemaker] stopping resource stops others in colocation / order sets
Phil Frost
phil at macprofessionals.com
Thu Jun 14 18:19:05 UTC 2012
I'm sure this is a typical novice question, but I've been dancing around
this problem for a day without any real progress, so could use some more
experienced eyes. I'm setting up what must be a pretty normal NFS / DRBD
/ LVM, 2 node, active / passive cluster. Everything works, mostly, but
it doesn't quite behave as I'd expect, I'm not sure why, and not sure
how to find out.
Start with the somewhat-contrived, but working test configuration which
represents a DRBD device and some services (maybe a FS mount and Apache)
that use it:
primitive drbd_nfsexports ocf:linbit:drbd \
params drbd_resource="nfsexports" \
op monitor interval="10s" role="Master" \
op monitor interval="20s" role="Slave" \
op start interval="0" timeout="240s" \
op stop interval="0" timeout="100s"
primitive resB ocf:pacemaker:ping \
params host_list="127.0.0.1" \
op start interval="0" timeout="60s" \
meta target-role="Started"
primitive resC ocf:pacemaker:ping \
params host_list="127.0.0.1" \
op start interval="0" timeout="60s" \
meta target-role="Started"
ms drbd_nfsexports_ms drbd_nfsexports \
meta master-max="1" master-node-max="1" clone-max="2"
clone-node-max="1" notify="true" target-role="Master"
colocation colo inf: drbd_nfsexports_ms:Master resB resC
order ord inf: drbd_nfsexports_ms:promote resB resC
property $id="cib-bootstrap-options" \
no-quorum-policy="ignore" \
dc-version="1.1.7-ee0730e13d124c3d58f00016c3376a1de5323cff" \
cluster-infrastructure="openais" \
expected-quorum-votes="2" \
stonith-enabled="false" \
last-lrm-refresh="1339694844"
If resC is stopped
resource stop resC
then drbd_nfsexports is demoted, and resB and resC will stop. Why is
that? I'd expect that resC, being listed last in both the colocation and
order constraints, could be stopped without affecting the other
resources. I've also found that if I construct a similar scenario with
another ping as resA instead of the DRBD resource, it behaves as I'd expect.
Perhaps interestingly, if I delete the order constraint:
configure delete ord
the the DRBD resource says demoted, but resB starts. Maybe this is the
issue to examine, because I can see how with the order constraint added,
any demotion of the DRBD resource would lead to all the services being
stopped.
So, what If I delete the constraint "colo", and replace it with what I
understand to be equivalent (as I understand it, the order of the
resources is reverse when there are only two. Confusing, but correct?):
configure delete colo
configure colocation colo1 inf: resC resB
configure colocation colo2 inf: resB drbd_nfsexports_ms:Master
Now just resC is stopped. Try making just resB stopped:
resource start resC
resource stop resB
now resC and resB are stopped, but I still have a DRBD master as I'd
expect. Re-add the order constraint:
configure order ord inf: drbd_nfsexports_ms:promote resB resC
things remain unchanged.
What am I not understanding?
More information about the Pacemaker
mailing list