マルチサブネットフェイルオーバを用いたマルチサブネット可用性グループ( Part 2 )
4654 ワード
インyesterday’s post , 私は、利用するために可用性グループ(AG)を構成する方法を示しました
私はあなたが設定したときにトレードオフをしなければならないと述べた
マルチサブネットワーキングオーバー= true
RegisteralProvidersip = 0
❌ マイクロソフトドライバはそれをサポートしますが、JTDSや他のドライバではありません.
✅ IPの変更は、サーバーで処理されるので、すべてのドライバは、この設定で動作することができます.
❌ すべてのクライアントから接続文字列の変更が必要です.
✅ クライアントから必要な変更
✅ フェイルオーバークライアントの間にすぐに再接続することができます.
❌ 失敗したクライアントの間にDNSの変更が伝播し、TTLが期限切れになるまで再接続できません.
でも……ときにケーキを食べることができるし、それを持っている場合は?
場合によっては、いくつかのアプリケーション&クライアントが使用できないでしょう
時々、我々は両方の世界のベストを望みます.この場合、実際にはそうすることができます.我々が引き起こす唯一のコストは、いくつかの余分なIPアドレスを使用することです.
昨日の例では、単一のagと単一のリスナーでWSFCを使用します.リスナーにはそれぞれ2つのIPSがあり、それぞれが異なるサブネットになっています: Windowsクラスタ: 利用可能なグループ:
agリスナー 10.10.10 .XXXサブネット 10.10.20 .XXXサブネット
新しいAgを作成するSSMのウィザードでは、あなたのAG上の単一のリスナーを作成することができます.しかし、簡単にT - SQLを使用して2番目のAGを追加することができます.
昨日、私たちは
以下のPowerShellを使用して、これらの2つのリスナーの設定を確認できます.
郵便Multi-subnet availability group, with mixed MultiSubnetFailover support (Part 2) 最初に現れたAndy M Mallon - AM² .
RegisterAllProvidersIP=0
クライアントを使用して接続できない場合MultiSubnetFailover=true
接続文字列属性.私はあなたが設定したときにトレードオフをしなければならないと述べた
RegisterAllProvidersIP=0
, を比較し、マルチサブネットワーキングオーバー= true
RegisteralProvidersip = 0
❌ マイクロソフトドライバはそれをサポートしますが、JTDSや他のドライバではありません.
✅ IPの変更は、サーバーで処理されるので、すべてのドライバは、この設定で動作することができます.
❌ すべてのクライアントから接続文字列の変更が必要です.
✅ クライアントから必要な変更
✅ フェイルオーバークライアントの間にすぐに再接続することができます.
❌ 失敗したクライアントの間にDNSの変更が伝播し、TTLが期限切れになるまで再接続できません.
でも……ときにケーキを食べることができるし、それを持っている場合は?
場合によっては、いくつかのアプリケーション&クライアントが使用できないでしょう
MultiSubnetFailover=true
, その他のクライアントは.おそらく、あなたは古いJTDSドライバーから適切にサポートしている現在のマイクロソフトJDBCドライバーに移動するレガシーJavaアプリの束を更新することに取り組んでいますMultiSubnetFailover=true
. あなたのコードベースの部分が更新されており、高速クロスサブネットフェールオーバーの接続文字列属性を使用するようにします.しかし、あなたのコードベースの他の部分はまだ更新されており、RegisterAllProvidersIP
偽のクラスタパラメータ.それは両方を持っているといいですか?私たちは両方を持っていない理由?
時々、我々は両方の世界のベストを望みます.この場合、実際にはそうすることができます.我々が引き起こす唯一のコストは、いくつかの余分なIPアドレスを使用することです.
昨日の例では、単一のagと単一のリスナーでWSFCを使用します.リスナーにはそれぞれ2つのIPSがあり、それぞれが異なるサブネットになっています:
WSFC01
AG01
agリスナー
AGListener01
番目のリスナーを追加する
新しいAgを作成するSSMのウィザードでは、あなたのAG上の単一のリスナーを作成することができます.しかし、簡単にT - SQLを使用して2番目のAGを追加することができます.
昨日、私たちは
AGListener01
使用するリスナーRegisterAllProvidersIP=0
, フェイルオーバーがあるときに、1つのIPだけが5分DNS更新のコストで、一度にオンラインです.私の考えでは、5分のTTL待ちは、Agリスナーが本当に非常に利用できないことを意味します.今日、私たちは、その完全なHAを提供する同じAgに2番目のリスナーを加えることができます:ALTER AVAILABILITY GROUP AG01
ADD LISTENER 'AGListener01HA' (
WITH IP ( ('10.10.10.139','255.255.255.0'),
('10.10.20.139','255.255.255.0')
) , PORT = 50001 );
GO
今、私たちは2つのリスナー(aglistener01、aglistener01 1 ha)と単一のAG(AG 01)を持っています.AgListener 01を使用するように変更されましたRegisterAllProvidersIP=0
, また、AglistEid 01 haは、クライアントが指定する必要があるデフォルトの設定を持っていますMultiSubnetFailover=true
接続文字列属性.以下のPowerShellを使用して、これらの2つのリスナーの設定を確認できます.
Get-ClusterResource -Cluster WSFC01 -Name AGListener01,AGListener01HA |
Get-ClusterParameter -Name RegisterAllProvidersIP,HostRecordTTL
Object Name Value Type
------ ---- ----- ----
AGListener01 RegisterAllProvidersIP 0 UInt32
AGListener01 HostRecordTTL 300 UInt32
AGListener01HA RegisterAllProvidersIP 1 UInt32
AGListener01HA HostRecordTTL 1200 UInt32
両方のリスナーは同じagの一部であるので、彼らは一緒に失敗するでしょう、そして、両方のリスナーは適切な主要なレプリカを示します.しかし、クライアントは、クライアントの要件に基づいて、どのリスナーを接続することができます.クライアントアプリケーションがドライバと接続文字列を更新するにつれて、より多くの利用可能なリスナーを指すように更新できます.AGListener01HA
) そのため、フェイルオーバーの高速な再接続を利用できます.郵便Multi-subnet availability group, with mixed MultiSubnetFailover support (Part 2) 最初に現れたAndy M Mallon - AM² .
Reference
この問題について(マルチサブネットフェイルオーバを用いたマルチサブネット可用性グループ( Part 2 )), 我々は、より多くの情報をここで見つけました https://dev.to/am2/multi-subnet-availability-group-with-mixed-multisubnetfailover-support-part-2-5bocテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol