Citrix ADC

Prioritätsauftrag für GSLB-Dienste

Mit der Funktion “Prioritätsreihenfolge für Dienste” können Sie die Reihenfolge von Diensten oder Dienstgruppen basierend auf den Auswahleinstellungen für den Lastausgleich priorisieren. Sie können die Prioritätsreihenfolge konfigurieren, wenn Sie Folgendes tun:

  • Binden Sie einen Dienst an einen virtuellen GSLB-Server.
  • Binden Sie eine Dienstgruppe an einen virtuellen GSLB-Server.
  • Binden Sie ein Dienstgruppenmitglied an die GSLB-Dienstgruppe.

Derzeit können Sie die Prioritätsreihenfolge für Dienste mithilfe der folgenden Methoden konfigurieren. Diese Ansätze haben jedoch die folgenden Einschränkungen:  

  • Konfigurieren einer virtuellen Backupserverkette: Die Anzahl der Konfigurationszeilen ist hoch, und Sie müssen den Befehl show mehrmals ausführen, um den Status aller GSLB-Dienste für jeden virtuellen Server zu ermitteln.

  • Konfigurieren des bevorzugten Speicherorts: Sie müssen Standorteinträge für alle Ihre Anwendungsendpunkte erstellen.

Die Prioritätsreihenfolge für Dienste behebt die vorherigen Einschränkungen mit weniger Konfigurationsbefehlen und hilft Ihnen, die bevorzugte Standortkonfiguration zu erreichen, ohne dass die IP-Adressen aller GSLB-Dienste standortbezogen dargestellt werden müssen.

Prioritätsreihenfolge für GSLB-Dienste konfigurieren

Um die Prioritätsreihenfolge für GSLB-Dienste zu konfigurieren, wird der Parameter -order <number> zu den Bindungsbefehlen hinzugefügt.

Hinweis:

Die niedrigste Auftragsnummer hat die höchste Priorität.

Befehl:

bind gslb vserver <vservername> -servicename/servicegroupname <servicename/servicegroupname> -order <number>

Stellen Sie sich beispielsweise eine Reihe von Diensten vor, die an einen virtuellen GSLB-Server (gv1) gebunden sind. Mit dem Parameter
- order <number> können Sie die Reihenfolge der Auswahl der Dienste wie folgt priorisieren:

  • Set 1 (s1, s2) bound to gv1 – order 1
  • Set 2 (s3, s4) bound to gv1 – order 2
  • Set 3 (s5, s6) bound to gv1 – order 3

Nachdem Sie die Dienste an gv1 gebunden haben und gv1 den Clientverkehr empfängt, ist die Reihenfolge der Auswahl der Dienste wie folgt:

  • Der virtuelle Server (gv1) wählt die Dienste in Satz 1 (s1 und s2) mit der laufenden Nummer 1 aus, da diesem Set die niedrigste Ordnungsnummer zugewiesen ist. Standardmäßig hat die niedrigste Auftragsnummer die höchste Priorität.
  • Wenn alle Dienste in Satz 1 DOWN sind, wählt gv1 Satz 2 (s3 und s4) mit der laufenden Nummer 2.
  • Wenn alle Dienste in Satz 1 und Satz 2 ausgefallen sind, wählt gv1 Satz 3 (s5 und s6) mit der laufenden Nummer 3.

Konfigurieren der Prioritätsreihenfolge für GSLB-Dienste mithilfe der CLI

Um die Prioritätsreihenfolge für die GSLB-Dienste zu konfigurieren, geben Sie an der Eingabeaufforderung die folgenden Befehle ein:

  1. GSLB-Sites hinzufügen.

    add gslb site site1 1.1.1.1

    add gslb site site2 1.1.1.2

  2. Fügen Sie einen virtuellen GSLB-Server hinzu.

    add gslb vserver gv1 HTTP

  3. GSLB-Dienste hinzufügen.

    add gslb service gsvc1 1.1.1.3 http 80 -sitename site1

    add gslb service gsvc2 1.1.1.4 http 80 -sitename site2

    add gslb service gsvc3 1.1.1.5 http 80 -sitename site1

    add gslb service gsvc4 1.1.1.6 http 80 -sitename site2

    add gslb service gsvc5 1.1.1.7 http 80 -sitename site1

    add gslb service gsvc6 1.1.1.8 http 80 -sitename site2

  4. Legen Sie die Bestellnummer fest und binden Sie die Dienste an den virtuellen GSLB-Server.

    bind gslb vserver gv1 gsvc1 -order 1

    bind gslb vserver gv1 gsvc2 -order 1

    bind gslb vserver gv1 gsvc3 -order 2

    bind gslb vserver gv1 gsvc4 -order 2

    bind gslb vserver gv1 gsvc5 -order 3

    bind gslb vserver gv1 gsvc6 -order 3

Konfigurieren der Prioritätsreihenfolge für GSLB-Dienste über die GUI

Voraussetzungen:

  • Sie haben GSLB-Sites erstellt.
  • Sie haben einen virtuellen GSLB-Server erstellt.
  • Sie haben GSLB-Dienste erstellt.

Gehen Sie wie folgt vor, um die Prioritätsreihenfolge für GSLB-Dienste zu konfigurieren und sie an den virtuellen GSLB-Server zu binden:

  1. Navigieren Sie zuTraffic Management > GSLB > Virtuelle Server, und doppelklicken Sie auf den virtuellen GSLB-Server.

  2. Klicken Sie in GSLB Virtual Server im Abschnitt GSLB-Dienste und GSLB-Dienstgruppenbindung auf GSLB Virtual Server to GSLB Service Bindings.

  3. Klicken Sie im Dialogfeld GSLB-Dienste und GSLB-Dienstgruppenbindung auf Bindung hinzufügen.

  4. Wählen Sie im Dialogfeld GSLB Service Binding einen Dienst aus.

  5. Geben Sie eine Zahl in das Feld Reihenfolgeein, um die Prioritätsreihenfolge für den Dienst festzulegen.

    Prioritätsreihenfolge konfigurieren und GSLB Service binden

  6. Klicken Sie aufBind.

  7. Wiederholen Sie die Schritte 1—6, um unterschiedliche Prioritätsreihenfolgennummern für verschiedene Dienste zu konfigurieren

Konfigurieren der Prioritätsreihenfolge für GSLB-Dienste mithilfe von LB

Standardmäßig hat die niedrigste Auftragsnummer die höchste Priorität. Sie können dieses Standardverhalten jedoch mithilfe der neuen LB-Aktion und der Richtlinienbefehle aufschieben. Sie können die Reihenfolge der Serviceauswahl basierend auf dem eingehenden Clientverkehr oder den Kundendaten konfigurieren.

Stellen Sie sich beispielsweise eine Reihe von Diensten vor, die an einen virtuellen GSLB-Server (gv1) gebunden sind. Mit dem Parameter - order <number> haben Sie die Prioritätsreihenfolge für Dienste wie folgt konfiguriert:

  • Set 1 (s1, s2) bound to gv1 – order 1

  • Set 2 (s3, s4) bound to gv1 – order 2

  • Set 3 (s5, s6) bound to gv1 – order 3

Standardmäßig hat die niedrigste Auftragsnummer die höchste Priorität. Daher ist die standardmäßige Prioritätsreihenfolge der Präferenz 1, 2 und 3 für Dienste in Set 1, Set2 bzw. Set3. Für einen bestimmten Client-Traffic möchten Sie jedoch die Prioritätsreihenfolge auf 3, 1 und 2 ändern. Um dies zu erreichen, können Sie eine LB-Richtlinie hinzufügen und an gv1 binden.

Ein LB-Richtlinienbefehl besteht aus zwei Elementen: einer Regel und einer Aktion. Die Regel ist mit einer Aktion verknüpft, die ausgeführt wird, wenn eine Anforderung mit der Regel übereinstimmt.

Hinweis:

Die LB-Richtlinienbefehle gelten sowohl für die LB- als auch für die GSLB-Konfiguration und gelten für die Anforderungen, die von der Citrix ADC-Appliance verarbeitet werden.

LB-Aktion

**Ausdruck:**

add lb action <name> <type> <string>

**Beispiel:**

add lb action act1 -type SELECTIONORDER -value 3 2 1

Parameter:

  • name: Name der Aktion.

  • type: Art der Aktion.

  • string: Wert für die angegebene Aktion.

LB-Richtlinie

**Ausdruck:**

add lb policy <name> <rule> <action> <undefaction>

**Beispiel:**

add lb policy pol1 -rule CLIENT.IP.SRC.EQ(8.8.8.8) -action act1

Parameter:

  • name: Name der Richtlinie.

  • rule: Eine Regel besteht aus einem oder mehreren Ausdrücken. Die Regel ist mit einer Aktion verknüpft, die ausgeführt wird, wenn die Anforderung mit der Regel übereinstimmt.

  • action: DROP, NOLBACTION und RESET werden unterstützt.

  • undefaction: Die Citrix ADC-Appliance generiert ein undefiniertes Ereignis (UNDEF-Ereignis), wenn eine Anforderung nicht mit einer Richtlinie übereinstimmt. Sie können den Befehl set lb param -undefAction <action> verwenden, um die undefinierte Aktion festzulegen. Sie können diese Aktionen einem undefinierten Ereignis zuweisen: DROP, NOLBACTION und RESET.

Betrachten wir ein Beispiel, in dem Sie eine LB-Aktion, eine LB-Richtlinie, hinzufügen und die Richtlinie wie folgt an einen virtuellen GSLB-Server (gv1) binden:

add lb action act1 -type SELECTIONORDER -value 3 1 2

add lb policy pol1 -rule CLIENT.IP.SRC.EQ(8.8.8.8) -action act1

bind gslb vserver gv1 -policyName pol1 -priority 20 - gotoPriorityExpression END -type REQUEST

Die Regel wählt den Clientdatenverkehr aus, der der IP-Adresse entspricht 8.8.8.8, und sendet diesen Datenverkehr an gv1. Der Aktionstyp LB (SELECTIONORDER) definiert die Auswahlreihenfolge für Dienste. Nachdem Sie die LB-Richtlinie an gv1 gebunden haben und wenn gv1 den Clientdatenverkehr von der IP-Adresse empfängt8.8.8.8, werden die Dienste in der folgenden Reihenfolge ausgewählt:

  1. Der virtuelle Server (gv1) wählt Dienste in Satz 3 (s5 und s6) mit der Prioritätsreihenfolge 3 aus.

  2. Wenn alle Dienste in Satz 3 DOWN sind, wählt gv1 Satz 1 (s1 und s2) mit der Prioritätsreihenfolge 2 aus.

  3. Wenn alle Dienste in Satz 3 und Satz 2 ausgefallen sind, wählt gv1 Satz 1 (s1 und s2) mit der Reihenfolge 1.

Konfigurieren der Prioritätsreihenfolge für GSLB-Dienste mit LB-Richtlinienbefehlen mithilfe der CLI

Um die Prioritätsreihenfolge für GSLB-Dienste über LB-Richtlinienbefehle zu konfigurieren, geben Sie an der Eingabeaufforderung die folgenden Befehle ein:

  1. Fügt eine LB-Aktion hinzu.

    add lb action act1 -type SELECTIONORDER -value 3 1 2

  2. Eine LB-Richtlinie hinzufügen.

    add lb policy pol1 -rule CLIENT.IP.SRC.EQ(8.8.8.8) -action act1

  3. GSLB-Sites hinzufügen.

    add gslb site site1 1.1.1.1

    add gslb site site2 1.1.1.2

  4. Fügen Sie einen virtuellen GSLB-Server hinzu.

    add gslb vserver gv1 HTTP

  5. Binden Sie die LB-Richtlinie an den virtuellen GSLB-Server.

    bind gslb vserver gv1 -policyName pol1 -priority 20 - gotoPriorityExpression END -type REQUEST

  6. GSLB-Dienste hinzufügen.

    add gslb service gsvc1 1.1.1.3 http 80 -sitename site1

    add gslb service gsvc2 1.1.1.4 http 80 -sitename site2

    add gslb service gsvc3 1.1.1.5 http 80 -sitename site1

    add gslb service gsvc4 1.1.1.6 http 80 -sitename site2

    add gslb service gsvc5 1.1.1.7 http 80 -sitename site1

    add gslb service gsvc6 1.1.1.8 http 80 -sitename site2

  7. Legen Sie die Reihenfolge fest und binden Sie die Dienste an den virtuellen GSLB-Server.

    bind gslb vserver gv1 gsvc1 -order 1

    bind gslb vserver gv1 gsvc2 -order 1

    bind gslb vserver gv1 gsvc3 -order 2

    bind gslb vserver gv1 gsvc4 -order 2

    bind gslb vserver gv1 gsvc5 -order 3

    bind gslb vserver gv1 gsvc6 -order 3

Konfigurieren der Prioritätsreihenfolge für GSLB-Dienste mit den Befehlen der LB-Richtlinie über die GUI

Voraussetzungen:

  • Sie haben GSLB-Sites erstellt.
  • Sie haben einen virtuellen GSLB-Server erstellt.
  • Sie haben Dienste erstellt.

Schritt 1 — Erstellen einer LB-Aktion:

  1. Navigieren Sie zu AppExpert > LB > Aktionen.

  2. Klicken Sie inLB-AktionenaufHinzufügen.

  3. GebenSie im Dialogfeld LB-Aktionen erstellen Werte für die folgenden Parameter an:

    • Name der Aktion: act1
    • Typ: SELECTIONORDER
    • Wert: 3 1 2

      Hinweis:

      Die Zahlen im Feld Wertsind durch ein Leerzeichen getrennt.

    LB-Aktion hinzufügen

  4. Klicken Sie auf Erstellen.

Schritt 2 — Erstellen einer LB-Richtlinie:

  1. Navigieren Sie zu AppExpert > LB > Richtlinien.

  2. Klicken Sie in denLB-RichtlinienaufHinzufügen.

  3. GebenSie im Dialogfeld LB-Richtlinien erstellen Werte für die folgenden Parameter an:

    • Vorname: pol 1
    • Aktion: act 1
    • Aktion mit undefiniertem Ergebnis: NOLBACTION
    • Ausdruck: CLIENT.IP.SRC.EQ (8.8.8.8)

    LB-Richtlinie hinzufügen

  4. Klicken Sie aufErstellen.

Schritt 3 — Binden Sie die LB-Richtlinie an den virtuellen GSLB-Server:

  1. Navigieren Sie zuTraffic Management > GSLB > Virtuelle Server, und doppelklicken Sie auf den virtuellen GSLB-Server.

  2. Klicken Sie in GSLB Virtual Serverim Abschnitt Erweiterte Einstellungen aufRichtlinien.

  3. Klicken Sie im AbschnittRichtlinienauf GSLB Virtual Server LB-Richtlinienbindung.

  4. Geben Sie im Dialogfeld Richtlinienbindung Werte für die folgenden Parameter an:

    • Wählen Sie Policy: pol 1
    • Priorität: 10
    • Gehe zu Ausdruck: END

    LB-Richtlinie binden

  5. Klicken Sie auf Bind.

Schritt 4 — Prioritätsreihenfolge für GSLB-Dienste konfigurieren:

Informationen zum Konfigurieren der Prioritätsreihenfolge für GSLB finden Sie im Abschnitt Konfigurieren der Prioritätsreihenfolge für GSLB-Dienste über die GUI.

Persistenzeinstellungen für Dienste

Wenn Persistenz für einen Dienst konfiguriert ist, wird standardmäßig immer Persistenz bevorzugt.

Stellen Sie sich zum Beispiel einen Dienst mit konfigurierter Persistenz und Prioritätsreihenfolge 1 vor. Wenn ein Dienst mit der Prioritätsreihenfolge 0 AKTIV ist, wird immer der Dienst mit der Prioritätsreihenfolge 1 bevorzugt.

Sie können dieses Standardverhalten jedoch mit dem folgenden CLI-Befehl überschreiben:

set gslb param -overridePersistencyforOrder<YES/NO>

Betrachten wir das folgende Beispiel:

Eine Reihe von Diensten ist an einen virtuellen GSLB-Server (gv1) mit der folgenden Prioritätsreihenfolge gebunden:

  • Set 1 (s1, s2) bound to gv1 – order 1

  • Set 2 (s3, s4) bound to gv1 – order 2

Geben Sie an der Eingabeaufforderung den folgenden Befehl ein, um die Persistenz zu überschreiben:

set gslb parameter -overridePersistencyforOrder YES

Wenn Satz 1 (Dienste mit Persistenz sind konfiguriert) DOWN ist, dann behandeln Set 2 Dienste alle Anforderungen, bis die Dienste von Satz 1 UP sind. Ein Persistenzeintrag für Priorität 2 wird erstellt.

Nehmen wir an, dass die Set-1-Dienste nach einiger Zeit aktiv sind. Jetzt sind sowohl Set 1- als auch Set 2-Dienste UP, um die Anforderungen zu bearbeiten. In diesem Szenario werden neue Lastausgleichsentscheidungen getroffen, da Dienstleistungen mit höherem Auftrag in Betrieb sind. Der Persistenzeintrag wird mit einem neuen Load-Balancing-Eintrag überschrieben.

Priorität umschalten

Mit der Funktion zum Umschalten der Priorität können Sie während des Versionsupgrades für einen Dienst mit einer höheren Priorität den gesamten Datenverkehr auf einen Dienst mit niedriger Priorität umschalten. Sie können die folgenden Befehle verwenden, um die Priorität umzuschalten:

  • set gslb vserver –toggleorder <Ascending/Descending>

  • set gslb vserver v1 -orderthreshold 80

Betrachten wir zum Beispiel, dass es zwei Dienste mit den folgenden Prioritäten gibt:

  • Service 1- order 0
  • Service 2 – order 1

Standardmäßig verarbeitet Dienst 1 den gesamten Datenverkehr. Wenn Dienst 1 aktualisiert werden muss, muss der Datenverkehr zu Dienst 2 umgeleitet werden.

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um die Priorität umzuschalten:

set gslb vserver –toggleorder Descending

Standardmäßig hat 0 eine höhere Priorität. Nach dem Umschalten der Priorität wird 1 jedoch als höhere Priorität betrachtet. Wenn für den Dienst ein Persistenzeintrag vorhanden ist, wird das Verhalten der Persistenzeinstellung wie im AbschnittPersistenzeinstellungen für Dienste erläutert.