web-dev-qa-db-ja.com

AlwaysOn可用性グループは解決ステータスに移動します

Windows Server 2012 R2でSQL Server 2012を実行する2ノードのクラスターがセットアップされています。基本クラスターは、これら2つのノードのみで構成されます。クォーラムはノード+ディスクマジョリティとして設定され、共有ディスクはiSCSI経由で接続するEqualLogicアレイ上に配置されます。クラスタ構成はエラーなしで検証されます。

本日以前、クラスターで実行されている2つの可用性グループ(両方ともNode#1))が両方のノードで解決状態になりました。クラスターイベントを見ると、サービスを再起動します。Windowsフェールオーバークラスターの下のすべてが緑色(オンライン、警告なし)で表示されます-ディスク、ネットワークインターフェイス、ノードなど。

Windowsイベントビューアーでアプリケーションログを確認すると、クォーラムを確立できなかったため、可用性グループが解決状態に入ったことを示すイベントがクラスターから要求されました。これをサポートするためのログで他に何も見つけることができず、クラスターの検証中にクォーラムがパスします。

AGは回復しません。 SQL ServerログのAlwaysOnログで、最初のノードにミラーリングエンドポイントの障害があることがわかりました。これは、マイクロソフトが累積的な更新6で解決した問題と同様の症状を伴うメモリアクセス違反の直後に発生したので、次にそれを試します。

ノード1(2番目のメモが通信できないメモリアクセス違反があるサービス)でSQL Serverサービスを再起動でき、その時点で可用性グループをオンラインに戻すことができました。再起動すると、すべてが100%に戻ります。

ミラーリングエンドポイントに障害が発生したときに、ノード1で障害が発生せず、ノード2でデータベースが存続しなかった理由について洞察はありますか?現在、AGレベル3です。これを最大4つにすると、ノード2でサービスを有効にしたまま、ノード1で障害がトリガーされますか?

7
Mike

これは、サーバーを接続するネットワークケーブルのセットが1つしかない場合、つまり、各ノードに1 Gbイーサネットケーブルのペアが1つしかなく、通常のネットワークとiSCSIの両方に使用している場合によく発生します。ストレージ接続。 (あなたがEquallogicを使用しているという事実は手掛かりです-私は1Gb実装でそれらの多くを見てきました。)

ネットワークに問題がある場合:

  • 2つのノードはお互いを見ることができません
  • どちらのノードもストレージを見ることができません
  • プレスト、誰も過半数を見ることはなく、あなたは定足数を失う

これを引き起こす可能性のあるものは次のとおりです。

  • バックアップソフトウェア(ディスクから大量の読み取りを行うと同時にネットワークを飽和状態にする)
  • CHECKDBを実行します(これも、ディスクからの大量の読み取りとTempDBへの大量の書き込みです。これにより、通常のネットワークとストレージの両方に1つのネットワークインターフェイスしかない場合、クラスターのハートビートが通過できなくなります)。

それを回避するには:

  • 通常のネットワーキングとiSCSIに個別のネットワークインターフェースを使用します(iSCSI専用の(少なくとも)1Gbのポートのペアなど)
  • より高速なネットワークインターフェイスを使用する(1 Gbではなく10 Gbなど)
  • ディスク/ネットワークを集中的に使用する作業を減らします(バックアップとCHECKDBの実行を停止しますが、インデックスの再構築を容易にします)。
1
Brent Ozar

同じ症状の可用性グループがありました。メンテナンス上の理由で、1つのノードがダウンしました。クォーラムは2番目のノードとファイル共有から残りました。

7時間後、アライブノードは(おそらく)ファイル共有への接続を失い、最後に立っていたクライアントのサービスを停止したため、クォーラムの主要部分への接続が失われました。

ファイル共有が使用可能になっても、解決状態から回復していない場合は、SQL Serverサービスの再起動のみが役立ちました。おそらく、ソリティア期間中にデータが変更されなかったかどうか不明であるためです。

0
Jan Zahradník