master - init.d/cman: use fence_tool -m for two node clusters

David Teigland teigland@fedoraproject.org
Wed Aug 27 19:20:00 GMT 2008


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=a362e14a1c06f3b1c296aeb57b51f5442dc55adc
Commit:        a362e14a1c06f3b1c296aeb57b51f5442dc55adc
Parent:        809e1e9fa79b4bf003fc137b2a8291e709d03b89
Author:        David Teigland <teigland@redhat.com>
AuthorDate:    Wed Aug 27 14:09:15 2008 -0500
Committer:     David Teigland <teigland@redhat.com>
CommitterDate: Wed Aug 27 14:09:15 2008 -0500

init.d/cman: use fence_tool -m for two node clusters

bz 460190

Use the new fence_tool -m option in the cman init script for two node
clusters.  This delays fence_tool join when both nodes aren't members.
The delay allows initial cluster partitions (due to badly configured
network/switches) to converge before starting fencing.

Signed-off-by: David Teigland <teigland@redhat.com>
---
 cman/init.d/cman |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/cman/init.d/cman b/cman/init.d/cman
index e25e09f..4778fa8 100644
--- a/cman/init.d/cman
+++ b/cman/init.d/cman
@@ -64,6 +64,10 @@ fi
 # higher elsewhere it will not be reduced here.
 [ -z "$NET_RMEM_MAX" ] && NET_RMEM_MAX=4194304
 
+# FENCED_MEMBER_DELAY -- amount of time to delay fence_tool join to allow
+#     all nodes in cluster.conf to become cluster members.  In seconds.
+[ -z "$FENCED_MEMBER_DELAY" ] && FENCED_MEMBER_DELAY=45
+
 # FENCE_JOIN -- boolean value used to control whether or not this node
 #     should join the fence domain. If FENCE_JOIN is set to "no", then
 #     the script will not attempt to the fence domain. If FENCE_JOIN is
@@ -236,8 +240,16 @@ start_daemons()
 
 start_fence()
 {
-    errmsg=$( /sbin/fence_tool -w -t $FENCED_START_TIMEOUT join \
-	     > /dev/null 2>&1 ) || return 1
+    /usr/sbin/cman_tool status | grep Flags | grep 2node &> /dev/null
+    if [ $? -ne 0 ]
+    then
+        errmsg=$( /sbin/fence_tool -w -t $FENCED_START_TIMEOUT join \
+                 > /dev/null 2>&1 ) || return 1
+    else
+        errmsg=$( /sbin/fence_tool -w -t $FENCED_START_TIMEOUT \
+                 -m $FENCED_MEMBER_DELAY join \
+                 > /dev/null 2>&1 ) || return 1
+    fi
     return 0
 }
 



More information about the Cluster-cvs mailing list