高可用性 (HA) は、ハードウェアまたはソフトウェアに障害が発生して 1 台のアプライアンスが利用できなくなった場合でも、別の NSX Edge アプライアンスでサービスを提供できるようにするものです。NSX Edge の高可用性ではダウンタイムはゼロではありませんが、フェイルオーバーによるダウンタイムが最小に抑制されます。アプライアンス間でフェイルオーバーを行う場合、一部のサービスの再起動が必要になる場合があります。
たとえば、NSX Edge の高可用性 (HA) は、ステートフル ファイアウォールの接続の追跡情報、またはロード バランサが保持するステートフル情報を同期します。すべてのサービスのバックアップを起動するには、多少の時間がかかります。たとえば、NSX Edge がルーターとして動作している場合、サービスの再起動によって動的なルーティングにダウンタイムが生じます。
2 台の NSX Edge 高可用性アプライアンスが他方と通信できなくなった場合、それぞれが単独でアクティブになることがあります。この動作は、スタンバイの NSX Edge が利用できない場合に、アクティブの NSX Edge でサービスを継続して提供できるようにするものです。他方のアプライアンスが利用可能で、通信が再度確立された場合は、2 台の NSX Edge 間でアクティブとスタンバイの状態を再度ネゴシエートします。ネゴシエートが終了せず、両方のアプライアンスがアクティブであると宣言した場合、予期しない動作が発生します。この状態はスプリット ブレインと呼ばれ、次のような環境で発生します。
- ネットワークのパーティショニングなど、物理ネットワークの接続に問題がある
- NSX Edge で CPU またはメモリの競合が発生している
- ストレージに一時的な問題が発生し、1 台以上の NSX Edge 高可用性仮想マシンが利用できない
たとえば、オーバープロビジョニング状態のストレージから仮想マシンを移動すると、NSX Edge 高可用性の安定性とパフォーマンスが改善します。特に、夜間の大規模バックアップでストレージの遅延が急増すると、NSX Edge 高可用性の安定性に影響します。
- 物理または仮想ネットワーク アダプタで、パケットの交換に関する輻輳が発生している
環境の問題に加えて、高可用性構成エンジンの状態が不良になった場合や、高可用性デーモンが失敗した場合にも、スプリット ブレイン状態になることがあります。
ステートフルな高可用性
プライマリ NSX Edge アプライアンスがアクティブの状態になり、セカンダリ アプライアンスがスタンバイの状態になります。NSX Manager は、プライマリ アプライアンスの設定をスタンバイ アプライアンスにレプリケートします。または、手動で 2 台のアプライアンスを追加することもできます。プライマリ アプライアンスとセカンダリ アプライアンスをそれぞれ異なるリソース プールとデータストアに作成します。プライマリ アプライアンスとセカンダリ アプライアンスを同じデータストアに作成する場合は、高可用性 (HA) 構成の対となる 2 台のアプライアンスを異なる ESXi ホストに展開します。そのため、クラスタ内のすべてのホストはこのデータストアを共有しなければなりません。データストアがローカル ストレージの場合は、両方の仮想マシンを同じホストに展開します。
すべての NSX Edge サービスは、アクティブなアプライアンス上で動作します。プライマリ アプライアンスは、スタンバイ アプライアンスとのハートビートを維持し、内部インターフェイスを通じてサービスのアップデートを送信します。
一定時間内(デフォルトは 15 秒)にプライマリ アプライアンスからハートビートが受信されない場合、プライマリ アプライアンスが応答不能になったと判断されます。スタンバイ アプライアンスがアクティブ状態となり、プライマリ アプライアンスのインターフェイス設定を引き継いで、プライマリ アプライアンスで実行されていた NSX Edge サービスを起動します。切り替えが行われると、設定およびレポートの [システム イベント (System Events)] タブにシステム イベントが表示されます。 ロード バランサおよび VPN サービスでは、NSX Edge との TCP 接続を再確立する必要があるため、サービスが短時間中断されます。論理スイッチ接続とファイアウォール セッションは、プライマリ アプライアンスとセカンダリ アプライアンス間で同期されますが、スタンバイ アプライアンスがアクティブに切り替わり、動作が引き継がれるまでサービスは中断します。
NSX Edge アプライアンスに障害が発生して、不良な状態がレポートされると、復旧のため、高可用性によって障害が発生したアプライアンスが強制的に同期されます。アプライアンスが復旧すると、アクティブ状態のアプライアンスの設定を受け継ぎ、スタンバイ状態になります。NSX Edge アプライアンスが応答不能の場合、このアプライアンスを削除し、新しいアプライアンスを追加する必要があります。
NSX Edge は、DRS および vMotion を使用した後であっても、2 台の高可用性 (HA) NSX Edge 仮想マシンを同じ ESXi ホスト上に配置しないようにします(vMotion を使用して手動で同じホストに配置した場合を除く)。2 台の仮想マシンは、構成したアプライアンスと同じリソース プールおよびデータストアにある vCenter Server にデプロイされます。NSX Edge の高可用性で使用する高可用性仮想マシンにはローカル リンク IP アドレスが割り当てられるため、それらの仮想マシン同士は通信できます。管理 IP アドレスを指定してローカル リンクをオーバーライドすることができます。
Syslog サーバが構成されている場合は、アクティブなアプライアンスのログが Syslog サーバに送信されます。
Cross-vCenter NSX 環境での高可用性
Cross-vCenter NSX 環境の NSX Edge で高可用性を有効にするには、アクティブとスタンバイの両方の NSX Edge アプライアンス が同じ vCenter Server 内に配置されている必要があります。NSX Edge 高可用性 (HA) ペアのいずれかのアプライアンスを別の vCenter Server に移行すると、高可用性の 2 台のアプライアンスがペアとして動作しなくなり、トラフィックの中断が発生する可能性があります。
vSphere High Availability
NSX Edge の高可用性は、vSphere HA と互換性があります。NSX Edge インスタンスが動作しているホストの応答がない場合、NSX Edge がスタンバイ ホスト上で再起動され、 2 台の仮想マシンを NSX Edge 高可用性 (HA) 構成にして、以降のフェイルオーバーに対応できるようにします。
vSphere HA が有効でない場合でも、アクティブ/スタンバイの NSX Edge 高可用性構成ホストであれば、1 回のフェイルオーバーは問題なく機能します。ただし、障害が発生した仮想マシンがリストアされる前に別のフェイルオーバーが発生した場合は、NSX Edge の可用性が失われる可能性があります。
vSphere HA の詳細については、『vSphere の可用性』を参照してください。