[Linux-HA] Problem around stonith resources IP targets with fence_ipmilan

Alain.Moulle Alain.Moulle at bull.net
Tue Oct 12 09:20:04 MDT 2010


( With releases : pacemaker-1.1.2-2.el6.x86_64 & 
corosync-1.2.1-2.el6.x86_64 )

Hi,

I have a problem that I don't understand :
I have 4 nodes in a Pacemaker cluster,
with 4 stonith resources likewise :
on node1 : restofencenode2 with fence_ipmilan and <BMC-IP-node2>
on node2 : restofencenode3 with fence_ipmilan and <BMC-IP-node3>
on node3 : restofencenode4 with fence_ipmilan and <BMC-IP-node4>
on node4 : restofencenode1 with fence_ipmilan and <BMC-IP-node1>
and -INFINIY for each restofencenodeX on nodeX

_OK let's say that node 1 is the DC :_
if I execute "power off" on node 3, the node2 should call the 
restofencenode3 resource to fence it with
the fence_ipmilan and <BMC-IP-node3> , but in fact in the syslog of node 
2, I have :

1286884579 2010 Oct 12 13:56:19 node2 daemon debug stonith-ng [30671]: 
debug: stonith_command: Processing st_notify reply from node1
1286884579 2010 Oct 12 13:56:19 node2 daemon info stonith-ng [30671]: 
info: log_data_element: process_remote_stonith_exec: ExecResult 
<st-reply st_origin="stonith_construct_async_reply" t="stonith-ng" 
st_op="st_notify" st_remote_op="51fb5515-f9ec-4389-97d7-4a38dfa4f122" 
st_callid="0" st_callopt="0" st_rc="0" st_output="Rebooting machine @ 
IPMI:_*<BMC-IP-node4>*_...Done

So it is like if there is a mismatch of target IP addr when using the 
stonith resource ... and it effectively fences the node4 ! whereas
it should have fenced the node3 with <BMC-IP-node3> configured in the 
restofencenode3 ...

So I loss two nodes instead of only node3 where I have executed the 
poweroff.

Even more strange : this "mistmatch" happens when I power off any node 
which is not DC , but
if I power off the DC node, this one is fenced correctly by the 
restofencenode1 with fence_ipmilan and <BMC-IP-node1>
from node4

So, I admit this is very strange, and I have no idea how it can happen ...
Just below is the stonith resources config ...
Any idea ?

Thanks
Alain

      <primitive class="stonith" id="restofencenode1" type="fence_ipmilan">
        <instance_attributes id="restofencenode1-instance_attributes">
          <nvpair id="restofencenode1-instance_attributes-ipaddr" 
name="ipaddr" value="*<BMC-IP-node1>*"/>
          <nvpair id="restofencenode1-instance_attributes-login" 
name="login" value="<BMClogin>"/>
          <nvpair id="restofencenode1-instance_attributes-passwd" 
name="passwd" value="<BMCpass>"/>
          <nvpair 
id="restofencenode1-instance_attributes-pcmk_host_check" 
name="pcmk_host_check" value="none"/>
          <nvpair id="restofencenode1-instance_attributes-action" 
name="action" value="reboot"/>
        </instance_attributes>
        <meta_attributes id="restofencenode1-meta_attributes">
          <nvpair id="restofencenode1-meta_attributes-target-role" 
name="target-role" value="Started"/>
        </meta_attributes>
      </primitive>
      <primitive class="stonith" id="restofencenode2" type="fence_ipmilan">
        <instance_attributes id="restofencenode2-instance_attributes">
          <nvpair id="restofencenode2-instance_attributes-ipaddr" 
name="ipaddr" value="*<BMC-IP-node2>*"/>
          <nvpair id="restofencenode2-instance_attributes-login" 
name="login" value="<BMClogin>"/>
          <nvpair id="restofencenode2-instance_attributes-passwd" 
name="passwd" value="<BMCpass>"/>
          <nvpair 
id="restofencenode2-instance_attributes-pcmk_host_check" 
name="pcmk_host_check" value="none"/>
          <nvpair id="restofencenode2-instance_attributes-action" 
name="action" value="reboot"/>
        </instance_attributes>
        <meta_attributes id="restofencenode2-meta_attributes">
          <nvpair id="restofencenode2-meta_attributes-target-role" 
name="target-role" value="Started"/>
        </meta_attributes>
      </primitive>
      <primitive class="stonith" id="restofencenode3" type="fence_ipmilan">
        <instance_attributes id="restofencenode3-instance_attributes">
          <nvpair id="restofencenode3-instance_attributes-ipaddr" 
name="ipaddr" value="*<BMC-IP-node3>*"/>
          <nvpair id="restofencenode3-instance_attributes-login" 
name="login" value="<BMClogin>"/>
          <nvpair id="restofencenode3-instance_attributes-passwd" 
name="passwd" value="<BMCpass>"/>
          <nvpair 
id="restofencenode3-instance_attributes-pcmk_host_check" 
name="pcmk_host_check" value="none"/>
          <nvpair id="restofencenode3-instance_attributes-action" 
name="action" value="reboot"/>
        </instance_attributes>
        <meta_attributes id="restofencenode3-meta_attributes">
          <nvpair id="restofencenode3-meta_attributes-target-role" 
name="target-role" value="Started"/>
        </meta_attributes>
      </primitive>
      <primitive class="stonith" id="restofencenode4" type="fence_ipmilan">
        <instance_attributes id="restofencenode4-instance_attributes">
          <nvpair id="restofencenode4-instance_attributes-ipaddr" 
name="ipaddr" value="*<BMC-IP-node4>*"/>
          <nvpair id="restofencenode4-instance_attributes-login" 
name="login" value="<BMClogin>"/>
          <nvpair id="restofencenode4-instance_attributes-passwd" 
name="passwd" value="<BMCpass>"/>
          <nvpair 
id="restofencenode4-instance_attributes-pcmk_host_check" 
name="pcmk_host_check" value="none"/>
          <nvpair id="restofencenode4-instance_attributes-action" 
name="action" value="reboot"/>
        </instance_attributes>
        <meta_attributes id="restofencenode4-meta_attributes">
          <nvpair id="restofencenode4-meta_attributes-target-role" 
name="target-role" value="Started"/>
        </meta_attributes>
      </primitive>
....
    <constraints>
      <rsc_location id="loc1-restofencenode1" node="node2" 
rsc="restofencenode1" score="+INFINITY"/>
      <rsc_location id="forbiddenloc-restofencenode1" node="node1" 
rsc="restofencenode1" score="-INFINITY"/>
      <rsc_location id="loc1-restofencenode2" node="node3" 
rsc="restofencenode2" score="+INFINITY"/>
      <rsc_location id="forbiddenloc-restofencenode2" node="node2" 
rsc="restofencenode2" score="-INFINITY"/>
      <rsc_location id="loc1-restofencenode3" node="node4" 
rsc="restofencenode3" score="+INFINITY"/>
      <rsc_location id="forbiddenloc-restofencenode3" node="node3" 
rsc="restofencenode3" score="-INFINITY"/>
      <rsc_location id="loc1-restofencenode4" node="node1" 
rsc="restofencenode4" score="+INFINITY"/>
      <rsc_location id="forbiddenloc-restofencenode4" node="node4" 
rsc="restofencenode4" score="-INFINITY"/>
    </constraints>






More information about the Linux-HA mailing list