[Linux-ha-jp] フェールオーバーの契機について

Back to archive index

岩崎@サード 岩崎@サード
2011年 5月 24日 (火) 12:00:14 JST


 岩崎@サードウェアでーす

 Fail-Countが上昇するものについてですが、Pacemakerはフェイルを認識すると再起動を
 試みます。再起動に成功すると、Fail−Countに1を追加して何事もなかったようにそのノード
 で動いたままになります。(よくApacheでなるよね)
 再起動に成功するけど、すぐフェイルになるような状態だと100000回まで上がったり下がったり
 を繰り返すのでイケてない状態なります。
 逆に、再起動に失敗すると、Fail-Countが-INFINITY(100000)になってフェイルオーバーします。

 で、これはしきい値を設定することができます。
 キーワードは「migration-threshold」です。

 primitive res_httpd ocf:heartbeat:apache \
 	params configfile="/etc/httpd/conf/httpd.conf" port="80" \
 	op monitor interval="20s" \
 	meta migration-threshold="4"

 こんな感じに設定します。この設定だと、再起動を繰り返してFail-Countが4になった時には
 再起動をやめてフェイルオーバーするという設定になります。

 # crm_mon -of

 として確認すると

    res_httpd: migration-threshold=4 fail-count=1
     + (55) stop: rc=0 (ok)
     + (56) start: rc=0 (ok)
     + (57) monitor: interval=20000ms rc=0 (ok)

 こんな感じにどのリソースのしきい値(threshold)がいくつで、今のfail-countがいくつで
 というのを確認することができます。
 注意する所は「再起動したい回数+1」を指定しないと再起動させたい回数が少なくなって
 しまいます。
 このへんは動きを確かめてみてください。Apacheの場合は、Pacemakerで制御している状態で
 /etc/init.d/httpd stop とかするとフェイルカウントが上がるものを確認できます。

 まとめると

> ①Fail-Countはいくつになったらフェールオーバーするのでしょうか?

 fail-countは再起動が成功すると加算されmigration-thresholdの値に達した時にフェイル
 オーバーします。

> ②サービスダウン時に、起動を試みるのか、
>  それともすぐにフェールオーバーしようとするのでしょうか?

 再起動を試みます。
 再起動に失敗すると、fail-countが-INFINITYの値まで上がり、一撃でフェイルオーバーします

 いろんな確認は「#crm_mon -of」とかすると良い。

 以上です





Linux-ha-japan メーリングリストの案内
Back to archive index