web-dev-qa-db-ja.com

1つのデータセンターから別のデータセンターへの運用SQLサーバー(可用性グループ)の移行-質問

データセンター1(dc1)の可用性グループに結合された2つのSQLサーバーがあります。

dc1 server 1: SQL Server 2012 SP3 on Windows Server 2016 
dc1 server 2: SQL Server 2012 SP3 on Windows Server 2012 R2

azureの非同期レプリカ

Azure server 3: SQL Server 2012 SP4 on Windows Server 2012 R2

新しいデータセンター(dc2)があり、本番SQL可用性グループを移行する必要があります。

The end goal is to have two SQL Server 2017 machines 
(server 4 and server 5)  in new data center (dc2) on Windows Servers 2016, combined in AG

Dc2への移行が成功した後(dc1のサーバー4、サーバー1、およびサーバー2は破棄されます)、運用データベースがサーバー4および5に切り替えられた後、サーバー1および2をAGのレプリカとして保持する必要はありません。

以下の質問があります。

  1. sQL Server 2017としてdc2でサーバー4とサーバー5を展開し、既存のAGにセカンダリとして追加した場合、SQL ServerとWindowsのバージョンが異なっていても、問題なくプライマリ(サーバー1)と同期されますか?

  2. サーバー4とサーバー5をAGに追加してから、サーバー4に手動でフェールオーバーして新しいプライマリにする(アプリケーションを切り替えてサーバー4 /リスナーの新しいIPを本番環境として使用する準備ができている場合)は正常に機能しますか?そして、サーバー4とサーバー5は同期し、サーバー1、2、3は中断して同期を停止しますか?私の理解は正しいですか?

  3. ダウンタイムを短くしてdc1からdc2にプロダクションを移行するより良いオプションはありますか?

  4. サーバー4とサーバー5をdc2の仮想マシンとして導入してもよいですか?それとも専用の物理マシンを購入する方が良いですか?サーバー4からサーバー5への潜在的な自動フェイルオーバーが将来完全に機能することを望んでいます。 SQL Serverを仮想化すると、自動フェイルオーバー機能で問題が発生する可能性がありますか?

2
Aleksey Vitsko

(メインの質問の一部として多くのサブの質問があります..すぐに質問に答えることができます...)

sQL Server 2017としてdc2でサーバー4とサーバー5を展開し、既存のAGにセカンダリとして追加した場合、SQL ServerとWindowsのバージョンが異なっていても、問題なくプライマリ(サーバー1)と同期されますか?

はい。ただし、レプリカの数には制限があります-自動フェイルオーバーと同期:

SQL Server 2012 AGの制限:1つのプライマリレプリカ、4つのセカンダリレプリカ、2つのレプリカは同期できます。

したがって、実際には、現在のトポロジにレプリカを追加すると、サーバーを1つだけ追加できます(DC1に2つ、クラウド1つ、DC2に1つ(サーバー4のいずれか)。 or5)-これにより、4つのレプリカが作成されます)。

次に、DC2でサーバー5をプレステージ logshipped にすることができます。 SOサーバー4にカットオーバーすると、データベースの完全バックアップとログバックアップを行わなくても、サーバー5 dbをAOAGに簡単に参加させることができます。

サーバー4とサーバー5をAGに追加してから、サーバー4に手動でフェールオーバーして新しいプライマリにする(アプリケーションを切り替えてサーバー4 /リスナーの新しいIPを本番環境として使用する準備ができている場合)は正常に機能しますか?そして、サーバー4とサーバー5は同期し、サーバー1、2、3は中断して同期を停止しますか?私の理解は正しいですか?

私の回答をご覧ください。1. 2017年にフェイルオーバーすると、2012に戻すことができなくなります。リスナーの場合、同じ古いIPが使用されることに注意してください。技術的に 2番目のリスナーを追加(クライアントアクセスポイントとして) OR両方のリスナーでのAGの依存関係。この方法で、古いリスナーを分解すると、 AGはオフラインになりません。

ダウンタイムを短くしてdc1からdc2にプロダクションを移行するより良いオプションはありますか?

AlwaysONビットを分離したまま、DC1とDC2間のミラーリングの設定を検討する必要があります。このようにして、DC1からDC2にカットオーバーし、アプリケーションをDC2の新しいリスナーに向けます。 DC1とDC2の両方が分離され、フェイルオーバーとフェイルバック(古いDC1を指す)がより管理しやすくなるため、これは順調でロールバックが容易になります。

これもアップグレードです(2012-> 2017)。ここに私の回答に非常に詳細な手順を記述しました。

サーバー4とサーバー5をdc2の仮想マシンとして導入してもよいですか?それとも専用の物理マシンを購入する方が良いですか?サーバー4からサーバー5への潜在的な自動フェイルオーバーが将来完全に機能することを望んでいます。 SQL Serverを仮想化すると、自動フェイルオーバー機能で問題が発生する可能性がありますか?

1-1で対戦することを強くお勧めします。古いサーバーが物理的なものである場合は、同じかそれ以上のリソース(CPU、RAMおよびディスク(マウントポイント、フォルダーレイアウトなど)を合わせる)を使用してください。物理サーバーと仮想サーバーは、ファセットとそれは質問の現在の範囲では不向きでしょう。

注:それでも質問がある場合は、雇うことを強くお勧めします完全なエンドツーエンドの移行テストを行わないと問題が発生する可能性があるため、専門家。

2
Kin Shah