web-dev-qa-db-ja.com

SQL Serverクラスターの[指定された期間の最大エラー]設定について混乱

2ノードのSQLクラスタでのSQL Serverロールのフェイルオーバープロパティは次のとおりです。

Maximum Failures in the Specified Period: 2

Time period: 6 (hrs)

2回以上強制的にフェイルオーバーを強制すると(サービスを手動で移動するか、所有者ノードを再起動することにより)、リソースは「オフライン」のままになりますが、そうではありません。一見無制限に何度でもフェイルオーバーでき、影響はありません。

そのプロパティの目的は何ですか?動作をテストするために物事を正しくシミュレーションするにはどうすればよいですか?

1
Molenpad

(サービスを手動で移動するか、所有者ノードを再起動して)フェイルオーバーを強制すると、リソースが「オフライン」のままになることが予想されますが、これは当てはまりません。

そうです、そうではありません。サービスを手動で移動することは失敗ではありません-先に進んで所有者を変更するように指示しましたが、これは失敗ではありません。また、制御されている限り、再起動は失敗とは見なされません。たとえば、shutdown -rコマンドを実行するか、start-> restartをクリックします。あなたはサーバーに言っています、「ねえ、ニースの制御された再起動があります-心配は不要です。」

そのプロパティの目的は何ですか?動作をテストするために物事を正しくシミュレーションするにはどうすればよいですか?

私の知る限り、このプロパティの目的は、サーバーを無期限にピンポンで回して、さらに多くの問題を引き起こす可能性がないことです。各ノードが成功せずに役割をホストしようとしたと暗黙的に想定している再試行の数を使い果たした場合、なぜ理由がわからないまま多くのログが吐き出される原因になっているのでしょうか?

シミュレートするには-実際の障害が発生しています...マシンを強制的にシャットダウンします(クリーンではありません)(意図的にブルースクリーンにしてください-NotMyFaultのようなもの)。その下からディスクを取り除きます。これは、実際の障害の原因になります。

1
Sean Gallardy