web-dev-qa-db-ja.com

マルチサイトAlwaysOnデザインに関する質問

オールウェイズオンデザインに関するアドバイスをお願いします...

異なる国に2つのデータセンターがあるシナリオを想像してみてください。どちらのデータセンターでもフルキャパシティーで実行できるようにする必要があります。各データセンターで、そのデータセンターがアクティブなときに、バックアップクエリと読み取り専用クエリを読み取り可能なセカンダリにオフロードします。

理想的な世界では、データセンター「A」に2台、データセンター「B」に2台、合計4台のサーバーが必要です。WANリンク全体のトラフィック量を減らしたいので、レプリケーショントラフィックを1台に制限します。非同期トラフィックのストリーム。また、アクティブなデータセンターのどこにいても自動フェイルオーバーが必要です。実際には、4つのサーバーすべてを含むWindowsクラスターが必要ですが、グループごとに2つの別々のグループに分割されます。サイトごとに1つ、サイト内で同期コミットを実行しますが、WANレイテンシ。

2番目のサイトの読み取り可能なセカンダリは、そのサイトの葯ノードへの同期コミットのソースとして機能できますか?

すべてのレプリケーションがプライマリから発生する必要がある場合は、サイト間でフェイルオーバーが発生した場合に、使用可能なレプリカの可用性モードとフェイルオーバーモードを設定するPowerShellスクリプトを作成する必要があると思います。

私が見逃している簡単な解決策はありますか?

乾杯

2
Dave Allonby

従来のAlwaysOn可用性グループでは、すべてのレプリケーショントラフィックはプライマリレプリカから送信されます。リモートデータセンターに2つのレプリカがある場合、それらは両方ともプライマリレプリカ期間から更新されます。プライマリからセカンダリ、セカンダリへの移行はできません。

SQL Server 2016で導入された 分散可用性グループ これは、設計目標を満たす可能性があります。ただし、これははるかに複雑になり、文書化も少なくなります。最初のAGでこれを行うことはお勧めしません。

2
Brent Ozar