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.
Dieses Dokument enthält die folgenden Details:
- Architektur
- Beispiel
Architektur
Die L3-Cluster-Architektur umfasst die folgenden Komponenten:
-
Knotengruppe. Die Clusterknoten aus jedem Netzwerk (n1, n2) und (n3, n4) sind, 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.
- Schalter für die Rückwandplatine. Clusterknoten innerhalb desselben Netzwerks kommunizieren miteinander, indem sie die Cluster-Backplane verwenden. 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.
- GRE-Tunnel. Die Pakete zwischen Knoten in einem L3-Cluster werden ü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.
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
clear config extended+
Befehl 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]
-
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> node group <ng>
-
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>
-
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>
-
Um den Knoten mit dem Cluster zu verbinden
join cluster –clip <ip_addr> -password <password>
add cluster instance 1 –inc ENABLED –processLocal ENABLED
Done
<!--NeedCopy-->
Hinweis
Der Parameter „inc“ muss für einen L3-Cluster AKTIVIERT sein.
add cluster nodegroup ng1
Done
> add cluster node 0 1.1.1.1 –state ACTIVE -backplane 0/1/1 –nodegroup ng1
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
Done
> add cluster nodegroup ng2
Done
> add cluster node 4 2.2.2.1 –state ACTIVE –nodegroup ng2
Done
> add cluster node 5 2.2.2.2 –state ACTIVE –nodegroup ng2
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 <ip_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:
Konfiguration von Folgendem mithilfe der CLU
-
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.