Windows Server 2008 フェールオーバー クラスターをシャットダウンすると、クォーラムを失ってサービスが停止することがある

現象
Windows Server 2008 でクラスター全体に対するシャットダウンを以下の操作で行った場合、いずれかのノードで FailoverClustering 1177 のイベントが記録され、オフラインに時間が掛かるリソースは強制停止 (ターミネート) される場合があります。
  • [フェールオーバー クラスター管理] mmc コンソール で、[その他のアクション] をクリックし、[クラスターのシャットダウン] をクリックする
  • cluster.exe コマンドを用いてクラスター全体のシャットダウンを実行する (コマンド例 : cluster shutdown /y など)
記録されるイベント :

ログの名前: システム
ソース: FailoverClustering
イベント ID: 1177
レベル: 重大
説明: クォーラムが失われたためにクラスター サービスがシャットダウンしています。クラスター内の一部またはすべてのノードとのネットワーク接続が失われたか、監視ディスクのフェールオーバーが原因となっている可能性があります。

原因
クラスター サービスはシャットダウン処理の中で所有するリソースのオフライン操作を試みます。この際オフラインに時間が掛かるリソースが存在する場合には、これよりも先に Witness Disk リソースのオフラインが行われます。その結果、他のノードのシャットダウンや、Witness Disk リソースのオフラインの完了によって、クラスターを継続するために必要な過半数のクォーラムが維持出来なくなり、これを重大イベントとして検出するため、この現象が発生します。

補足 : クォーラムが維持できなくなったかどうかの最終的な判定は、内部処理において 20 秒間のタイムアウト値が使用されます。
回避策
この問題を回避するには、次のいずれかの方法を実行してください。

方法 1 : QuorumArbitrationTimeMax の値を大きくする

QuorumArbitrationTimeMax の値を設定するには、コマンド プロンプトで以下のコマンドを入力し、Enter キーを押します。

注 : QuorumArbitrationTimeMax に指定する数値は秒単位で、既定値は 20 (0x14) 秒です。

ここでは例として 60 秒を設定します。

cluster /prop quorumarbitrationtimemax=60

現在の設定値は、以下のコマンドを実行することで確認できます。

cluster /prop:quorumarbitrationtimemax

コマンド実行後の出力例 :

'<クラスタ名>' のプロパティの一覧を作成しています:T クラスタ      名前            値- ----------- ------------------------ ---------D <クラスタ名> QuorumArbitrationTimeMax 60 (0x3c)
注 : 適正値は環境によって異なります。強制終了 (ターミネート) してしまうリソースがオフラインに必要とする時間に併せて、設定値を決定します。問題が何度も発生する場合には、環境に合わせて少しずつ大きくして確認することを推奨します。

QuorumArbitrationTimeMax の値はクラスター内でクォーラムが失われた状態を障害として検知するまでの時間となります。この値を大きくすることにより、障害が発生した時の検知が遅くなります。

QuorumArbitrationTimeMax の値を大きくしても問題が改善されない場合には、次の「方法 2」を検討してください。

方法 2 : クラスター全体のシャットダウンの前に時間の掛かるリソースを事前にオフラインにする

注 : クラスター サービスは前回終了時のリソース状態を保持します。次にクラスター サービスを起動した際にはオフライン状態となりますので別途、オンラインの操作を実行してください。 
プロパティ

文書番号:2536102 - 最終更新日: 09/20/2016 10:11:00 - リビジョン: 4.0

Windows Server 2008 Datacenter, Windows Server 2008 Enterprise

  • kbtshoot kberrmsg kbbug kbfix KB2536102
フィードバック