クラスターの障害テストを実施する際に、意図的に障害状態とするために「エラーのシミュレート」を使用してテストをすることがあるかと思います。
連続したテストを実施している場合、「指定した期間内の最大エラー数」と「期間 (時間)」の設定の制限で、フェールオーバーしないことがあるかと思います。
フェールオーバーしなかったときに、上限に達したのでフェールオーバーしなかったかの確認の方法を。
クラスターのノードで以下のコマンドを実行することで確認できます。
Get-ClusterLog Get-Content C:\windows\Cluster\Reports\Cluster.log | Select-String LastFailover
これにより以下のようなログを取得することができます。
00000614.00000810::2016/01/28-13:52:52.052 INFO [RCM] move of group AlwaysOn-AG from SQL-01(1) to SQL-02(2) of type MoveType::Failover is about to succeed, failoverCount=1, lastFailoverTime=2016/01/28-22:52:50.691 targeted=false 00000614.000008c0::2016/01/28-13:53:03.359 INFO [RCM] move of group AlwaysOn-AG from SQL-02(2) to SQL-01(1) of type MoveType::Manual is about to succeed, failoverCount=2, lastFailoverTime=2016/01/28-22:52:50.691 targeted=true 00000614.000008c0::2016/01/28-13:55:01.180 WARN [RCM] Not failing over group AlwaysOn-AG, failoverCount 3, failoverThresholdSetting 4294967295, lastFailover 2016/01/28-22:52:50.691
最大エラー数の上限に達して、フェールオーバーsなかった場合あh、上記のログの最後の行の WARN のメッセージが出力されます。
このメッセージには最後にフェールオーバーしたタイミングと、フェールオーバーの回数が出力されていますので、どのタイミングで最後にフェールオーバーが発生し、フェールオーバーカウントがどれだけだったので、障害のままにしたかを確認することができます。
期間を経過する前にテストを実施したい場合は、最大エラー数を変更してテストを実施するのが一般的ですかね。
# 最大エラー数をリセットするコマンドってないですよね?
エラー回数のリセットはクラスターの再起動が必要です。
なので、クラスターの停止と起動以外はリセット方法はないですね。
Stop-Cluster
Start-Cluster
あたりで!
やみぃ
29 1月 16 at 18:21
やはりクラスターの再起動ですかね~。
masayuki.ozawa
29 1月 16 at 18:47