Konfigurieren von Layer-3-Clustering
Den L3-Cluster verstehen
Die Notwendigkeit, die Bereitstellung von Hochverfügbarkeit auszuweiten und die Skalierbarkeit des Client-Traffics in verschiedenen Netzwerken zu erhöhen, führte zur Einrichtung des L3-Clusters. Mit dem L3-Cluster können Sie NetScaler-Appliances in einzelnen Subnetzen gruppieren (L2-Cluster).
Der L3-Cluster wird auch als „Cluster im INC-Modus (Independent Network Configuration)“ bezeichnet. Bei der L3-Cluster-Bereitstellung werden die Clusterknoten im selben Netzwerk zu einer Knotengruppe gruppiert. Der L3-Cluster verwendet GRE-Tunneling, um die Pakete über Netzwerke zu steuern. Die Heartbeat-Nachrichten über die L3-Cluster werden weitergeleitet.
Architektur
Die L3-Cluster-Architektur umfasst die folgenden Komponenten:
-
Nodegroup — Die Clusterknoten aus jedem Netzwerk (n1, n2) und (n3, n4) werden, wie in der folgenden Abbildung dargestellt, zu einer Knotengruppe gruppiert. Diese Knotengruppen sind an den Layer-3-Switch auf beiden Seiten des Netzwerks angeschlossen.
- Der Cluster kommuniziert mit dem Client über die physischen Verbindungen zwischen dem Clusterknoten und dem clientseitigen Verbindungsgerät. Die logische Gruppierung dieser physischen Verbindungen wird als Client-Datenebene bezeichnet.
- Der Cluster kommuniziert mit dem Server über die physischen Verbindungen zwischen dem Clusterknoten und dem serverseitigen Verbindungsgerät. Die logische Gruppierung dieser physikalischen Verbindungen wird als Serverdatenebenebezeichnet.
- Backplane Switch — Clusterknoten innerhalb desselben Netzwerks kommunizieren über die Cluster-Backplane miteinander. Die Backplane besteht aus einer Reihe von Schnittstellen, bei denen eine Schnittstelle jedes Knotens mit einem gemeinsamen Switch verbunden ist, der als Cluster-Backplane-Switch bezeichnet wird.
-
Tunnel — Standardmäßig werden die Pakete zwischen Knoten in einem L3-Cluster über einen unverschlüsselten GRE-Tunnel ausgetauscht, der die NSIP-Adressen der Quell- und Zielknoten für das Routing verwendet. Der Steuerungsmechanismus ändert sich für Knoten, die zu dem anderen Netzwerk gehören. Die Pakete werden durch einen GRE-Tunnel zum Knoten im anderen Subnetz geleitet, anstatt den MAC neu zu schreiben.
Hinweis:
Für eine neue Bereitstellung empfehlen wir, den UDP-Tunnel zu verwenden, um die Pakete über Netzwerke zu steuern. Die Verwendung eines UDP-Tunnels bietet folgende Vorteile:
- Die Steuerung zwischen den Paket-Engines basiert auf 4-Tupel, was für eine bessere Verteilung sorgt.
- Sie können die Verzerrung der CPU-Auslastung vermeiden.
In der folgenden Tabelle erfahren Sie, wie Pakete in verschiedenen Tunnelmodi gesteuert werden.
Tunnelmodus Das gleiche Netzwerk Anderes Netzwerk Ohne Die Backplane wird verwendet, um die Pakete zu steuern. Der GRE-Tunnel wird verwendet, um den Verkehr zu steuern. GRE Der GRE-Tunnel wird verwendet, um die Pakete zu steuern. Der GRE-Tunnel wird verwendet, um die Pakete zu steuern. UDP Der UDP-Tunnel wird verwendet, um die Pakete zu steuern. Der UDP-Tunnel wird verwendet, um die Pakete zu steuern.
Beispiel
Stellen Sie sich ein Beispiel für eine L3-Cluster-Bereitstellung vor, die aus den folgenden Komponenten besteht:
- Drei NetScaler-Appliances (n1, n2 und n3) sind in Nodegroup1 gruppiert.
- In ähnlicher Weise sind die Knoten n4 und n5 in Nodegroup2 gruppiert. Im dritten Netzwerk gibt es zwei Knotengruppen. Nodegroup3 umfasst n6 und n7 und Nodegroup4 umfasst n8 und n9.
- Die NetScaler Appliances, die zu demselben Netzwerk gehören, werden zu einer Knotengruppe kombiniert.
Punkte, die vor der Konfiguration des L3-Clusters zu beachten sind
Beachten Sie die folgenden Punkte, bevor Sie den L3-Cluster auf einer NetScaler Appliance konfigurieren:
- Die Backplane ist bei der Konfiguration von L3-Subnetzen nicht erforderlich. Wenn die Rückwandplatine nicht angegeben ist, geht der Knoten nicht in den Ausfallzustand der Backplane über.
Hinweis:
Wenn Sie mehr als einen Knoten im selben L2-Netzwerk haben, muss die Backplane-Schnittstelle definiert werden. Wenn die Backplane-Schnittstelle nicht erwähnt wird, gehen die Knoten in den Status Backplane-Fail über.
-
L2-Funktionen und Striped SNIPs werden im L3-Cluster nicht unterstützt.
- Die externe Verkehrsverteilung im L3-Cluster unterstützt nur Equal Cost Multiple Path (ECMP).
- Die ICMP-Fehler und die Fragmentierung werden nicht verarbeitet, wenn das Steering in einer L3-Cluster-Bereitstellung deaktiviert ist:
- Die Netzwerkentitäten (
route, route6, pbr
, undpbr6
) müssen an die Konfigurationsknotengruppe gebunden sein. - VLAN-, RNAT- und IP-Tunnel können nicht an eine Konfigurationsknotengruppe gebunden werden.
- Die Konfigurationsknotengruppe muss immer die Eigenschaft STRICT “YES” haben.
- Die Clusterknoten dürfen nicht mit dem Befehl “add cluster node” zu einer Konfigurationsknotengruppe hinzugefügt werden.
- Der Befehl
add cluster instance -INC enabled
löscht die Netzwerkentitäten (route, route6, PBR, pb6, RNAT, IP-Tunnel, ip6tunnel). - Der Befehl
clear config extended+
löscht die Entitäten (route, route6, PBR, pb6, RNAT, IP-Tunnel, ip6tunnel) in einem L3-Cluster nicht.
Konfigurieren des L3-Clusters
In einer L3-Clusterkonfiguration hat der Clusterbefehl verschiedene zu konfigurierende Attribute, die auf Knoten und Knotengruppen basieren. Die L3-Clusterkonfiguration umfasst neben IPv4-Profilen auch ein IPv6-Profil.
Das Konfigurieren eines L3-Clusters auf einer NetScaler Appliance besteht aus den folgenden Aufgaben:
- Erstellen einer Clusterinstanz
- Erstellen einer Knotengruppe im L3-Cluster
- Fügen Sie dem Cluster eine NetScaler Appliance hinzu und gruppieren Sie mit Knotengruppe
- Fügen Sie dem Knoten die Cluster-IP-Adresse hinzu
- Aktivieren Sie die Cluster-Instanz
- Speichern Sie die Konfiguration
- Fügen Sie einen Knoten zu einer vorhandenen Knotengruppe hinzu
- Erstellen einer Knotengruppe im L3-Cluster
- Gruppieren Sie neue Knoten zur neu erstellten Knotengruppe
- Fügen Sie den Knoten dem Cluster hinzu
Folgendes mithilfe der CLI konfigurieren
-
Um eine Cluster-Instance zu erstellen
add cluster instance <clid> -inc <ENABLED|DISABLED> -processLocal <ENABLED|DISABLED>
Hinweis:
Der Parameter „inc“ muss für einen L3-Cluster AKTIVIERT sein.
-
Um eine Knotengruppe im L3-Cluster zu erstellen
add cluster nodegroup <name>
-
Um dem Cluster eine NetScaler Appliance hinzuzufügen und sie der Knotengruppe zuzuordnen
add cluster node <nodeid> <nodeip> -backplane <interface_name> nodegroup <ng> –tunnelmode UDP
-
Um die Cluster-IP-Adresse auf diesem Knoten hinzuzufügen
add ns ip <IPAddress> <netmask> -type clip
-
Aktivieren Sie die Cluster-Instanz
enable cluster instance <clId>
-
Speichern Sie die Konfiguration
save ns config
-
Warmer Neustart der Appliance
reboot -warm
-
Um einen neuen Knoten zu einer vorhandenen Knotengruppe hinzuzufügen
add cluster node <nodeid> <nodeip> -nodegroup <ng> –tunnelmode UDP
-
Um eine neue Knotengruppe im L3-Cluster zu erstellen
add cluster nodegroup <ng>
-
Um neue Knoten der neu erstellten Knotengruppe zuzuordnen
add cluster node <nodeid> <nodeip> -nodegroup <ng> –tunnelmode UDP
-
Um den Knoten mit dem Cluster zu verbinden
join cluster –clip <ip_addr> -password <password>
Example: The following is an example configuration for nodegroup1 and nodegroup2.
> add cluster instance 1 –inc ENABLED –processLocal ENABLED
Done
> add cluster nodegroup ng1
Done
> add cluster node 0 1.1.1.1 –state ACTIVE -backplane 0/1/1 –nodegroup ng1 –tunnelmode UDP
Done
> add ns ip 1.1.1.100 255.255.255.255 –type clip
Done
> enable cluster instance 1
Done
> save ns config
Done
> add cluster node 1 1.1.1.2 –state ACTIVE –nodegroup ng1 –tunnelmode UDP
Done
> add cluster nodegroup ng2
Done
> add cluster node 4 2.2.2.1 –state ACTIVE –nodegroup ng2 –tunnelmode UDP
Done
> add cluster node 5 2.2.2.2 –state ACTIVE –nodegroup ng2 –tunnelmode UDP
Done
> join cluster -clip 1.1.1.100 -password nsroot
<!--NeedCopy-->
Werbecluster-IP-Adresse eines L3-Clusters
Konfigurieren Sie die Cluster-IP-Adresse, die dem Upstream-Router bekannt gegeben wird, um die Clusterkonfiguration von jedem Subnetz aus zugänglich zu machen.Die Cluster-IP-Adresse wird von den auf einem Knoten konfigurierten dynamischen Routing-Protokollen als Kernel-Route angekündigt.
Die Ankündigung der Cluster-IP-Adresse besteht aus den folgenden Aufgaben:
- Aktivieren Sie die Host-Route-Option der Cluster-IP-Adresse.Die Host-Route-Option überträgt die Cluster-IP-Adresse an eine ZeBOS-Routingtabelle, um die Kernelroute über dynamische Routing-Protokolle umzuverteilen.
- Konfiguration eines dynamischen Routing-Protokolls auf einem Knoten.Ein dynamisches Routingprotokoll gibt die Cluster-IP-Adresse an den Upstream-Router an. Weitere Informationen zum Konfigurieren eines dynamischen Routingprotokolls finden Sie unterKonfigurieren dynamischer Routen.
So aktivieren Sie die Host-Routenoption der Cluster-IP-Adresse mit der CLI
Geben Sie in der Befehlszeile Folgendes ein:
add nsip <IPAddress> <netmask> -hostRoute ENABLED
show nsip <IPAddress>
> add ns ip 10.102.29.60 255.255.255.255 -hostRoute ENABLED
> Done
<!--NeedCopy-->
Spotted, partially striped configurations on L3 cluster
Die spotted und partially Striped Konfigurationen auf dem L3-Cluster unterscheiden sich geringfügig vom L2-Cluster. Die Konfiguration kann von Knoten zu Knoten unterschiedlich sein, da sich die Knoten in verschiedenen Subnetzen befinden. Die Netzwerkkonfigurationen können im L3-Cluster knotenspezifisch sein, daher müssen Sie die Spotted- oder teilweise Striped-Konfigurationen auf der Grundlage der unten genannten Parameter konfigurieren.
Führen Sie die folgenden Aufgaben aus, um gespernte, teilweise Striped Konfigurationen auf einer NetScaler Appliance über den L3-Cluster zu konfigurieren:
- Fügen Sie einer statischen IPv4-Routingtabelle eine Cluster-Besitzergruppe hinzu
- Eine Cluster-Besitzergruppe zu einer statischen IPv6-Routingtabelle hinzufügen
- Hinzufügen einer Cluster-Besitzergruppe zu einem IPv4-Policy-basierten Routing (PBR)
- Eine Cluster-Besitzergruppe zu einem IPv6-PBR hinzufügen
- Fügen Sie ein VLAN hinzu
- Binden Sie ein VLAN an eine bestimmte Besitzergruppe der Clusterknotengruppe
Folgendes mithilfe der CLI konfigurieren
-
Um eine Cluster-Besitzergruppe zu einer statischen IPv4-Routentabelle der NetScaler Appliance hinzuzufügen
add route <network> <netmask> <gateway> -owner group <ng>
-
Um eine Cluster-Besitzergruppe zu einer statischen IPv6-Routentabelle der NetScaler Appliance hinzuzufügen
add route6 <network> -owner group <ng>
-
So fügen Sie einer IPv4-PBR eine Cluster-Besitzergruppe hinzu
add pbr <name> <action> -owner group <ng>
-
Um eine Cluster-Besitzergruppe zu einer IPv6-PBR hinzuzufügen
add pbr6 <name> <action> -owner group <ng>
-
Um ein VLAN hinzuzufügen
add vlan <id>
-
Um ein VLAN an eine bestimmte Besitzergruppe der Clusterknotengruppe zu binden
bind vlan <id> -ifnum – [IPAddress <ipv4_addr | ipv6_addr> [-owner group <ng>]
Die folgenden Befehle sind Beispielbeispiele für Konfigurationen mit Punkten und teilweise Striped Konfigurationen, die mithilfe der CLI konfiguriert werden können.
> add route 10.102.29.0 255.255.255.0 10.102.29.2 –ownergroup ng2
Done
> add route6 fe80::9404:60ff:fedd:a464/64 –ownergroup ng1
Done
> add pbr pbr1 allow –ownergroup ng1
Done
> add pbr6 pbr2 allow –ownergroup ng2
Done
> add vlan 2
Done
> bind vlan 2 –ifnum 1/2 –[IPAddress 10.102.29.80 | fe80::9404:60ff:fedd:a464/64-ownergroup ng1
Done
<!--NeedCopy-->
Knotengruppe konfigurieren
In einem L3-Cluster werden die folgenden Befehle verwendet, um denselben Satz von Konfigurationen auf mehr als einer Knotengruppe zu replizieren:
Folgendes mithilfe der CLI konfigurieren
-
Um der Routing-Tabelle der NetScaler Appliance eine statische IPv4-Route hinzuzufügen
add route <network> <netmask> <gateway> -ownerGroup <ng>
Beispielkonfiguration:
add route 0 0 10.102.53.1 –ownerGroup ng1
add route 0 0 10.102.53.1 –ownerGroup ng2
<!--NeedCopy-->
Sie definieren eine neue Knotengruppe ‘all’, um die vorherige Konfiguration zu unterstützen, und müssen die folgenden Befehle konfigurieren:
Folgendes mithilfe der CLI konfigurieren
-
Um dem Cluster eine neue Knotengruppe mit strikten Parametern hinzuzufügen
add cluster node group <name> -strict <YES | NO>
-
Um einen Clusterknoten oder eine Entität an die angegebene Knotengruppe zu binden
bind cluster nodegroup <name> -node <nodeid>
-
Um eine statische IPv4-Route zu allen Besitzergruppen hinzuzufügen
add route <network> <netmask> <gateway> -ownerGroup <ng>
Beispielkonfiguration:
add cluster nodegroup all –strict YES
bind cluster nodegroup all –node 1
bind cluster nodegroup all –node 2
add route 0 0 10.102.53.1 –ownerGroup all
<!--NeedCopy-->
Verkehrsverteilung in einem L3-Cluster
In einem Cluster-Setup zeigen externe Netzwerke die Sammlung von NetScaler Appliances als einzelne Entität an. Daher muss der Cluster einen einzelnen Knoten auswählen, der den Datenverkehr empfangen muss. Im L3-Cluster erfolgt diese Auswahl mit dem ECMP. Der ausgewählte Knoten wird als Flow Receiver bezeichnet.
Hinweis
Für einen L3-Cluster (Knoten in verschiedenen Netzwerken) kann nur die ECMP-Verkehrsverteilung verwendet werden.
Der Flow-Empfänger erhält den Datenverkehr und bestimmt dann mithilfe der internen Clusterlogik den Knoten, der den Verkehr verarbeiten muss. Dieser Knoten wird als Flow-Prozessor bezeichnet. Der Flow-Empfänger leitet den Datenverkehr über die Backplane zum Flow-Prozessor, wenn sich der Flow-Receiver und der Flow-Prozessor im selben Netzwerk befinden. Der Verkehr wird durch den Tunnel geleitet, wenn sich der Flow-Empfänger und der Flow-Prozessor in unterschiedlichen Netzwerken befinden.
Hinweis
Der Flow-Empfänger und der Flow-Prozessor müssen Knoten sein, die Datenverkehr verarbeiten können.
Ab NetScaler 11 können Sie die Steuerung auf der Cluster-Backplane deaktivieren. Weitere Informationen finden Sie unter Deaktivieren der Lenkung auf der Cluster-Backplane.
Die vorangehende Abbildung zeigt eine Client-Anfrage, die durch den Cluster fließt. Der Client sendet eine Anfrage an eine virtuelle IP-Adresse (VIP). Ein auf der Client-Datenebene konfigurierter Mechanismus zur Verkehrsverteilung wählt einen der Clusterknoten als Flow-Empfänger aus. Der Flussempfänger empfängt den Datenverkehr, bestimmt den Knoten, der den Datenverkehr verarbeiten muss, und steuert die Anforderung an diesen Knoten (es sei denn, der Flow-Empfänger wählt sich selbst als Flow-Prozessor aus). Wenn sich der Flow-Prozessor und der Flow-Empfänger in derselben Knotengruppe befinden, wird das Paket über die Backplane gesteuert. Und wenn sich der Flow-Prozessor und der Flow-Receiver in verschiedenen Knotengruppen befinden, wird das Paket über den gerouteten Pfad durch den Tunnel gesteuert.
Der Flow-Prozessor stellt eine Verbindung mit dem Server her. Der Server verarbeitet die Anforderung und sendet die Antwort an die Subnetz-IP-Adresse (SNIP), die die Anforderung an den Server gesendet hat. Da der SNIP im L3-Cluster immer ein Spotted SNIP ist, erhält der Knoten, dem die SNIP-Adresse gehört, die Antwort vom Server.