これまで説明してきたように、高可用性クラスター環境では、1つのアクティブノードと、アクティブノードが故障したり応答しなくなったりしたときにサービスを引き継ぐ1つ以上のスタンバイノードが存在します。

これは、ノード間のネットワーク層を考慮するまでは、合理的な仮定であるように聞こえます。ノード間のネットワークパスがダウンした場合はどうなるのでしょうか?

どちらのノードも他方のノードと通信できなくなり、このような状況では、スタンバイサーバーは、アクティブノードで障害が発生したと考えて、自身をアクティブサーバーに昇格させる可能性があります。この結果、両方のノードが「アクティブ」になり、それぞれがもう一方のノードを停止していると見なすことになります。その結果、両方のノードのデータが変更されるため、データの整合性と一貫性が損なわれます。これを「 スプリットブレイン 」といいます。

スプリットブレインのシナリオを回避するためには、Quorumノード(「Witness」とも呼ばれます)をクラスター内にインストールする必要があります。偶数ノードで構成されるクラスターにQuorumノードを追加すると、奇数ノード(3、5、7など)が作成され、ノードが投票してクラスター内のアクティブノードとして動作するノードを決定します。

以下の例では、ノードBを含むサーバーラックがLAN接続を失っています。このような場合でも、3台目のノードをクラスター環境に追加することで、どのノードをアクティブノードとするかをシステムが判断することができます。

Quorum/Witness機能は、SIOS Protection Suiteに含まれています。インストール時に、QuorumノードだけでなくすべてのノードでQuorum/Witnessが選択され、Quorumノードを含むすべてのノード間でコミュニケーションパスが定義されます。

Quorumノードは、アクティブなサービスをホストしません。Quorumノードの唯一の役割は、ノード通信に参加してアクティブなノードを特定し、通信が停止した場合に「タイブレーク投票」を提供することです。

SIOSは、QuorumデバイスとしてIOフェンシングとストレージ もサポートしており、これらの構成では、追加のQuorumノードは必要ありません。

フィードバック

フィードバックありがとうございました

このトピックへフィードバック

送信