Clustering und redundantes Netzwerkdesign in IT-Netzwerken

Zur Erhöhung von Verfügbarkeit und Leistungsfähigkeit des Netzes nutzen intelligente Webserver-Konzepte Clusters und schaffen redundante Netzwerkdesigns.

Bei der Auslegung des IT-Netzwerks spielt Redundanz eine besondere Rolle: Redundante Serverkomponenten helfen hier ebenso wie die Redundanz von Servern. Als grundlegende Webserver-Konzepte für Leistungsfähigkeit und Ausfallsicherheit steht neben Server-Farmen und Load Balancing die Idee des Clustering zur Verfügung. All diese Maßnahmen sind aber nur dann wirklich sinnvoll, wenn das Netzwerkdesign insgesamt hochverfügbar ausgelegt ist.

Ausfälle von Servern haben heute immense Auswirkungen, wenn zum Beispiel Hunderttausende von Konsumenten nicht auf eine Website zugreifen können. Die Verfügbarkeit bestimmter Dienste (Anwendungen) wird damit fast genauso wichtig wie die Zuverlässigkeit der zentralen Datenbank eines Geldinstituts. Nicht nur die Verfügbarkeit ist für den Erfolg eines Internet-Angebots entscheidend. Vielfach wird der Aspekt Performance übersehen, so bei Wartezeiten. Eine „Cold-Standby“-Lösung, die einen zweiten Server bereitstellt, der nur beim Ausfall des laufenden Systems zum Einsatz kommt, ist nicht mehr Stand der Technik. Durch die Verteilung der Last auf mehrere Rechner erreicht man neben erhöhter Ausfallsicherheit auch verbesserte Antwortzeiten. Doch neben den eigentlichen Servern muss man auch die übrige Infrastruktur entsprechend planen.

Clustering

Mit Hilfe von Server-Farmen und Load-Balancern lässt sich die Ausfallsicherheit und Lastverteilung von einfachen Serverdiensten erheblich erhöhen. Diese verteilen die Aufgaben intelligent auf mehrere Server und arbeiten mit Datenbeständen, die sich nicht – oder nur selten – ändern und nur bei Bedarf gespiegelt werden. Komplexere Angebote wie beispielsweise ein Online-Shop mit Anbindung an eine Datenbank sollte man als mehrstufiges System realisieren, bei dem der Web-Server beispielsweise Transaktionen an spezielle Applikations- und Datenbankserver weiterleitet.

Da solche Transaktionen den Datenbestand ständig ändern, sind dafür Server-Farmen nicht geeignet. Stattdessen erhöht man die Verfügbarkeit durch Clustering, bei dem alle Systeme auf einem gemeinsamen, externen Datenbestand arbeiten. Beim Clustering teilen sich also viele Rechner eine Aufgabe. Die Idee beim Clustering: man vernetzt einige billige PCs von der Stange, und schon hat man die Rechenleistung eines Supercomputers. Wo ein gut ausgebauter PC als Webserver einige hundert Anfragen pro Sekunde beantwortet, schaffen zehn PCs einige tausend Requests – und sind dabei deutlich billiger als ein ähnlich leistungsfähiger „großer“ Server etwa von Sun. Außerdem gewinnt man mit Clustern auch Ausfallsicherheit: Fällt einer der Rechner im Cluster aus, müssen die anderen etwas mehr arbeiten, bis der Schaden behoben ist. Fällt hingegen der eine große Server aus, steht das Internet-Business erst einmal still.

Abbildung 1 unten zeigt schematisch: Bei einem Cluster für Datenbank- oder Applikationsserver haben beide Systeme Zugriff auf ein externes RAID-System. Ein solcher Cluster zur Absicherung von Datenbanken besteht dabei aus zwei oder mehr Servern mit der gleichen Soft- und Hardware. Fällt ein Partner aus, übernimmt der andere den Status und die Datenbestände des ausgefallenen Servers. Der gemeinsame Datenbestand liegt in der Regel auf einem externen RAID-Plattensystem. Der Systemstatus wird regelmäßig auf die Platte geschrieben, sodass bei Ausfall der andere Partner den kompletten Zustand des ausgefallenen Servers rekonstruieren kann.

Analog zu den Load-Balancern unterscheidet man auch bei Clustern zwischen aktiv/aktiv und aktiv/passiv Systemen. Im ersten Fall sind beide Cluster-Knoten aktiv. Bei Ausfall eines Systems übernimmt der andere dessen Arbeit. Zusätzlich ist hier eine Lastverteilung zwischen den Systemen möglich. Dagegen ist in einem aktiv/passiv Cluster stets nur ein Server aktiv. Diese Lösung ist jedoch unüblich. Bei Clustern werden außerdem sowohl Cold-Standby- als auch Hot-Standby-Lösungen angeboten. Bessere Verfügbarkeit bietet Hot-Standby, das den Dienst innerhalb weniger Sekunden übernehmen kann.

Übersicht: Was sind Cluster?

a) allgemein: Das enge Zusammenschalten von mehreren Systemen zu einem Verbund mittels entsprechender Clustersoftware.

b) Gruppe miteinander vernetzter Rechner, die gemeinsam an einer Aufgabe arbeiten. Die einzelnen Rechner eines Clusters bezeichnet man als Knoten.

c) Im engeren Sinn spricht man von Clustern, wenn die Knoten exklusiv für den Cluster genutzt werden und auf einem gemeinsamen Datenbestand arbeiten. Häufig verteilt dabei ein besonderer Knoten, der Master, die Teilaufgaben auf die einzelnen Knoten und steuert so die Aktivität des ganzen Clusters. Auch die Interaktion mit dem Cluster findet in der Regel nur über den Master statt. Bei shared-everthing Clustern haben alle Clustersysteme gleichzeitigen Zugriff auf gemeinsame Plattenlaufwerke. Sie werden abgesichert, z.B. durch den Einsatz von RAID. Bei shared-nothing Clustern ist jedes Clustersystem ein eigenständiges System.

Vorteile: erhöhte Verfügbarkeit, Skalierbarkeit: wird mehr Leistung benötigt, wird das Cluster einfach um weitere Systeme erweitert.

Redundantes Netzwerkdesign

Die beste Load-Balancer- und Cluster-Lösung ist aber nur dann effektiv, wenn auch insgesamt das Netzwerkdesign hochverfügbar ausgelegt ist. Das bedeutet, dass sämtliche Netzwerkkomponenten und Kabelverbindungen redundant sein müssen. Nahezu alle namhaften Hersteller von Netzwerkkomponenten bieten ausfallsichere Router- und Switch-Lösungen an. Diese unterstützen neben einem Failover häufig auch eine Lastverteilung zwischen den Partnergeräten.

Die unten stehende Abbildung 2 zeigt die Konfiguration einer Server-Farm, die auf hohe Verfügbarkeit bei gleichzeitiger Lastverteilung ausgelegt ist. Dabei bilden zwei Web-Server eine Server-Farm, die die Internet-Site eines Unternehmens bereitstellen. Beide Server bieten auf Port 80 den Dienst HTTP und sind mit je zwei Netzwerkkarten ausgestattet. Jede Netzwerkkarte ist mit einem Patchkabel an einen der beiden Fast-Ethernet-Switches angeschlossen. Die Netzwerkkarten sind dabei so konfiguriert, dass sie Failover ermöglichen, also die automatische Übernahme des Netzbetriebes, falls eine Karte ausfallen sollte. (Abb. 2: Redundantes Netzwerkdesign: Hochverfügbarkeit durch Redundanz aller Komponenten, nicht nur der Server.)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.