<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi,<br>
<br>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<a
href="https://lists.linux-foundation.org/pipermail/openais/2011-January/015626.html">https://lists.linux-foundation.org/pipermail/openais/2011-January/015626.html</a><br>
<br>
<a class="moz-txt-link-abbreviated" href="mailto:xin.liang@cs2c.com.cn">xin.liang@cs2c.com.cn</a> wrote:
<blockquote cite="mid:20110119085948.xu4zhceeiogo4cw8@mail.cs2c.com.cn"
type="cite">hi everybody!<br>
<br>
I have some questions about
corosync-cfgtool<br>
<br>
1. What should I
do when "corosync-cfgtool -s" return "Could not initialize corosync
configuration API error" ? Restart corosync ?(I don't think it's a good
idea)<br>
<br>
2. How can the process happen automatically when
network problems is repaired, instead of using "corosync-cfgtool -r"
manually?<br>
<br>
<br>
<br>
My testing environment is :
<br>
2 PC (on virtualbox-3.2.12)<br>
Double
network card and double heart-beat link(eth0 and eth1)<br>
OS:
RHEL 5.3 x86<br>
primary rpms: corosync-1.3.0 and
pacemaker-1.0.10<br>
corosync.conf:(relevant
portion)<br>
<br>
compatibility: whitetank<br>
<br>
totem
{<br>
version: 2<br>
secauth:
off<br>
threads: 0<br>
rrp_mode:
active<br>
interface{<br>
ringnumber:0<br>
bindnetaddr:10.10.10.0<br>
mcastaddr:235.3.4.5<br>
mcastport:9876<br>
}<br>
interface{<br>
ringnumber:1<br>
bindnetaddr:20.20.20.0<br>
mcastaddr:235.3.4.6<br>
mcastport:9877<br>
}
<br>
}<br>
<br>
<br>
<br>
<br>
When something bad happen on one of the
double-heart-beat-link<br>
--------just like: ifdown eth0, or
pull out one of the netting twine-----<br>
<br>
I use:(ifdown
eth1 before)<br>
corosync-cfgtool -s
<br>
found that:<br>
Printing ring status.<br>
Local node ID
185207306<br>
RING ID
0<br>
id =
10.10.10.11<br>
status =
ring 0 active with no faults<br>
RING ID
1<br>
id =
20.20.20.11<br>
status =
Marking seqid 14089 ringid 1 interface 20.20.20.11 FAULTY -
adminisrtative
intervention required.<br>
then:<br>
ifup eth1<br>
and:<br>
corosync-cfgtool -r<br>
<br>
The problem is
repaired.<br>
<br>
BUT, I want this process happen
automatically when network problems is repaired, I write this shell,
and start
it when service corosync start:
<br>
<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<br>
#!/bin/bash<br>
local_is_down=0<br>
ip_res=`corosync-cfgtool -s|grep id|awk
'{print $3}'`<br>
while [ -z "$ip_res" ]<br>
do<br>
sleep
5<br>
ip_res=`corosync-cfgtool -s|grep id|awk '{print $3}'`<br>
done<br>
<br>
ip_num=`corosync-cfgtool -s|grep "no faults"|wc
-l`<br>
<br>
while true<br>
do<br>
sleep
10<br>
res=`corosync-cfgtool -s`<br>
echo "$res" |grep FAULTY &>
/dev/null<br>
if [
"$?" -ne 0 ];then<br>
tmp_num=`echo "$res"|grep "no faults"|wc -l`<br>
if [ "$tmp_num" -eq "$ip_num" ];then<br>
local_is_down=0<br>
else<br>
continue<br>
fi<br>
else<br>
mii-tool |grep "no link" &> /dev/null
<br>
if [ $? -eq 0
];then<br>
local_is_down=1 #pull out one of
the netting
twine<br>
else<br>
for IP in
$ip_res<br>
do<br>
ifconfig|grep "$IP" &>
/dev/null
<br>
if [ $? -ne 0
];then<br>
local_is_down=1
#ifdown<br>
fi<br>
done<br>
fi<br>
<br>
if [
$local_is_down -eq 1
];then<br>
corosync-cfgtool -r &>
/dev/null<br>
fi<br>
fi<br>
done
&<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
<br>
The shell works well mostly, however, it does not work sometimes
because command
"corosync-cfgtool -s" return <br>
"Could not initialize
corosync configuration API error 6"<br>
<br>
and the pacemaker process seems also
done.<br>
<br>
<br>
THANKS!<br>
<pre wrap="">
<hr size="4" width="90%">
_______________________________________________
Pacemaker mailing list: <a class="moz-txt-link-abbreviated" href="mailto:Pacemaker@oss.clusterlabs.org">Pacemaker@oss.clusterlabs.org</a>
<a class="moz-txt-link-freetext" href="http://oss.clusterlabs.org/mailman/listinfo/pacemaker">http://oss.clusterlabs.org/mailman/listinfo/pacemaker</a>
Project Home: <a class="moz-txt-link-freetext" href="http://www.clusterlabs.org">http://www.clusterlabs.org</a>
Getting started: <a class="moz-txt-link-freetext" href="http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf">http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf</a>
Bugs: <a class="moz-txt-link-freetext" href="http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker">http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker</a>
</pre>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Dan FRINCU
Systems Engineer
CCNA, RHCE
Streamwide Romania
</pre>
</body>
</html>