このセクションでは、NSX Advanced Load Balancer サービス エンジンの Elastic HA について説明します。
高可用性モード
NSX Advanced Load Balancer では、次の 2 つのモードがサポートされています。
-
サービス エンジンの Elastic HA モード:スケールアウト パフォーマンスと高可用性を組み合わせます。
-
N+M モード(デフォルト モード)
-
アクティブ/アクティブ
-
-
Legacy HA モード:レガシー アプライアンス ベースのロード バランサからスムーズに移行できます。
Elastic HA N+M モード
N+M モードは、Elastic HA のデフォルト モードです。このモードでは、各仮想サービスは 1 つの SE にのみ配置されます。
N+M の「N」は、SE グループに仮想サービスを配置するために必要な SE の最小数です。この計算は、Virtual Services per Service Engine パラメータに基づいて NSX Advanced Load Balancer Controller によって実行されます。「N」は、仮想サービスがグループに配置されたりグループから削除されたりするにつれて、時間の経過とともに変化します。サービス エンジンの最大数には「E」というラベルが付いています。
N+M の「M」は、SE グループのキャパシティを減らさずに SE 障害の数「M」を処理するために NSX Advanced Load Balancer Controller が起動する追加 SE の数です。「M」は [バッファ サービス エンジン] フィールドに表示されます。
仮想サービスごとの最小スケールには「B」というラベルが付けられ、仮想サービスごとの最大スケールには「C」というラベルが付けられます。
N+M モードのバッファ SE は、仮想サービスが稼動している(少なくとも 1 つの SE に配置されている)状態で、ただし同じ容量でない場合に、システムが許容できる SE 障害の数です。SE グループで、仮想サービスごとの最小スケールが設定され、追加の SE が必要な場合は、計算に従ってバッファ SE を増やします。
N+M モード パラメータを選択するには、 の順に移動します。新しい SE グループを作成するか、既存の SE グループを編集できます。
[高可用性モード] オプションは、[配置] タブで使用できます。
Elastic HA N+M モードの例
以下の左側の図に示すように、SE グループには 20 の仮想サービスが配置されています。
SE あたりの仮想サービス数が 8 に設定されている場合、N は 3(20/8 = 2.5 を四捨五入)です。
M = 1 の場合、グループには N+M = 3 + 1 = 4 つの SE が必要です。
グループ内には完全なアイドル状態の SE がありません。コントローラは、使用可能なすべての SE に仮想サービスを配置します。N+M モードでは、NSX Advanced Load Balancer は、1 つの (M=1) SE 障害を処理するのに十分な合計バッファ キャパシティが存在することを確認します。この例では、4 つの SE それぞれに 5 つの仮想サービスが配置されています。追加の仮想サービスの配置には、合計 12 のスペアのスロットが引き続き使用できます。これは、1 つの SE 障害を処理するのに十分です。
次の 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 は、仮想サービスの(「M」で表される予備のキャパシティへの)追加配置を許可しますが、HA_COMPROMISED
イベントがログに記録されます。
上記の図に示すように、5 回の再配置の直後に残っているスロットが 4 つで、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 の障害と完全なリカバリを示しています。イメージには、以下の仕様の SE グループが示されています。
-
サービス エンジンごとの仮想サービス数 = 3(ユーザー インターフェイスのラベル A)
-
仮想サービスあたりの最小スケール = 2(ラベル B)
-
仮想サービスあたりの最大スケール = 4(ラベル C)
-
サービス エンジンの最大数 = 6(ラベル E)
一定時間内に、5 つの仮想サービス (VS1-VS5) が配置されます。VS3 は、最初の 2 つの配置から 3 番目の場所に拡張され、「N-way アクティブ」仮想サービスに対する NSX Advanced Load Balancer のサポートを示します。次のイメージは、アクティブ/アクティブ SE グループに配置された 5 つの仮想サービスを示します。
次のイメージは、SE3 が失敗したことを示します。その結果、2 つの VS2 インスタンスのうちの 1 つと 3 つの VS3 インスタンスのうちの 1 つが失敗しました。ただし、その他の 3 つの仮想サービス(VS1、VS4、VS5)は影響を受けません。また、これらのインスタンスは以前に SE4、SE5、および SE6 に配置され、パフォーマンスが低下しても引き続き動作するため、VS2 も VS3 も中断されません。次のイメージでは、アクティブ/アクティブ SE グループの単一の SE 障害を表示することもできます。
NSX Advanced Load Balancer Controller は SE3 の代わりに SE7 を展開し、VS2 と VS3 を配置して、両方の仮想サービスを以前のレベルのパフォーマンスに引き上げます。次のイメージは、アクティブ/アクティブ SE グループ内の単一の SE のリカバリを示しています。
コンパクト配置
[コンパクト] 配置が有効な場合、NSX Advanced Load Balancer は必要な最小数の SE を使用します。[分散] 配置が有効な場合、NSX Advanced Load Balancer はサービス エンジンの最大数で許可される制限内で必要な数の SE を使用します。デフォルトでは、Elastic HA、[N+M(バッファ)] モードの場合は [コンパクト] 配置は有効になっています。デフォルトでは、Elastic HA、アクティブ/アクティブ モードの場合は [分散] 配置は有効になっています。
コンパクト配置の例
以下の図は、サービス エンジンの最大数が 4 である Elastic HA、N+M モードの SE グループに対するコンパクト配置の影響を示します。コンパクト配置と分散配置の両方の例では、次のようになります。
-
8 つの仮想サービスが順番に作成されます。
-
VS1 が配置されると、M=1(単一の SE 障害を処理)のため SE2 が展開されます。
-
VS2 の配置が必要な場合、NSX Advanced Load Balancer はアイドル状態の SE2 に割り当てて、実行中のすべての SE を最大限に活用します。
この時点で、配置の動作に変化が起き、次のようになります。
-
コンパクト配置がオン:VS3 から VS8 までの後続の配置では、HA を維持するために追加の SE を必要としません(M=1 => 単一の SE 障害)。[コンパクト] 配置がオンの場合、NSX Advanced Load Balancer は仮想サービスを優先的に既存の SE に配置します。
-
分散配置がオン:VS3 と VS4 の後続の配置では、SE グループの数が最大数である 4 にスケール アウトされ、NSX Advanced Load Balancer がリソースを犠牲にしてパフォーマンスを優先することを示します。展開された SE の数がこのグループの最大数である 4 に達すると、NSX Advanced Load Balancer は、仮想サービス VS5 から VS8 を、負荷が最も少ない既存の SE に配置します。以下の図は、[コンパクト] 配置がオンの場合とオフの場合の Elastic HA N+1 SE グループを示します。次に示すように、8 つの連続した仮想サービス配置があります。
Elastic HA モードを使用したコンパクト配置の相互作用
コンパクト配置は、タイミングに関して Elastic HA モードとわずかに相互作用します。
-
Elastic HA N+M mode:N+M モードではデフォルトでコンパクト配置がオンになっているため、仮想サービスをすぐに既存の SE に集中的にパックするのではなく、予備のキャパシティを NSX Advanced Load Balancer Controller によって遅らせて展開することを推奨します。
-
Elastic HA active/active mode:アクティブ/アクティブ モードではデフォルトで分散配置オプションがオンになっているため、NSX Advanced Load Balancer Controller は置き換え SE7 が起動するまで VS2 と VS3 の配置を遅らせます。追加のアクティビティは、存続している 4 つの SE(SE1、SE2、SE4、SE5)に配置されません。代わりに、両方の仮想サービスが新しい SE に配置されるため、すべての仮想サービスは障害が発生する前と同様に実行されます。
自動リバランス
[自動リバランス] オプションは Elastic HA モードにのみ適用され、デフォルトではオフになっています。自動リバランスがデフォルトのオフの状態のままになっている場合、移行を自動的に実行する代わりにイベントがログに記録されます。[自動リバランス] を有効にするには、「NSX Advanced Load Balancer CLI を使用して自動リバランスを構成する方法」を参照してください。
自動リバランスがデフォルトの状態である場合、移行を自動的に実行する代わりにイベントがログに記録されます。