このセクションでは、Avi Controller クラスタ内で高可用性 (HA) がどのように動作するかについて説明します。

クォーラム

NSX Advanced Load Balancer コントローラ レベルの HA では、NSX Advanced Load Balancer コントローラ ノードのクォーラムが稼動している必要があります。3 ノードの NSX Advanced Load Balancer コントローラ クラスタでは、3 つの NSX Advanced Load Balancer コントローラ ノードのうち少なくとも 2 つが稼動していれば、クォーラムを維持できます。NSX Advanced Load Balancer コントローラ のいずれかに障害が発生した場合、残りの 2 つのノードはサービスの提供を継続し、NSX Advanced Load Balancer は動作を継続します。ただし、3 つのノードのうち 2 つが停止すると、クラスタ全体が停止し、NSX Advanced Load Balancer が動作しなくなります。

フェイルオーバー

クラスタ内の各 NSX Advanced Load Balancer コントローラ ノードは、TCP ポート 22(Docker コンテナとして実行されている場合はポート 5098)を使用して、暗号化された SSH トンネルを介してクラスタ内の他の NSX Advanced Load Balancer コントローラ ノードに定期的にハートビート メッセージを送信します。

ハートビート間隔は 10 秒です。許容可能な欠落した連続ハートビート メッセージの最大数は 4 です。NSX Advanced Load Balancer コントローラ の 1 つが別の NSX Advanced Load Balancer コントローラ から 40 秒間メッセージを受信しなかった場合(4 つのハートビートの欠落)、その NSX Advanced Load Balancer コントローラ は停止していると見なされます。

1 つのノードのみが停止している場合、クォーラムは維持され、クラスタは引き続き動作できます。

  • フォロワーが停止しても、リーダー ノードが稼動状態であれば、仮想サービスへのアクセスは中断することなく続行されます。

  • プライマリ(リーダー)ノードが停止した場合、メンバー ノードは新しいクォーラムを形成し、クラスタ リーダーを選択します。選択プロセスには約 50 ~ 60 秒かかります。その期間中、データ プレーンへの影響はありません。SE は引き続きヘッドレス モードで動作しますが、制御プレーン サービスは利用できなくなります。この期間中、ユーザーは LBaaS を介して VIP を作成したり、NSX Advanced Load Balancer ユーザー インターフェイス、API、または CLI を使用したりすることはできません。