Citrix ADC

サービスの正常なシャットダウン

システムのアップグレードやハードウェアのメンテナンスなどのスケジュールされたネットワーク停止中に、一部のサービスを終了または無効にする必要があります。後で”enable service<name> コマンドを使用して、サービスを有効にすることができます。

確立されたセッションが中断されないようにするには、次のいずれかの操作を行って、サービスをTransition Out of Service (TROFS) 状態にします。

  • モニタへの TROFS コードまたは文字列の追加:モニタプローブへの応答として特定のコードまたは文字列を送信するようにサーバを設定します。
  • サービスを明示的に無効にし、次の操作を行います。
    • 遅延を秒単位で設定します。
    • 正常なシャットダウンを有効にします。

TROFS コードまたは文字列の追加

1 つのサービスにモニタを 1 つだけバインドし、そのモニタが TROFS 対応の場合、モニタプローブに対するサーバの応答に基づいて、サービスを TROFS 状態にすることができます。この応答は、HTTP モニターの場合は trofsCode パラメーターまたは HTTP-ECV モニターまたは TCP-ECV モニターの場合は trofsString パラメーター内の値と比較されます。コードが一致すると、サービスは TROFS 状態になります。この状態では、永続的な接続を維持し続けます。

複数のモニターがサービスにバインドされている場合、サービスの有効状態は、サービスにバインドされているすべてのモニターの状態に基づいて計算されます。TROFS 応答を受信すると、この計算のために TROFS 対応モニターの状態が UP と見なされます。Citrix ADCアプライアンスがサービスをUPとして指定する方法の詳細については、「サービスにバインドされたモニタのしきい値の設定」を参照してください。

重要

  • 1 つのサービスに複数のモニタをバインドできますが、複数のモニタを TROFS で有効にすることはできません。
  • TROFS 対応モニターを TROFS 対応でないモニターに変換することはできますが、その逆はできません。

コマンドラインインターフェイスを使用してモニタで TROFS コードまたは文字列を構成するには

コマンドプロンプトで、次のコマンドのいずれかを入力します。

add lb monitor <monitor-name> HTTP -trofsCode <respcode>

add lb monitor <monitor-name> HTTP-ECV  -trofsString <resp string>

add lb monitor <monitor-name> TCP-ECV  -trofsString <resp string>

コマンドラインインターフェイスを使用して TROFS コードまたは文字列を変更するには

コマンドプロンプトで、次のコマンドのいずれかを入力します。

set lb monitor <trofs monitorname> HTTP -trofscode <newcode>

set lb monitor <trofs monitorname> HTTP-ECV -trofsstring <new string>

set lb monitor <trofs monitorname> TCP-ECV -trofsstring <new string>

:set コマンドは、TROFS 対応モニターが以前に追加された場合にのみ使用できます。このコマンドを使用して、TROFS が有効でないモニタの TROFS コードまたは文字列を設定することはできません。

構成ユーティリティを使用してモニターで TROFS コードまたは文字列を構成するには

  1. [トラフィック管理] > [負荷分散] > [モニター] に移動します。
  2. [モニター] ウィンドウで、[追加] をクリックし、次のいずれかの操作を行います。
    • 「HTTP」としてタイプを選択し、「TROFS コード」を指定します。
    • 「タイプ」として「HTTP-ECV」または「TCP-ECV」を選択し、「TROFS 文字列」を指定します。

サービスの無効化

ただし、多くの場合、サービスへのすべての接続が既存のトランザクションを完了するために必要な時間を推定することはできません。待機時間が経過したときにトランザクションが完了していない場合、サービスをシャットダウンすると、データが失われる可能性があります。この場合、サービスに対して正常なシャットダウンを指定できます。これにより、現在アクティブなすべてのクライアント接続がサーバーまたはクライアントによって閉じられた場合にのみサービスが無効になります。正常なシャットダウンに加えて待機時間を指定した場合の動作については、次の表を参照してください。

正常なシャットダウンを有効にしても、指定された方法に従って永続性が維持されます。モニタによるチェックの結果として正常なシャットダウン状態の間にサービスが DOWN とマークされない限り、システムは、クライアントからの新しい接続を含む、すべての永続的なクライアントに対して引き続きサービスを提供します。

次の表に、正常なシャットダウンオプションを示します。

状態 結果
正常なシャットダウンが有効になり、待機時間が指定されます。 待機時間が経過していない場合でも、現在アクティブなクライアントの最後の接続が処理された後、サービスはシャットダウンされます。アプライアンスは毎秒1回、接続のステータスをチェックします。待機時間が経過すると、開いているセッションはすべて閉じられます。
正常なシャットダウンは無効になり、待機時間が指定されます。 サービスがシャットダウンされるのは、待機時間が経過した後で、確立されたすべての接続が期限切れになる前に提供されている場合のみです。
正常なシャットダウンは有効で、待機時間は指定されません。 最後の接続の処理にかかった時間に関係なく、以前に確立された最後の接続が処理された後にのみ、サービスがシャットダウンされます。
正常なシャットダウンは無効で、待機時間は指定されません。 正常なシャットダウンはありません。サービスは、disable オプションが選択されるか、disable コマンドが発行された直後にシャットダウンされます。(デフォルトの待機時間は 0 秒です)。

サービスまたは仮想サーバーが DOWN とマークされている場合に既存の接続を終了するには、[Down State Flush] オプションを使用します。詳しくは、「仮想サーバー接続のクリーンアップの有効化」を参照してください。

コマンドラインインターフェイスを使用してサービスの正常なシャットダウンを構成するには

コマンドプロンプトで次のコマンドを入力して、サービスを正常にシャットダウンし、構成を確認します。

disable service <name> [<delay>] [-graceFul (YES|NO)]

show service <name>

例:

> disable service svc1 6000 -graceFul YES
Done
>show service svc1
svc1 (10.102.80.41:80) - HTTP
State: GOING OUT OF SERVICE (Graceful, Out Of Service in 5998 seconds)
Last state change was at Mon Nov 15 22:44:15 2010
Time since last state change: 0 days, 00:00:01.160
...
Down state flush: ENABLED

1 bound monitor:
1) Monitor Name: tcp-default
State: UP             Weight: 1
Probes: 13898    Failed [Total: 0 Current: 0]
Last response: Probe skipped - live traffic to service.
Response Time: N/A
Done

>show service svc1
svc1 (10.102.80.41:80) - HTTP
State: OUT OF SERVICE
Last state change was at Mon Nov 15 22:44:19 2010
Time since last state change: 0 days, 00:00:03.250
Down state flush: ENABLED

1 bound monitor:
1)  Monitor Name: tcp-default
State: UNKNOWN           Weight: 1
Probes: 13898    Failed [Total: 0 Current: 0]
Last response: Probe skipped - service state OFS.
Response Time: N/A
Done

構成ユーティリティを使用してサービスの正常なシャットダウンを構成するには

  1. [ トラフィック管理 ] > [ ロードバランシング ] > [ サービス] に移動します。
  2. サービスを開き、[操作] リストから [無効] をクリックします。待機時間を入力し、[Graceful] を選択します。