Hello

I have a corosync-pacemaker Cluster with two nodes (mutual takeover).  All 
resource locations on one node depending on the nodes network connectivitiy. 
pingd-depending rules for the ip interfaces in a base - group and then  
colocations for all other groups. I wrote rules around pingd for the following 
situations:

Notation:

- Node a 

 - Node b

- "ip a" is the ip interface resource on node a

- "ip b" is the ip interface resource on node b

- pingd resource for a, running on node a (with score infinity), host to ping 
is the default gateway, dampen 60s, operations interval 5s, operations timeout 
25s

- pingd resource for b, running on node b (with score infinity),  host to ping 
is the default gateway, dampen 60s, operations interval 5s, operations timeout 
25s

(both nodes are in one subnet with one gateway)

 

The Rules:

base location - score for ip a on node a = 500

base location - score for ip b on node b = 500

 

if node a can ping the defaultgateway then score for ip a on node a = +1500


if node b can ping the defaultgateway then score for ip a on node b = +1000


if node b can't ping defaultgateway then score for ip a on node b = -INFINITY

 

if node b can ping the defaultgateway then score for ip b on node b = +1500


if node a can ping the defaultgateway then score for ip b on node a = +1000


if node a can't ping defaultgateway then score for ip b on node a = -INFINITY

 

What I want:

If one node can't reach the defaultgateway, all resources running on that node, 
should switch to the other node, IF the other node can still reach the 
defaultgateway.

If the "other" node also can't reach the defaultgateway, nothing should happen 
and all resources should stay on the node they are currently running.

 

The Problem:

If I unplug the network cable on both nodes (at one time), the resources should 
stay on the node they are currently running. BUT one node detects the failed 
gateway ping earlyer, so the cluster trys to switch its resources. After a 
short time, the other node detects the failed gateway and all switched 
resources goes back to the node they running before. I thought the attribute 
"dumpen" is the solution to handle this problem?  All other cases are working 
fine. 

 

The Config (constraints section only):

<constraints>

<rsc_location id="location_dbma03_gateway_reachable" node="dbma03" 
rsc="resource_pingd_dbma03_gateway_reachable" score="+INFINITY"/>

<rsc_location id="location_dbma04_gateway_reachable" node="dbma04" 
rsc="resource_pingd_dbma04_gateway_reachable" score="+INFINITY"/>

<rsc_location id="dbma03_base_group_default" node="dbma03" 
rsc="resource_dbma03s_ip" score="500"/>

<rsc_location id="dbma04_base_group_default" node="dbma04" 
rsc="resource_dbma04s_ip" score="500"/>

<rsc_location id="location_resource_dbma03s_ip_ping_depending" 
rsc="resource_dbma03s_ip">

<rule id="rule-resource_dbma03s_ip-standard-location" score="+1500">

<expression attribute="dbma03_gateway_reachable" 
id="ping-resource_dbma03s_ip-03-normal-state-rule-condition1" operation="eq" 
value="100"/>

<expression attribute="#uname" 
id="ping-resource_dbma03s_ip-03-normal-state-rule-condition2" operation="eq" 
value="dbma03"/>

</rule>

<rule id="ping-resource_dbma04s_ip-03-normal-state" score="+1000">

<expression attribute="dbma04_gateway_reachable" 
id="ping-resource_dbma04s_ip-03-normal-state-rule-condition1" operation="eq" 
value="100"/>

<expression attribute="#uname" 
id="ping-resource_dbma04s_ip-03-normal-state-rule-condition2" operation="eq" 
value="dbma04"/>

</rule>

<rule id="xping-resource_dbma04s_ip-03-normal-state" score="-INFINITY">

<expression attribute="dbma04_gateway_reachable" 
id="xping-resource_dbma04s_ip-03-normal-state-rule-condition1" operation="lt" 
value="100"/>

<expression attribute="#uname" 
id="xping-resource_dbma04s_ip-03-normal-state-rule-condition2" operation="eq" 
value="dbma04"/>

</rule>

</rsc_location>

<rsc_location id="location_resource_dbma04s_ip_ping_depending" 
rsc="resource_dbma04s_ip">

<rule id="rule-resource_dbma04s_ip-standard-location" score="+1500">

<expression attribute="dbma04_gateway_reachable" 
id="ping-resource_dbma04s_ip-04-normal-state-rule-condition1" operation="eq" 
value="100"/>

<expression attribute="#uname" 
id="ping-resource_dbma04s_ip-04-normal-state-rule-condition2" operation="eq" 
value="dbma04"/>

</rule>

<rule id="ping-resource_dbma03s_ip-04-normal-state" score="+1000">

<expression attribute="dbma03_gateway_reachable" 
id="ping-resource_dbma03s_ip-04-normal-state-rule-condition1" operation="eq" 
value="100"/>

<expression attribute="#uname" 
id="ping-resource_dbma03s_ip-04-normal-state-rule-condition2" operation="eq" 
value="dbma03"/>

</rule>

<rule id="Xping-resource_dbma03s_ip-04-normal-state" score="-INFINITY">

<expression attribute="dbma03_gateway_reachable" 
id="Xping-resource_dbma03s_ip-04-normal-state-rule-condition1" operation="lt" 
value="100"/>

<expression attribute="#uname" 
id="Xping-resource_dbma03s_ip-04-normal-state-rule-condition2" operation="eq" 
value="dbma03"/>

</rule>

</rsc_location>

</constraints>

 

 Thanks

Heinz

 

 

  

 

  


 <https://img.web.de/p.gif>     
WEB.DE DSL: Internet, Telefon und Entertainment für nur 19,99 EUR/mtl.!   
http://produkte.web.de/go/02/   

<<p.gif>>

_______________________________________________
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