Windows Server 2008 R2 SP1 のフェールオーバー クラスタリング環境で確認したことを、備忘録代わりに書き留めておきます。
クラスター上の各リソースには、
◆ 再起動期間 (既定値:15 分)
◆ 指定期間内での再起動の試行回数(既定値:1 回)
という二つの設定値が有ります。
設定は、リソースのプロパティ画面の「ポリシー」タブ内で行います。
同じグループ内でも、リソース毎に異なる値を設定可能です。
上記既定値の意味は、「リソースが " 失敗 " 状態になった場合は再起動を試みるが、15 分以内に 2 回目の " 失敗 " 状態となった場合は、もう再起動を試みない。」というものです。
この「 15 分」という再起動期間が、どのようにカウントされるのかが気になったので、実際に検証してみました。
なお、再起動を試みない場合にフェールオーバーするか否かは、他の設定項目によって変わります。(既定ではフェールオーバーする設定となっています。)
まず、検証用の設定値に変更します。
◆ 再起動期間 ( 4 分)
◆ 指定期間内での再起動の試行回数( 2 回)
その上で、「このリソースのエラーをシミュレーションする」でわざと " 失敗 " 状態にしてみます。
(この機能は、リソースを右クリックして表示されるメニューの、「その他のアクション」の中に有ります。)
[ 0 分 00 秒 ] 一回目の失敗。すぐ再起動し、オンライン状態に戻る。
[ 3 分 30 秒 ] 二回目の失敗。すぐ再起動し、オンライン状態に戻る。
[ 4 分 30 秒 ] 三回目の失敗。すぐ再起動し、オンライン状態に戻る。フェールオーバーせず。
=> 最初の失敗から 4 分以上経過しているので、想定通りです。
[ 5 分 30 秒 ] 四回目の失敗。すぐ再起動し、オンライン状態に戻る。フェールオーバーせず。
=> 二回目の失敗から数えた場合、4分経過していないうちに三回目の失敗が起きたことになります。
以上の結果から、一回目の失敗から 4 分経過した時点で、失敗カウントはゼロ回にリセットされていると考えられます。
決して「直近 4 分以内で何回目の失敗か」という数え方ではないようです。