岩崎@サード
岩崎@サード
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」とかすると良い。 以上です