web-dev-qa-db-ja.com

SQL Server Always On可用性グループの自動フェールオーバーは、プライマリレプリカがオフラインになったときにトリガーされません

2ノードのAlways On可用性グループを設定しました。両方のレプリカは、自動フェイルオーバーを備えた同期モードです。手動フェイルオーバーを実行すると、すべてが期待どおりに機能します。プライマリサーバーとセカンダリサーバーが切り替えられ、データの損失はなく、リスナーは期待どおりに機能します。

ただし、(テストのために)プライマリサーバーを突然シャットダウンした場合、セカンダリサーバーがプライマリサーバーに切り替わりません。プライマリレプリカが「解決中」ステータスでスタックし、プライマリサーバーがオンラインに戻るまでリスナーに到達できません。

つまり、可用性グループは手動フェールオーバーでは正常に機能していますが、自動フェールオーバーでは機能していません。クラスターがノードの1つがもう使用できないことを認識していないようです。

「可用性検出」などを有効にするために特定の構成を実行する必要がありますか?これは組み込みの動作だと思います。

クラスター検証を実行したところ、次の警告が報告されました。

  • クラスターはクォーラム監視で構成されていません。ベストプラクティスとして、クラスターの最高の可用性を実現するためにクォーラム監視を構成します。 (本当にフェールオーバーマネージャーを使用してクォーラム設定を変更する必要がありますか?)
  • このリソースには、クラスターのすべてのノードが実行可能な所有者としてリストされていません。このリソースがメンバーであるクラスター化された役割は、実行可能な所有者としてリストされていないノードでは開始できません。 (Failover Managerを使用してこれを変更することは推奨されないため、私はそれをしなかったと読みました)
  • ノードNODE01はNodeNODE02ネットワークインターフェースの1ペアのみ。このネットワークパスがクラスター内の通信の単一障害点である可能性があります。この単一パスが高可用性であることを確認するか、クラスターにネットワークを追加することを検討してください。- (これは冗長カードの追加について話しているのですか?)
1
dsuy

フェールオーバークラスターマネージャーでクォーラム構成を追加します。クラスターを引き続きオンラインにするには、ノードの大部分をオンラインにする必要があります。ノードは2つだけです。 1つがダウンしても、オンラインになっているのは1つだけで、それは過半数ではありません。ノードの外に格納する必要がある共有ドライブのような監視を追加した場合、1つのノードがダウンしても、過半数の2つはまだオンラインなので、クラスターはオンラインのままです。

2
kevinnwhat