ADC

Ordnungsgemäßes Herunterfahren von Diensten

Bei geplanten Netzwerkausfällen wie Systemupgrades oder Hardwarewartungen müssen Sie möglicherweise einige Dienste schließen oder deaktivieren. Sie können den Dienst später aktivieren, indem Sie den Befehl “enable service <name> verwenden.

Um zu vermeiden, dass bestehende Sitzungen unterbrochen werden, können Sie einen Dienst in den Status Transition Out of Service (TROFS) versetzen, 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 als Antwort an eine Monitorsonde einen bestimmten Code oder eine bestimmte Zeichenfolge sendet.
  • Deaktiviere 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 eine Monitorprobe in den TROFS-Status versetzen. Diese Antwort wird mit dem Wert im trofsCode-Parameter für einen HTTP-Monitor oder dem trofsString-Parameter für einen HTTP-ECV- oder TCP-ECV-Monitor verglichen. Wenn der Code übereinstimmt, wird der Dienst in den TROFS-Status versetzt. 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 Status 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 darüber, wie eine NetScaler Appliance einen Dienst als UP bezeichnet, finden Sie unter Festlegen 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 TROFS-fähig machen.
  • 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 mithilfe 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>
<!--NeedCopy-->

So ändern Sie den TROFS-Code oder die TROFS-Zeichenfolge mithilfe 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>
<!--NeedCopy-->

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

So konfigurieren Sie einen TROFS-Code oder eine TROFS-Zeichenfolge in einem Monitor mithilfe des Konfigurationsprogramms

  1. Navigieren Sie zu Traffic Management > Load Balancing > Monitore.
  2. Klicken Sie im Bereich Monitore auf Hinzufügen und führen Sie einen der folgenden Schritte 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.

Deaktivierung eines Dienstes

Oft können Sie jedoch nicht abschätzen, wie viel Zeit alle Verbindungen zu einem Dienst benötigen, um die bestehenden Transaktionen abzuschließen. Wenn eine Transaktion nach Ablauf der Wartezeit noch nicht abgeschlossen ist, kann das Herunterfahren des Dienstes zu Datenverlust führen. In diesem Fall können Sie das ordnungsgemäße Herunterfahren des Dienstes festlegen, sodass der Dienst nur deaktiviert wird, wenn alle aktuellen aktiven Client-Verbindungen entweder vom Server oder vom Client geschlossen werden. In der folgenden Tabelle finden Sie Informationen zum Verhalten, wenn Sie zusätzlich zum ordnungsgemäßen Herunterfahren eine Wartezeit angeben.

Die Persistenz wird gemäß der angegebenen Methode aufrechterhalten, auch wenn Sie das ordnungsgemäße 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 ordnungsmäßigen Herunterfahren beschrieben.

State Ergebnisse
Das ordnungsgemäße Herunterfahren ist aktiviert und eine Wartezeit ist angegeben. Der Dienst wird beendet, nachdem die letzte der aktuell aktiven Client-Verbindungen bedient wurde, auch wenn die Wartezeit noch 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 ist angegeben. Der Dienst wird erst nach Ablauf der Wartezeit heruntergefahren, auch wenn alle hergestellten Verbindungen vor Ablauf bedient werden.
Das ordnungsgemäße Herunterfahren ist aktiviert und es wurde keine Wartezeit angegeben. Der Dienst wird erst beendet, nachdem die letzte der zuvor hergestellten Verbindungen bedient wurde, unabhängig von der Zeit, die für die Bereitstellung der letzten Verbindung benötigt wurde.
Das ordnungsgemäße Herunterfahren ist deaktiviert und es wurde keine Wartezeit angegeben. Kein anmutiges Herunterfahren. Der Dienst wird sofort beendet, nachdem die Deaktivierungsoption ausgewählt oder der Befehl zum Deaktivieren ausgegeben wurde. (Die Standardwartezeit beträgt Null 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 Bereinigung virtueller Serververbindungen aktivieren.

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

Geben Sie an der Befehlszeile 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>
<!--NeedCopy-->

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

So konfigurieren Sie das ordnungsgemäße Herunterfahren eines Dienstes mithilfe des Konfigurationsprogramms

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