Abzählen reicht nicht

06.04.2001
Web-Switches verteilen die Last der Kundenaufträge einer E-Commerce-Site auf mehrere Server. Gute Geräte haben nicht nur ausgeklügelte Load-Balancing-Mechanismen, sondern sind auch mehrfach gegen Ausfälle geschützt.

Von: Michael Geigenscheder

Die erste Generation von Web-Switches arbeitete mit einfachen Algorithmen, die den Zugriff auf mehrere Web-Server beschleunigen sollten. Heute gibt es die Lastenverteiler in mehreren Varianten, die bei ihrer Arbeit nicht nur den HTTP-Header, sondern auch Angaben zu verschiedenen Anwendungen berücksichtigen.

Der Einsatz einzelner Web-Server ist unüblich. Denn Imageverluste und finanzielle Einbußen infolge von Serviceunterbrechungen für die Wartung und das Einspielen von Upgrades kann sich heutzutage niemand mehr leisten. Managt ein Web-Server keine plötzlichen Lastspitzen, verliert eine E-Commerce-Site ihre Kunden schnell an die Konkurrenz.

Um dies zu vermeiden, fassen Content-Anbieter im ersten Schritt ihre Web-Server in Serverfarmen zusammen. In einem "Redundant Array of Internet Servers" (RAIS) speichern mehrere Plattformen dieselben Inhalte, sodass beim Ausfall eines Rechners alle Web-Seiten abrufbar bleiben. Aufgabe der Web-Switches ist es, die eingehenden Anfragen auf die einzelnen Geräte zu verteilen.

Verteilung nach Last

Web-Switches nehmen den gesamten Datenstrom, der an die virtuelle IP-Adresse einer Serverfarm gerichtet ist, in Empfang und verteilen ihn. Die Geräte steigern durch verschiedene Load-Balancing-Techniken die Leistung einer Serverfarm. Mit ihrer Hilfe erweitern Unternehmen außerdem ihre Servercluster, ohne dass es zwischenzeitlich zu Performance-Engpässen kommt. Meistens setzen sie zwei Web-Switches parallel ein, damit das Load Balancing keinen "Single Point of Failure" darstellt.

bindung prüft der Load-Balancer ob das Reserve-

gerät funktionstüchtig ist.

Je nachdem, ob ein Load-Balancing-System auf lokale Serverfarmen, verteilte Arrays oder die Koordination mehrerer Serververbände spezialisiert ist, muss es unterschiedlichen Anforderungen genügen. Ein globaler Load-Balancer sollte beispielsweise sowohl die Inhalte als auch die Belastung international verteilter Serverfarmen managen und Anfragen entsprechend weiterleiten.

Das Anwendungsfeld ist daher das erste und wichtigste Kriterium bei der Auswahl eines Web-Switches. Im Hinblick darauf beurteilt der Planer zum Beispiel die Lastverteilungsmechanismen eines Produkts. Die einfachste Load-Balancing-Technik ist das "Round-Robin-Verfahren, bei dem jeder Server der Reihe nach eine Anfrage zugeteilt bekommt. Dieses stößt jedoch schnell an Grenzen, weil es das Surf-Verhalten der Kunden nicht berücksichtigt. Load-Balancer erlauben stattdessen die Verteilung der Anfragen so, dass jeder Server dieselbe Zahl von Kunden bedient oder dieselbe Datenmenge in Paketen oder Bit pro Sekunde bearbeitet. Zum Management von NT-Servern ist mitunter das Monitoring-System des Betriebssystems hilfreich. Auch der SNMP-Standard (Simple Network Management Protocol) stellt eine Vielzahl von Variablen zur Verfügung, die eine sinnvolle Lastverteilung ermöglichen, zum Beispiel die CPU-Last der Server. Damit erhalten die Geräte eines Verbands gerade so viele Daten, wie sie entsprechend ihrer Leistungsfähigkeit verkraften. Genaue Daten über das Geschehen auf den Servern liefern SNMP-Agenten.

Load-Balancer sollten auf Wunsch einzelne Gruppen von Servern unterschiedlich behandeln. Denn oft werden Daten, FTP-Files und der E-Mail-Verkehr von verschiedenen Servern einer Farm bearbeitet. Schließlich sollte der Lastverteiler in bestimmten Fällen gewährleisten, dass ein Anwender immer bei demselben Server landet. Erforderlich ist das zum Beispiel bei Übertragungen nach dem SSL-Protokoll (Secure Socket Layer), die in mehreren Schritten erfolgen. Baut der Load-Balancer die Verbindung nach jedem Schritt ab und vermittelt den Datenstrom anschließend an einen anderen Server, kann die Transaktion nicht abgeschlossen werden.

Kontrolle der Web-Seiten

Web-Switches sollten möglichst viele Protokolle verstehen. Das betrifft sowohl TCP- als auch UDP-gestützte Techniken. Das Einsatzfeld einer Lösung, die nur mit E-Mail- und HTTP-Verkehr und nicht mit FTP-Paketen umgehen kann, ist sehr klein. Dies zwingt den Anwender zum Kauf kostspieliger Ergänzungen, die unter Umständen nicht mit den vorhandenen Lastverteilern kooperieren. Wichtig ist, dass Load-Balancer sowohl die aktive als auch die passive Variante von FTP beherrschen und den durchgehenden Verkehr möglichst wenig verzögern.

Die Bewertung der Leistung eines Load-Balancers erfolgt nach mehreren Maßstäben. Sie berücksichtigt die Zahl der beförderten Pakete pro Sekunde, die Zahl der gemanagten Verbindungen und die Größe der zu verwaltenden Serverfarmen. Ausschlaggebend für die Performance ist nicht nur ein schneller Prozessor. Auch die Art der Verarbeitung spielt eine bedeutende Rolle. "Triangulations-Mechanismen" beruhen auf der Erkenntnis, dass der Flaschenhals einer Serverfarm in aller Regel beim Zugriff auf eine Website auftritt und nicht beim Verschicken der bestellten HTTP-Dokumente und Dateien. Bei einer Triangulation fließen alle eingehenden Daten über den Web-Switch, um diesen Engpass auszugleichen, während die ausgehenden Daten um den Lastverteiler herumgeleitet werden. Dessen Kapazitäten bleiben damit frei für die dringlichste Aufgabe: den eingehenden Verkehr möglichst effektiv zu verteilen.

Load-Balancer sollten Fehler auf den von ihnen betreuten Web-Seiten erkennen. Ob und wie sie auf Unregelmäßigkeiten im Betrieb reagieren, entscheidet darüber, ob die Besucher die vollständigen Seiten, nur einige Auszüge oder lediglich eine Fehlermeldung erhalten. Ein regelmäßiges und automatisches Monitoring sämtlicher Server erkennt Ausfälle rechtzeitig. Fällt ein Gerät aus, funktioniert die Site weiter, wenn der Administrator im Rechnerverband Backup-Server bestimmt hat, die dessen Daten ein zweites Mal vorhalten. Web-Switches müssen Backup-Server erkennen und Anfragen nur dann an sie weiterleiten, wenn das zur Aufrechterhaltung der Datenkonsistenz erforderlich ist oder wenn der primäre Server ausfällt. Zusätzlich sollte der Load-Balancer die Server gegen Hackerattacken schützen, auch wenn das Netz gleichzeitig durch Firewalls bewacht wird.

Zu einer sicheren Gesamtlösung gehört auch, dass redundante Konfigurationen von Web-Switches möglich sind. Das bedeutet, dass mehrere Geräte parallel zueinander einsetzbar sind. Am besten beobachten redundante Load-Balancer gegenseitig ihren Status. Die einfachste Möglichkeit dafür ist ein serielles Kabel, das die Einheiten miteinander verbindet. Allerdings können Kabel reißen oder knicken und Stecker sich aus ihren Buchsen lösen - gerade in vernetzten Umgebungen ein bekanntes und ärgerliches Problem. Auf diese Weise kann ein Web-Switch Fehler des anderen registrieren. Störungen am Switch- oder Hub-Port des redundanten Load-Balancers bleiben so jedoch unbemerkt.

Redundanz über alles

Deshalb erfolgt die Überwachung besser direkt über das Netzwerk. Zum Beispiel können zwei oder mehrere Load-Balancer-Einheiten in periodischen Abständen Datenpakete untereinander austauschen, mit denen sie ihren Status signalisieren. Diese Methode erkennt auch Fehler an den Netzverbindungen und ist deshalb sicherer: Treffen die Signale nicht mehr im vordefinierten Zeitabstand ein, liegt eine Störung vor. Um die Ausfallwahrscheinlichkeit zu minimieren, werden Web-Switches über zwei getrennte Leitungen ans Netz angeschlossen, sodass sie auch beim Ausfall einer Netzverbindung ihre Aufgabe noch erfüllen.

Wichtig ist eine möglichst einfache Installations- und Konfigurationsprozedur. Grafische Benutzerschnittstellen nach Windows-Muster sind hier der Standard. Sinnvoll ist auch eine SNMP-Unterstützung, mit deren Hilfe das Load-Balancing in ein vorhandenes Umbrella-System wie "Openview" von Hewlett-Packard oder "Unicenter" von Computer Associates integriert werden kann. Um möglichst flexibel einsetzbar zu sein, sollte ein Web-Switch alle Server-Betriebssysteme unterstützen. (kpl)

Zur Person

Michael Geigenscheder

ist Technical Manager der Radware GmbH.