このセクションでは、NSX Advanced Load Balancer SE の Elastic HA について説明します。
Elastic HA N+M モード
N+M は Elastic HA のデフォルト モードです。
このモードでは、各仮想サービスは通常 1 つの SE にのみ配置されます。
N+M の N は、SE グループに仮想サービスを配置するために必要な SE の最小数です。この計算は、サービス エンジンごとの仮想サービス パラメータに基づいて、NSX Advanced Load Balancer Controller によって実行されます。N は、仮想サービスがグループに配置されたりグループから削除されたりするため、時間の経過とともに変化します。
M は、SE グループのキャパシティを減らさずに最大で SE 障害の数 M までを処理するためにコントローラが起動する追加 SE の数です。M は [バッファ サービス エンジン] フィールドに表示されます。
N+M モードのバッファ SE は、仮想サービスが稼動している(少なくとも 1 つの SE に配置されている)状態で、ただし同じキャパシティでない場合に、システムが許容できる SE 障害の数です。SE グループに設定されている仮想サービスごとに特定の最小スケールがあり、その上に追加の SE が必要な場合は、計算に従ってバッファ SE を増やします。
Elastic HA N+M の例
次の図の左側は、1 つの SE グループに配置された 20 個の仮想サービスを示しています。SE あたりの仮想サービス数が 8 に設定されている場合、N は 3(20/8 = 2.5 を四捨五入)です。M = 1 の場合、グループ 2 には N+M = 3 + 1 = 4 の SE が必要です。
グループ内のすべての SE が完全なアイドル状態になることはありません。コントローラは、使用可能なすべての SE に仮想サービスを配置します。N+M モードでは、NSX Advanced Load Balancer は、1 つの (M=1) SE の障害を処理するのに集約された十分なバッファ キャパシティが存在することを確認します。この例では、4 つの SE それぞれに 5 つの仮想サービスが配置されています。追加の仮想サービスの配置には、合計 12 のスペアのスロットが引き続き使用できます。これは、1 つの SE 障害を処理するのに十分です。
次の図の右側は、SE2 で障害が発生した直後の SE グループを示しています。SE2 の 5 つの仮想サービスは、存続している SE(SE1、SE3、および S4)にあるスペアのスロットに配置されています。
次の 2 つのいずれかの状態が発生すると、負荷の不均衡は時間の経過とともに解消されます。
新しい仮想サービスがグループに配置される。M=1 状態を損なうことなく、仮想サービスを 4 つまで配置できます。NSX Advanced Load Balancer は最も負荷の少ない SE を最初に選択するため、これらは SE5 に配置されます。
自動リバランス オプションが選択される(上記の図を参照)。
M を 1 に設定すると、SE グループは単一 SE のフォルト トレランスになります。複数 SE のフォルト トレランスを希望する場合は、M をより大きくします。NSX Advanced Load Balancer では、管理者がサービスを中断せずに M を動的に増やすことができます。したがって、M=1(ほとんどの N+M 展開に共通)から開始し、条件が許せば増やします。
N+M グループがサービス エンジンの最大数にスケールアウトされ、SE ごとに N x 仮想サービスが配置されている場合、NSX Advanced Load Balancer は、VS の(M で表されるスペアの容量への)追加配置を許可しますが、HA_COMPROMISED イベントがログに記録されます。
書き込みアクセス クラウドの場合、NSX Advanced Load Balancer は 5 分後に仮想マシンを再起動して障害が発生した SE のリカバリを試みます。さらに 5 分後、NSX Advanced Load Balancer は障害が発生した SE 仮想マシンの削除を試みます。その後、新しい SE が起動し、構成されたバッファ キャパシティがリストアされます。
上の図に示すように、5 つの再配置の直後に残っているスロットのみで、 NSX Advanced Load Balancer Orchestrator モードが書き込みアクセスに設定されている場合、 NSX Advanced Load Balancer は M=1 条件を満たすために SE5 を起動します。この場合、再配置には少なくとも 8 個のスロットが必要です。
障害の原因を特定する時間を提供するために、SE グループで障害が発生した最初の SE は、5 分経過しても自動的に削除されません。このときに、障害が発生した SE でトラブルシューティングを実行し、リストアが不可能な場合は仮想マシンを手動で削除できます。SE 仮想マシンを手動で削除していない場合、3 日後にコントローラによって削除されます。
Elastic HA アクティブ/アクティブ
アクティブ/アクティブ モードでは、NSX Advanced Load Balancer は、[仮想サービスごとの最小スケール] パラメータ(デフォルトの最小値は 2)で指定されているように、各仮想サービスを複数の SE に配置します。グループ内の SE で障害が発生した場合:
実行されていた仮想サービスは中断されません。再度配置できるようになるまで、キャパシティが低下している他の SE で実行され続けます。
NSX Advanced Load Balancer の Orchestrator モードが書き込みアクセスに設定されている場合は、新しい SE が自動的に展開され、SE グループが以前のキャパシティに戻されます。新しい SE の起動を待機した後、コントローラは、障害が発生した SE で実行されていた仮想サービスをそこに配置します。
Elastic HA アクティブ/アクティブの例
以下の図は、SE の障害と完全なリカバリを示しています。
サービス エンジンごとの仮想サービス
仮想サービスごとの最小スケール
仮想サービスごとの最大スケール
サービス エンジンの最大数
時間の経過とともに、5 つの仮想サービス (VS1 ~ VS5) が配置されました。そのうちの 1 つ、VS3 は最初の 2 つの配置から 3 つにスケールアウトされ、NSX Advanced Load Balancer が「N-way アクティブ」仮想サービスをサポートしていることを示しています。
次の図に示すように、結果として SE3 で障害が発生し、2 つの VS2 インスタンスの 1 つ、および 3 つの VS3 インスタンスの 1 つで障害が発生します。その他の 3 つの仮想サービス(VS1、VS4、VS5)は影響を受けません。以前に SE4、SE5、および SE6 にインスタンスが配置されていたため、VS2 も VS3 も中断されません。パフォーマンスは低下しますが、引き続き実行されます。
次の図に示すように、NSX Advanced Load Balancer Controller は SE3 の代わりに SE7 を展開し、VS2 と VS3 を配置して、両方の仮想サービスを以前のレベルのパフォーマンスに引き上げます。
1 つの例外(スケールアウトされていない 1 つのみの SE に配置されている仮想サービスの Elastic HA、N+M バッファ モード)を除き、SE のアップグレード中も仮想サービスは中断されません。
1 つの例外(スケールアウトされていない 1 つのみの SE に配置されている仮想サービスの Elastic HA、N+M バッファ モード)を除き、SE のアップグレード中も仮想サービスは中断されません。
Elastic HA N + M モード(デフォルト)は通常、次の条件に該当するアプリケーションに適用されます。
アプリケーションに必要な SE のパフォーマンスは、1 つの SE のわずかなキャパシティで実現できるため、各仮想サービスは通常 1 つの SE に配置されます。
アプリケーションは短時間の停止を許容できますが、既存の SE に VS を配置してネットワークに接続する以上の時間は許容できません。通常、これは数秒以下です。
SE のバッファ キャパシティがすでに存在し、コンパクト配置がデフォルトのオンに設定されている場合、障害の影響を受ける仮想サービスの置き換えが高速化されます。NSX Advanced Load Balancer は、代替 SE の起動を待機しません。影響を受ける仮想サービスは、ただちにスペアのキャパシティに配置されます。
ほとんどのアプリケーションの HA 要件は、M=1 で満たされます。ただし、開発/テスト環境では、開発/テスト ユーザーが新しい SE が起動するのを待ってから VS を再び配置できるため、M を 0 に設定できます。
通常、Elastic HA アクティブ/アクティブ モードは、リカバリ中も仮想サービスを中断せずに続行する必要があるミッション クリティカルなアプリケーションに適用します。
自動リバランス オプションは Elastic HA モードにのみ適用され、デフォルトではオフになっています。自動リバランスがデフォルトのオフ状態の場合、移行を自動的に実行する代わりにイベントがログに記録されます。