Hi,
I'm trying to figure out the actual behaviour of heartbeat (I'm using 
2.1.2+hg.11310.702e4f418ca8-2, as provided for debian sid)

I'm sorry if it's a bit long and complicated, don't hesitate to ask me to 
clarify some parts ...


I've detailed the steps I'm following, as I've found several docs in the wiki 
contradicting each other.

I'm trying for my tests to build a 3 node cluster (drbdtest1, 2 and 3), with 2 
nodes hosting a drbd device, and one resource group having to be collocated 
with the master drbd resource.

First, I create a drbd resource ...

No problem here. Without constraints, it's running anywhere.

I'm adding a location constraint telling heartbeat not to run on drbdtest3 ...

cibadmin -o constraints -C -X '
<rsc_location id="place_r0" rsc="cloner0">
          <rule id="prefered_place_r0" score="-INFINITY">
            <expression attribute="#uname" id="colocr0_1" operation="eq" 
value="drbdtest3"/>
          </rule>'

It's OK, now it's not running on the third node. It's activating a master on 
drbdtest1.

Then I create my resource group ('applisr0'), with no constraints for now.

It's OK, but of course, with no constraints, it's not running where it should.
In fact, it's running on the third node.

Then I put a constraint telling it not to run on a stopped node.

cibadmin -o constraints -C -X '<rsc_colocation id="r0_et_applis_stopped" 
from="applisr0" to="cloner0" to_role="stopped" score="-INFINITY"/>

It's not working. The group is still trying to start on the third node.

I've tried a lot of other configurations. I think that 'stopped' is not 
working...

The most obvious way to verify it is this :

if I replace the previous constraint with :
cibadmin -o constraints -U -X '<rsc_colocation id="r0_et_applis_stopped" 
from="applisr0" to="cloner0" to_role="stopped" score="+INFINITY"/>'

the resource isn't running anywhere. I think it means that every node is 
considered to be in the stopped role.


I can make it work this way :

cibadmin -o constraints -C -X '<rsc_colocation id="r0_et_applis_master" 
from="applisr0" to="cloner0" to_role="master" score="+INFINITY"/>'


So, to sum it up, it seems to me that the stopped role is seen as true on 
every node...

Am I right ?


I would rather have a configuration where I tell heartbeat what it cannot do 
and leave it as free as possible (as I've seen in most examples), instead of 
forcing it.

BTW, I was using this doc : http://linux-ha.org/v2/Concepts/MultiState

Thanks for helping.
_______________________________________________
Linux-HA mailing list
[email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems

Reply via email to