Citrix ADC

Ordnungsgemäßes Herunterfahren von Diensten

Während geplanter Netzwerkausfälle wie Systemaktualisierungen oder Hardwarewartung müssen Sie möglicherweise einige Dienste schließen oder deaktivieren. Sie können den Dienst später mithilfe des<name> Befehls enable service aktivieren.

Um zu vermeiden, dass etablierte Sitzungen unterbrochen werden, können Sie einen Dienst im TROFS-Status (Transition Out of Service) platzieren, indem Sie einen der folgenden Schritte ausführen:

  • Hinzufügen eines TROFS-Codes oder einer Zeichenfolge zum Monitor: Konfigurieren Sie den Server so, dass er einen bestimmten Code oder eine bestimmte Zeichenfolge als Antwort auf einen Monitor Probe sendet.
  • Deaktivieren Sie den Dienst explizit und:
    • Stellen Sie eine Verzögerung (in Sekunden) ein.
    • Aktivieren Sie das ordnungsgemäße Herunterfahren.

Hinzufügen eines TROFS-Codes oder einer Zeichenfolge

Wenn Sie nur einen Monitor an einen Dienst binden und der Monitor TROFS-fähig ist, kann er den Dienst auf der Grundlage der Antwort des Servers auf einen Monitor Probe in den TROFS-Status versetzen. Diese Antwort wird mit dem Wert im Parameter TrofsCode für einen HTTP-Monitor oder dem Parameter TrofsString für einen HTTP-ECV oder TCP-ECV Monitor verglichen. Wenn der Code übereinstimmt, wird der Dienst in den TROFS-Status abgelegt. In diesem Zustand werden die persistenten Verbindungen weiterhin berücksichtigt.

Wenn mehrere Monitore an einen Dienst gebunden sind, wird der effektive Status des Dienstes auf der Grundlage des Zustands aller Monitore berechnet, die an den Dienst gebunden sind. Nach Erhalt einer TROFS-Antwort wird der Status des TROFS-fähigen Monitors für die Zwecke dieser Berechnung als UP angesehen. Weitere Informationen dazu, wie eine Citrix ADC Appliance einen Dienst als UP bezeichnet, finden Sie unterFestlegen eines Schwellenwerts für die an einen Dienst gebundenen Monitore.

Wichtig:

  • Sie können mehrere Monitore an einen Dienst binden, dürfen jedoch nicht mehr als einen von ihnen für TROFS aktivieren.
  • Sie können einen TROFS-fähigen Monitor in einen Monitor konvertieren, der nicht TROFS-fähig ist, aber nicht umgekehrt.

So konfigurieren Sie einen TROFS-Code oder eine Zeichenfolge in einem Monitor mit der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung einen der folgenden Befehle ein:

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>

So ändern Sie den TROFS-Code oder die Zeichenfolge mit der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung einen der folgenden Befehle ein:

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>

Hinweis: Sie können den Befehl set nur verwenden, wenn früher ein TROFS-fähiger Monitor hinzugefügt wurde. Sie können diesen Befehl nicht verwenden, um den TROFS-Code oder die Zeichenfolge für einen Monitor festzulegen, der nicht TROFS aktiviert ist.

So konfigurieren Sie einen TROFS-Code oder eine Zeichenfolge in einem Monitor mit dem Konfigurationsdienstprogramm

  1. Navigieren Sie zu Traffic Management > Load Balancing > Monitore.
  2. Klicken Sie im Bereich Monitore auf Hinzufügen, und führen Sie eine der folgenden Aktionen aus:
    • Wählen Sie Typ als HTTP aus, und geben Sie einen TROFS-Code an.
    • Wählen Sie Typ als HTTP-ECV oder TCP-ECV aus, und geben Sie einen TROFS-String an.

Deaktivieren eines Dienstes

Häufig können Sie jedoch nicht schätzen, wie viel Zeit für alle Verbindungen zu einem Dienst benötigt wird, um die vorhandenen Transaktionen abzuschließen. Wenn eine Transaktion nach Ablauf der Wartezeit nicht abgeschlossen ist, kann das Herunterfahren des Dienstes zu Datenverlust führen. In diesem Fall können Sie ein ordnungsgemäßes Herunterfahren für den Dienst angeben, sodass der Dienst nur deaktiviert wird, wenn alle aktuellen aktiven Clientverbindungen entweder vom Server oder vom Client geschlossen werden. In der folgenden Tabelle finden Sie das Verhalten, wenn Sie zusätzlich zum ordnungsgemäßes Herunterfahren eine Wartezeit angeben.

Die Persistenz wird gemäß der angegebenen Methode beibehalten, auch wenn Sie ein ordnungsgemäßes Herunterfahren aktivieren. Das System bedient weiterhin alle persistenten Clients, einschließlich neuer Verbindungen von den Clients, es sei denn, der Dienst wird während des ordnungsgemäßen Herunterfahrens als Ergebnis der von einem Monitor durchgeführten Prüfungen auf DOWN markiert.

In der folgenden Tabelle werden die Optionen zum Herunterfahren beschrieben.

Status Ergebnisse
Das ordnungsgemäße Herunterfahren ist aktiviert und eine Wartezeit wird angegeben. Der Dienst wird heruntergefahren, nachdem die letzte der aktuellen aktiven Clientverbindungen bereitgestellt wurde, selbst wenn die Wartezeit nicht abgelaufen ist. Die Appliance überprüft den Status der Verbindungen einmal pro Sekunde. Wenn die Wartezeit abläuft, werden alle offenen Sitzungen geschlossen.
Das ordnungsgemäße Herunterfahren ist deaktiviert und eine Wartezeit wird angegeben. Der Dienst wird erst nach Ablauf der Wartezeit heruntergefahren, selbst wenn alle etablierten Verbindungen vor Ablauf bereitgestellt werden.
Das ordnungsgemäße Herunterfahren ist aktiviert und es wird keine Wartezeit angegeben. Der Dienst wird erst heruntergefahren, nachdem die letzte der zuvor eingerichteten Verbindungen bereitgestellt wurde, unabhängig von der Zeit, die für die letzte Verbindung gebraucht wurde.
Das ordnungsgemäße Herunterfahren ist deaktiviert und es wird keine Wartezeit angegeben. Kein ordnungsgemäßes Herunterfahren. Der Dienst wird sofort heruntergefahren, nachdem die Deaktivierungsoption ausgewählt wurde oder der Deaktivierungsbefehl ausgegeben wurde. (Die Standard-Wartezeit beträgt 0 Sekunden.)

Um vorhandene Verbindungen zu beenden, wenn ein Dienst oder ein virtueller Server als DOWN markiert ist, können Sie die Option Down-State-Flush verwenden. Weitere Informationen finden Sie unter Aktivieren der Bereinigung von virtuellen Serververbindungen.

So konfigurieren Sie ein ordnungsgemäßes Herunterfahren für einen Dienst mit der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um einen Dienst ordnungsgemäß herunterzufahren und die Konfiguration zu überprüfen:

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

show service <name>

Beispiel:

> 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

So konfigurieren Sie das ordnungsgemäße Herunterfahren für einen Dienst mit dem Konfigurationsdienstprogramm

  1. Navigieren Sie zu Traffic Management > Load Balancing > Services.
  2. Öffnen Sie den Dienst, und klicken Sie in der Liste Aktion auf Deaktivieren. Geben Sie eine Wartezeit ein und wählen Sie Graceful aus.