Grundlagen
Was ist ein Cluster?
Ein Cluster ist eine Gruppe unabhängiger Computer, die jeweils die gleichen Anwendungen ausführen und beim Zugriff durch einen Client als ein einziges System dargestellt werden. Die Computer sind physikalisch durch Kabel und programmatisch durch Clustersoftware miteinander verbunden. Durch das Vorhandensein dieser Verbindungen können im Cluster Probleme für den Client transparent behoben werden, z. B. durch die Umverteilung von Aufgaben bei Ausfall eines Knotens auf einen anderen (Failover in Server-Clustern) oder eine Verteilung aller zu bearbeitenden Aufgaben über einen Lastenausgleich in Netzwerklastenausgleich (Network Load Balancing, NLB)-Clustern.
Was ist Netzwerklastenausgleich (NLB)?
Netzwerklastenausgleich (NLB) ist eine Clustertechnologie, die von Microsoft® als Teil von Windows® 2000 Advanced und Datacenter Server angeboten wird. NLB steht auch unter Windows Server 2003 in der Enterprise- und der Datacenter-Edition zur Verfügung. NLB benutzt einen verteilen Algorithmus für den Lastenausgleich von IP-Datenverkehr über mehrere Hosts. Das führt zu einer besseren Skalierbarkeit und Verfügbarkeit unternehmenskritischer, IP-basierter Dienste. Beispiele sind Webdienste, Virtual Privat Netzwerk (Virtual Private Network, VPN)-Dienste, Streaming-Media, Terminaldienste, Proxy-Dienste und viele andere mehr. NLB kann Ausfälle von Hosts automatisch erkennen und den Datenverkehr an andere Hosts umleiten, dadurch wird eine Hochverfügbarkeit des NLB-Clusters erreicht.
NLB und andere Cluster-Technologien Kann ich NLB und Server-Cluster auf dem gleichen System nutzen?
W2K: Nein, Server-Cluster und NLB laufen derzeit nicht auf dem gleichen System.
Windows Server 2003: Nein, Server-Cluster und NLB laufen derzeit nicht auf dem gleichen System.
NLB und Skalierbarkeit Welche Größe sollte mein Cluster haben?
Die Größe des Clusters hängt von den Anwendungen ab, die auf dem System gehostet werden und für die ein Lastenausgleich durchgeführt werden soll. Daneben sind die auf der Hostmaschine zur Bearbeitung der Client-Anfragen verfügbaren Systemressourcen ausschlaggebend. Wenn Sie feststellen, dass die Client-Anforderungen immer langsamer beantwortet werden, je mehr Clients sich verbinden und Anfragen an die Anwendungen senden, wird es Zeit, dem Cluster weitere Hosts hinzuzufügen. Ein einzelner Cluster kann bis zu 32 Hosts besitzen.
Wie wirkt sich die Clustergröße auf die Systemleistung aus?
Tests haben gezeigt, dass die NLB-Leistung zunehmend nicht mehr linear skaliert, wenn ein Cluster über 20 bis 25 Knoten hinauswächst. Allerdings hängt das vom tatsächlichen Umfang des Datenverkehrs ab, der in Form von Clientanfragen an die Anwendungen fließt. Die folgende Grafik gibt einen Eindruck von der NLB-Leistung bei wachsender Clustergröße und steigender Benutzeranzahl.
Abbildung 1: Gleichzeitige Benutzer vs. Anzahl der Anwendungsserver
Abbildung 2: Abweichung von der idealen Linie bei zunehmenden Clientanfragen
Abbildung 3: Zusätzliche Belastung (Overhead) durch NLB für die Filterung abhängig vom Datendurchsatz (Web Load: Anfragen für 10 KB statische Webseiten)
Die obigen Diagramme beschreiben die Last bei der Abfrage von statischen Webseiten, die jeweils 10 KB groß sind.
Kann man NLB auf einem Front-End-Cluster mit mehr als 32 Knoten einsetzen, obwohl die Clustergröße auf 32 Knoten beschränkt bleiben sollte?
NLB kann auch einer Systemgröße von über 32 Maschinen angepasst werden. Hierzu wird über ein Round-Robin-DNS-Verfahren der Namensauflösung eine vorgeschaltete quasi-zufällige Verteilung zwischen mehreren NLB-Clustern erreicht, wie es in Abbildung 4 gezeigt wird.
Abbildung 4: Einsatz mehrerer Cluster
|