ADC

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

システムのアップグレードやハードウェアのメンテナンスなど、ネットワークが定期的に停止している間は、一部のサービスを終了または無効にしなければならない場合があります。後で「enable service」 <name> コマンドを使用してサービスを有効にできます。

確立されたセッションが中断されないようにするには、次のいずれかを実行してサービスをトランジションアウトオブサービス (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>
<!--NeedCopy-->

コマンドラインインターフェイスを使用して 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>
<!--NeedCopy-->

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

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

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

サービスを無効にする

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

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

次の表では、グレースフルシャットダウンオプションについて説明します。

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

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

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

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

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

show service <name>
<!--NeedCopy-->

例:

> 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
<!--NeedCopy-->

構成ユーティリティを使用してサービスのグレースフルシャットダウンを設定するには

  1. [Traffic Management] > [Load Balancing] > [Services] の順に移動します。
  2. サービスを開き、アクションリストから「無効」をクリックします。待機時間を入力し、[Graceful] を選択します。
サービスの正常なシャットダウン