Takashi Kamijo
kamij****@gmail*****
2010年 2月 3日 (水) 17:49:27 JST
初めて投稿させていただきます。 上條と申します。 よろしくお願いいたします。 CentOS5.2に「Heartbeat2環境インストールマニュアル(2.0.0-0対応版)」のとおりに環境を構築しました。 heartbeat-2.1.3-3.el5.centos ultramonkey-l7-2.1.3-0 この状態でheartbeat を起動して、 安定したところで、 # crm_mon 上記コマンドで確認すると ・ ・ ・ Resource Group: grpUltraMonkey prmVIPcheck (heartbeat::ocf:VIPcheck): Started hoge1.com prmL7vsd (heartbeat::ocf:L7vsd): Started hoge1.com prmVIP (heartbeat::ocf:IPaddr): Started hoge1.com prmL7directord (heartbeat::ocf:L7directord): Stopped と、最後の行にあるL7directordだけが起動されません。 リソースエージェントのソース 「/usr/lib/ocf/resource.d/heartbeat/L7directord」の99行目あたり ############################### # Resource Running Check Method ############################### isRunning(){ RET=0 RET=`ps -ef | grep l7directord | grep -v grep | grep -v less | grep -v vi | wc -l` return $RET } の$RETの値を標準出力させてもう一度heartbeatを起動し、観察したのですが、 $RETの値が 「0→2」 と変化することがわかりました。 ちなみに「wc -l」を除いて表示させると # ps -ef | grep l7directord | grep -v grep | grep -v less | grep -vi root 30181 1 0 16:58 ? 00:00:00 /usr/sbin/l7directord start root 30215 30181 0 16:58 ? 00:00:00 l7directord: http:172.16.40.52:80:UP 以上の結果をふまえると、 「/usr/lib/ocf/resource.d/heartbeat/L7directord」の 130行目あたりにある条件式 if [ $RET -eq 1 ]; then これだと$RETの値が"1"でなければうまく動作しないので、 → if [ $RET -ge 1 ]; then と変更してみました。 同様に、 169行目あたりにある条件式も if [ $RET -eq 1 ]; then → if [ $RET -ge 1 ]; then と変更してみました。 この状態でようやくHeartbeatからL7directordを起動することができました。 今のところ、これで上手く動いているようですが、 他に事例がなかったので、MLに投稿させていただきました。 皆様はこんなことしなくても正常に動作されてますでしょうか? 以上、ご教授の程宜しくお願い致します。