データベース クラスターのフェイルオーバー

データベース クラスターのフェイルオーバー

MSSQL 用にカスタマイズされた HA プログラムを開発する予定でしたが、クラスターに関するいくつかの記事を読んでいるときに疑問が生じました。

マスターがダウンすると、スレーブは新しいマスターに投票し、新しいマスターが古いマスターの仮想 IP アドレスを引き継ぎます。

ここでの仮想 IP アドレスとは何ですか?

例えば:

A: マスター 192.168.1.100
B: スレーブ 192.168.1.101
C: スレーブ 192.168.1.102

A に別の IP アドレスが割り当てられていますか? または IP 192.168.1.100 は仮想 IP ですか? 追加のネットワーク カードを追加することはできません。

Windows システム。

答え1

正確に何をしようとしているのかはわかりませんが、組み込まれているか、同様の効果を持つ外部関数に依存しているため、ほとんど一致する傾向があるクラスター アドレスの基本を以下に示します。

HA クラスターは通常、個々のクラスター ノードに固有の IP アドレスに加えて、クラスターに属する 1 つ以上のクラスター IP アドレスを作成します。

設定と特定の技術に応じて、このクラスタアドレスは一般的に次のいずれかになります。

  • クラスター ノードの 1 つにバインドし (つまり、そのノードの NIC MAC アドレスに関連付けられます)、そのノードがアクティブ ノードになります。フェイルオーバー時には、別のノードがその MAC アドレスをクラスター IP アドレスにバインドし、アクティブ ロールを引き継ぎます。

  • すべてまたは一部のクラスター ノードがサブスクライブできるマルチキャスト MAC アドレスに関連付けられ、複数のアクティブ ノードを持つことができます。このシナリオでは、クラスター IP アドレスはマルチキャスト IP アドレス (バインディング プロトコルに準拠) にすることも、まれに (Microsoft NLB クラスターなど)、マルチキャスト MAC アドレスにバインドする IP ユニキャスト アドレスにすることもできます (この場合、ネットワーク ルーター/スイッチは、通常は追加の構成ディレクティブを通じて、このプロトコルに準拠していない L3/L2 マッピングを処理できる必要があります)。

クラスターは通常、クライアントからクラスターへのトラフィックにのみクラスター アドレスを使用し、状態情報やハートビートなどのクラスター内トラフィックには個々のノード アドレスを使用します。クラスター内トラフィックは、専用ネットワーク上に配置される場合があります。

関連情報