NSX Advanced Load Balancer では、メンテナンスのためにバックエンド サーバをアクティブに無効にすることができます。メンテナンスのためにサーバが無効になっている場合、サーバは Disabled
とマークされます。既存のセッションは即時に終了するか、ユーザーが設定可能な最大タイムアウトでまたはタイムアウトなしでグレースフルに終了することができます。
プールに設定された Graceful Disable Timeout パラメータは、プール内のサーバを次のように無効にする方法を制御します。
Disable with immediate effect:すべてのクライアント セッションが即時に終了します。プールの [グレースフルな無効化のタイムアウト] パラメータは 0 に設定する必要があります。
Gracefully disable with a finite timeout:サーバに新しいセッションが送信されません。既存のセッションは、指定されたタイムアウトまでは自動的に終了できます。タイムアウトに達すると、残りのセッションは即時に終了します。プールの [グレースフルな無効化のタイムアウト] パラメータの範囲は 1 ~ 7,200 分である必要があります。
Gracefully disable with infinite timeout:サーバに新しいセッションが送信されません。既存のすべてのセッションは自動的に終了できます。プールの Graceful Disable Timeout パラメータは
-1
に設定する必要があります。
すべてのフローがドレインするまでサーバがグレースフルに無効になると、アイドル状態の接続(ある場合)は即時に削除されます。
インフライト接続は、要求が切り替わった仮想サービスの要求の終了時と、接続が切り替わった仮想サービスのクライアント接続の終了時に終了します。
タイムアウト値が指定されたサーバがグレースフルに無効になると、アイドル状態の接続は即時に終了し、ビジー状態の接続またはバインドされた接続はタイムアウトの終了時に終了します。既存の要求は、タイムアウトが終了するまで処理されます。既存の接続または新しい接続からのすべての新しい要求は、新しいサーバに送信されます。
プールの「グレースフルな無効化のタイムアウト」パラメータの設定
に移動して、プールのリストを表示します。
タイムアウト パラメータを設定するサーバを含むプールを特定し、プールの右端にある [鉛筆] アイコンをクリックします。
[プールの編集] ウィンドウで、[グレースフルな無効化のタイムアウト] フィールドを 0、-1、または 1 ~ 7,200 分の範囲内に設定します。
メンテナンスのためにサーバを無効にする
に移動します。
プール名をクリックします。
[サーバ] タブをクリックします。
無効にする各サーバの名前の横にあるオプションを選択します。
[無効化] ボタンをクリックします。
NSX Advanced Load Balancer は、サーバからの健全性チェック応答の情報を使用して、サーバがメンテナンス モードになったことを検出するように構成できます。詳細については、「健全性モニターでのサーバ メンテナンス モードの検出」を参照してください。
無効になっているプール サーバの動作は、次のように CLI を使用して構成できます。
次に示すように、disallow_new_connection を使用して、ノードまたはプール メンバーが既存の接続のタイムアウトを許可するが、新しい接続は許可しないように指定します。
configure pool <pool name> server_disable_type disallow_new_connection save
次に示すように、allow_new_connection_if_persistence_present を使用して、パーシステンスが無効になっている新しい接続の割り当てを禁止します。
configure pool <pool name> server_disable_type allow_new_connection_if_persistence_present save
allow_new_connection_if_persistence_present が構成されている場合、パーシステンス テーブルから無効なサーバが選択されると、タイマーが更新されます。
無効にすると、ノードまたはプール メンバーは永続的な接続とアクティブな接続を処理し続けます。
新しい接続は、接続が既存の永続的な接続に属している場合にのみ受け入れられます。
新しい接続のこのようなパーシステンス一致は、パーシステンスがタイムアウトするまで継続されます。