Citrix ADC

Mehrfachpfad für gleiche Kosten verwenden (ECMP)

Mithilfe des ECMP-Mechanismus (Equal Cost Multiple Path) für eine Clusterbereitstellung geben aktive Clusterknoten die IP-Adressen des virtuellen Servers an. Der Clusterknoten, der den angekündigten Datenverkehr empfängt, steuert den Datenverkehr zu dem Knoten, der den Datenverkehr verarbeiten muss. Es kann redundante Steuerungen in gepunkteten und teilweise gestreiften virtuellen Servern geben. Aus diesem Grund werden ab NetScaler 11 die IP-Adressen von gespotteten und teilweise gestreiften virtuellen Servern für die Besitzerknoten angekündigt, wodurch die redundante Steuerung reduziert wird.

Sie benötigen detaillierte Kenntnisse der Routingprotokolle, um ECMP verwenden zu können. Weitere Informationen finden Sie unter Dynamische Routen konfigurieren. Weitere Informationen zum Routing in einem Cluster finden Sie unterRouting in einem Cluster.

Um ECMP zu verwenden, müssen Sie zuerst Folgendes ausführen:

  • Aktivieren Sie das erforderliche Routingprotokoll (OSPF, RIP, BGP oder ISIS) für die Cluster-IP-Adresse.
  • Binden Sie die Schnittstellen und die gespotted IP-Adresse (mit aktiviertem dynamischem Routing) an ein VLAN.
  • Konfigurieren Sie das ausgewählte Routingprotokoll und verteilen Sie die Kernelrouten auf den ZebOS mit der vtysh-Shell.

Führen Sie ähnliche Konfigurationen auf der Cluster-IP-Adresse und auf dem externen Verbindungsgerät durch.

Hinweis:

  • Stellen Sie sicher, dass die Lizenzen auf dem Cluster dynamisches Routing unterstützen, andernfalls funktioniert ECMP nicht.
  • ECMP wird für virtuelle Wildcard-Server nicht unterstützt, da RHI eine VIP-Adresse benötigt, um an einen Router zu werben und Wildcard-virtuelle Server keine zugehörigen VIP-Adressen haben.

Abbildung 1. ECMP-Topologie

ECMP-Topologie

Wenn Sie den ECMP-Mechanismus für die Verteilung des Datenverkehrs in einer Clusterbereitstellung verwenden, geben die aktiven Clusterknoten die IP-Adressen des virtuellen Servers an den Upstream-Router an. Der ECMP-Router kann die VIP-Adresse über SNIP0, SNIP1 oder SNIP2 erreichen. Der Verkehrsfluss in Abbildung 1 wird wie folgt beschrieben:

  1. Der Client sendet eine Anfrage an die VIP, die auf dem Cluster gehostet wird.
  2. Der Upstream-Router, basierend auf den erlernten Routen der VIP, leitet das Paket an einen der Knoten weiter. Sagen wir NS1. Der Knoten NS1 ist der Flow Receiver.
  3. Der Flow Receiver (NS1) bestimmt den Knoten, der den Datenverkehr verarbeiten muss, der als Flow Processor bezeichnet wird. Beispiel: Knoten NS2 ist der Flussprozessor.
  4. Der Durchflussempfänger (NS1) mit SNIP1 (97.131.0.2) steuert die Anforderung mit SNIP2 (97.131.0.3) an den Flussprozessor (NS2).
  5. Der Flow Processor (NS2) stellt eine Verbindung mit dem Server her.
  6. Der Server verarbeitet die Anforderung und sendet die Antwort an die SNIP-Adresse, die die Anforderung an den Server gesendet hat.

Notizen:

  • Nur ACTIVE Knoten kündigen VIP-Routen an.
  • INACTIVE Knoten kündigen keine VIP-Routen an.
  • Alle ACTIVE Knoten kündigen gestreifte VIPs an.
  • Nur ACTIVE Besitzerknoten kündigen Spotted- oder Teil-Striped-VIPs an.

So konfigurieren Sie ECMP auf dem Cluster mit der Befehlszeilenschnittstelle

  1. Melden Sie sich bei der Cluster-IP-Adresse an.

  2. Aktivieren Sie das Routingprotokoll.

    enable ns feature <feature>
    

    Beispiel: Um das OSPF-Routingprotokoll zu aktivieren.

    enable ns feature ospf
    
  3. Fügen Sie ein VLAN hinzu.

    vlan hinzufügen <id>
    

    Beispiel

    add vlan 97
    
  4. Binden Sie die Schnittstellen der Clusterknoten an das VLAN.

    bind vlan <id> -ifnum <interface_name>
    

    Beispiel

    bind vlan 97 -ifnum 0/1/2 1/1/2 2/1/2
    
  5. Fügen Sie für jeden Knoten eine gespotted SNIP-Adresse hinzu, und aktivieren Sie dynamisches Routing.

    add ns ip <SNIP> <netmask> -ownerNode <positive_integer> -dynamicRouting ENABLED
    

    Beispiel

    add ns ip 97.131.0.1 255.0.0.0 -ownerNode 0 -dynamicRouting ENABLED -type SNIP
    add ns ip 97.131.0.2 255.0.0.0 -ownerNode 1 -dynamicRouting ENABLED -type SNIP
    add ns ip 97.131.0.3 255.0.0.0 -ownerNode 2 -dynamicRouting ENABLED -type SNIP
    
  6. Binden Sie eine der Spotted-SNIP-Adressen an das VLAN. Wenn Sie eine Spotted-SNIP-Adresse an ein VLAN binden, werden alle anderen SNIP-Adressen, die auf dem Cluster in diesem Subnetz definiert sind, automatisch an das VLAN gebunden.

    bind vlan <id> -IPAddress <SNIP> <netmask>
    

    Beispiel

    bind vlan 97 -ipAddress 97.131.0.1 255.0.0.0
    

    Hinweis:

    Sie können NSIP-Adressen der Clusterknoten verwenden, anstatt SNIP-Adressen hinzuzufügen. Wenn ja, müssen Sie die Schritte 3 - 6 nicht ausführen.

  7. Konfigurieren Sie das Routingprotokoll auf ZebOS mit vtysh shell.

    Beispiel:

    So konfigurieren Sie ein OSPF-Routingprotokoll für die Knoten-IDs 0, 1 und 2.

    vtysh
    ! interface vlan97 !
     router ospf   owner-node 0
    ospf router-id 97.131.0.1   exit-owner-node
    owner-node 1    ospf router-id 97.131.0.2
    exit-owner-node
    owner-node 2
    ospf router-id 97.131.0.3   exit-owner-node   redistribute kernel network 97.0.0.0/8 area 0  !
    

    Hinweis:

    Für VIP-Adressen, die angekündigt werden sollen, wird die RHI-Einstellung mithilfe des Parameters vserverRHILevel wie folgt durchgeführt:

    add ns ip <IPAddress> <netmask> -type VIP -vserverRHILevel <vserverRHILevel>
    

    Für OSPF-spezifische RHI-Einstellungen gibt es weitere Einstellungen, die wie folgt durchgeführt werden können:

    add ns ip <IPAddress> <netmask> -type VIP -ospfLSAType ( TYPE1 | TYPE5 ) -ospfArea <positive_integer>
    

    Verwenden Sie den Befehl add ns ip6, um die vorherigen Befehle für IPv6-Adressen auszuführen.

  8. Konfigurieren Sie ECMP auf dem externen Switch. Die folgenden Beispielkonfigurationen werden für den Cisco® Nexus 7000 C7010 Release 5.2 (1) Switch bereitgestellt. Ähnliche Konfigurationen müssen auf anderen Switches durchgeführt werden.

    //For OSPF (IPv4 addresses) Global config: Configure terminal  feature ospf    Interface config:  Configure terminal  interface Vlan10      no shutdown      ip address 97.131.0.5/8    Configure terminal  router ospf 1  network 97.0.0.0/8 area 0.0.0.0  ---------------------------------  
    
    //For OSPFv3 (IPv6 addresses) Global config:  Configure terminal  feature ospfv3    Configure terminal  interface Vlan10      no shutdown      ipv6 address use-link-local-only      ipv6 router ospfv3 1 area 0.0.0.0    Configure terminal  router ospfv3 1
    

Router-Monitoring-Clusterknoten in der ECMP-Bereitstellung

In einem Cluster-Setup können Sie auf einem Besitzerknoten mit einer SNIP-Adresskonfiguration nun die Option OwnerDownResponse deaktivieren. Standardmäßig ist die Option aktiviert, sodass der Knoten auf eine ICMP/ARP/ICMP6/ND6-Anforderung vom Upstream-Router reagieren kann. Sie können diese Option jetzt deaktivieren, damit der Router überwachen kann, ob ein Clusterknoten aktiv oder inaktiv ist. Wenn der Router eine Anforderung sendet und die Option deaktiviert ist, identifiziert er den Besitzerknoten als inaktiv und nicht für die Verkehrsverteilung verfügbar.

So konfigurieren Sie ECMP für die Verteilung statischer Routen mit der Befehlszeilenschnittstelle

add ns ip <ipddress> <netmask> -ownernode <node-id> –ownerDownResponse disable

Mehrfachpfad für gleiche Kosten verwenden (ECMP)