[Pacemaker] Does every resource in a cluster need to be configured on every node?

Димитър Бойн DBOYN at POSTPATH.COM
Thu Jun 18 21:25:07 EDT 2009


Hi, All!

I have a Logical Cluster where a set of servers running different server applications provide complex set of services.
To make the explanation short a have 8 custom application groups each within a pool of several nodes.
I was thinking that it would be ok if I install my applications each in its own pool of nodes and define "lsb" resources of the type bellow then create location restrictions and have one "gigantic" cluster manage all of them...

An example would be resource:

      <primitive class="lsb" id="pprus" type="pprus">
        <operations>
          <op id="pprus-0-monitor-10s" interval="10s" name="monitor" timeout="90s"/>
          <op id="pprus-0-start-0" interval="0" name="start" timeout="25s"/>
          <op id="pprus-0-stop-0" interval="0" name="stop" timeout="25s"/>
        </operations>
      </primitive>

With restriction to run only on the two nodes where it is installed:

<rsc_location id="dont-run-pprus-unless-ppst1pru01" rsc="pprus">
  <rule id="dont-run-pprus-rule" score="-INFINITY" boolean-op="or">
    <expression id="dont-run-pprus-expr-0" attribute="#uname" operation="ne" value="ppst1pru01"/>
    <expression id="dont-run-pprus-expr-1" attribute="#uname" operation="ne" value="ppst1pru001"/>
  </rule>
</rsc_location>

However what probably happens is that the cluster software somehow touches/monitors nodes with score="INFINITY" too because what I get after 
#crm resource cleanup pprus 

is:

Failed actions:
    pprus_monitor_0 (node=ppst1mlb001.ppst3.intra, call=135, rc=254, status=complete): <unknown>
    pprus_monitor_0 (node=ppst1mlb101, call=144, rc=254, status=complete): <unknown>
    pprus_stop_0 (node=ppst1mlb101, call=145, rc=254, status=complete): <unknown>
    pprus_monitor_0 (node=ppst1pbf101, call=150, rc=254, status=complete): <unknown>
    pprus_stop_0 (node=ppst1pbf101, call=151, rc=254, status=complete): <unknown>
    pprus_monitor_0 (node=ppst1pbf001, call=195, rc=254, status=complete): <unknown>
    pprus_stop_0 (node=ppst1pbf001, call=196, rc=254, status=complete): <unknown>

Even more interesting is that when I check:
#crm resource status pprus
resource pprus is running on: ppst1mlb001.ppst3.intra
resource pprus is running on: ppst1mlb101
resource pprus is running on: ppst1pbf101
resource pprus is running on: ppst1pbf001

But this is absolutely not possible as the application and its LSB script are not even installed on any of the listed nodes!

Please, help!

What am I missing in the concept?

Thanks!


Boyn, Dimitar G.
Technical Marketing Engineer
dboyn at postpath.com
3979 Freedom Circle,
Santa Clara, CA 95054
ICQ# 57-539-824
IM: Y! niobd 
 




More information about the Pacemaker mailing list