Server wirksam schützen

26.10.2001
Die Anforderungen an die Verfügbarkeit von IT-Systemen steigen ständig. Ausfälle von Enterprise-Ressource-Planning-Anwendungen, Internet-Portalen und E-Commerce-Seiten gehen schnell ins Geld. Um sich vor ungeplanten Serverauszeiten zu schützen, bietet der Markt verschiedene Lösungen.

Von: DIRK PELZER

Wenn geschäftskritische Server ausfallen, erleidet das betroffene Unternehmen nicht nur Umsatzverluste, sondern auch Vertrauens- und Image-Schäden. Deshalb empfiehlt sich der Einsatz von hochverfügbaren Servern, welche dieses Risiko deutlich minimiert.

Zur Grundausstattung derartiger Systeme gehört eine ganze Reihe von Komponenten. Dazu zählt zum einen die CPU, die bei Ein-Prozessor-Systemen einen Single Point of Failure (SPOF) darstellt: Ohne sie kann der Rechner nicht weiterarbeiten. Doch auch eine Mehrprozessor-Maschine bedeutet nicht notwendigerweise erhöhte Ausfallsicherheit, denn meist führt bereits der Verlust einer CPU zum Absturz des Servers.

Einige Serverhersteller bieten inzwischen so genannte Offline-Backup-Prozessoren an, die im Normalbetrieb abgeschaltet sind und im Fehlerfall für eine ausgefallene CPU einspringen. Allerdings funktioniert dies in der Regel nicht ohne einen Server-Reboot, sodass auch hier ein kurzer Ausfall eintritt.

Bei den Arbeitsspeichern für Server hat sich auf breiter Front der so genannte Error Correction Code (ECC) etabliert. Dieser kann Ein-Bit-Fehler korrigieren und Zwei-Bit-Fehler erkennen. Seltener zu finden ist hingegen das so genannte Advanced ECC Memory. Dieses verkraftet sogar den Ausfall eines kompletten Speichermoduls, ohne dass der Server abstürzt. Für ausfallsichere Systeme sollte deshalb, wenn möglich, diese Speicherart gewählt werden.

Zu den Grundanforderungen hochverfügbarer Rechner zählen des Weiteren redundante Lüfter und Netzteile sowie eine unterbrechungsfreie Stromversorgung (USV). Lüfter sollten sich im laufenden Betrieb austauschen lassen. Damit dies möglich ist, muss sich das Servergehäuse bei eingeschaltetem Rechner öffnen lassen. Manche Hersteller haben so genannte Interlocks integriert, die das System automatisch abschalten, sobald das Gehäuse geöffnet wird.

Auch die Netzwerkkarten (NIC) tragen zur Verfügbarkeit eines Servers bei. Redundant konfigurierte NICs sind beispielsweise in der Lage, einen Failover von einer defekten Karte auf eine noch funktionierende durchzuführen. Alternativ lassen sich auch zwei oder mehr Karten in einem Load-Balancing-Modus betreiben, der sowohl für eine Lastverteilung und damit höheren Durchsatz als auch für eine erhöhte Ausfallsicherheit sorgt. Ebenfalls empfehlenswert sind Server mit Hot-Plug-PCI-Steckplätzen, die den Austausch defekter PCI-Karten im laufenden Betrieb ermöglichen. Zudem sollten Ersatzteile wichtiger Komponenten bereitgehalten werden, um den Austausch sofort durchführen zu können.

Permanentes Monitoring notwendig

Mit einer reinen Materialschlacht zur Erhöhung der Serverausfallsicherheit ist es jedoch nicht getan. So müssen die Systeme regelmäßig gewartet werden. Zu empfehlen sind auch Techniken, die den Administrator auf mögliche Fehlerquellen aufmerksam machen. Dazu zählt beispielsweise intelligente Software, die den Systemstatus eines Servers permanent überwacht und Unregelmäßigkeiten sofort meldet. Wichtig sind auch Sicht- und Geräuschprüfungen, um beispielsweise schlagende Lüfter oder lose Kabel zu entdecken.

Die Monitoring-Software, die von den Serverherstellern mitgeliefert wird, kann in der Regel bereits eine ganze Reihe potenzieller Mängel aufspüren. Sie überwacht zum Beispiel Prozessortemperatur, Lüfterdrehzahlen, Netzteile oder Festplatten mittels SMART (Self-Monitoring, Analysis and Reporting Technology). Dieser von Festplattenproduzenten wie IBM und Seagate etablierte Industriestandard soll Laufwerkausfälle vorhersagen. Viele Hersteller nutzen SMART, um über die eigenen Monitoring-Tools frühzeitig Warnmeldungen zu generieren. Der Administrator kann dadurch die Platten rechtzeitig austauschen, bevor sie vollständig den Geist aufgeben.

Äußerst wichtig ist auch eine regelmäßige Überprüfung der Konsistenz des Dateisystems. Selbst wenn die Festplatten physisch noch funktionieren, droht unter Umständen ein Datenverlust, wenn das Filesystem Inkonsistenzen bildet, die sich ab einem bestimmten Zeitpunkt nicht mehr reparieren lassen.

Für Serversysteme, die sich an entfernten Standorten ohne eigene IT-Abteilung befinden, empfiehlt sich der Einsatz von so genannten Remote-Monitoring-Boards. Derartige Karten werden von den meisten Serverherstellern angeboten. Sie bestehen aus einer PCI-Einschubkarte, die über eine eigene CPU, Hauptspeicher sowie Netzwerk- und I/O-Anschlüsse verfügt. Mit eigenem Betriebssystem und separater Stromversorgung ausgerüstete Boards arbeiten innerhalb des Servers als unabhängiger Überwachungsrechner. Sie erlauben es, den Server vollständig aus der Ferne zu überwachen, zu warten, ein- und auszuschalten und notfalls sogar einen vollständigen Remote-Disaster-Recovery durchzuführen - sofern kein Hardwareaustausch nötig ist.

Ein Verfahren zur schnellen Wiederherstellung eines Servers nach einem Totalausfall sollte für alle kritischen Server vorhanden sein. Hierfür ist es sehr hilfreich, wenn alle Systeme möglichst dieselben Hard- und Softwarekomponenten verwenden. Automatisierte Installationsverfahren für Betriebssystem und Anwendungen sowie eine solide Backup- und Restore-Strategie sorgen ebenfalls für geringe Ausfallzeiten.

Ausfallsicherer Speicher

Ein sehr wichtiger Aspekt für Ausfallsicherheit ist der Plattenspeicher. Hier ist eine sorgfältige Planung nötig, da Festplatten aufgrund ihrer mechanischen Eigenschaften und thermischer Bedingungen häufiger ausfallen als etwa eine Netzwerkkarte. Raid-Systeme (Redundant Array of Independent Disks) sind heute in den meisten Unternehmen Standard, jedoch vermögen auch diese nicht alle Ausfälle zu verhindern. So bilden insbesondere die Raid-Controller einen Single Point of Failure (SPOF). Gleiches gilt für das Storage-Subsystem. Ein Kurzschluss in einem Festplatten-Array würde das gesamte Speichersystem außer Funktion setzen, unabhängig davon, welche Raid-Level konfiguriert sind.

Es gibt eine Reihe von Möglichkeiten, diesen SPOF zu eliminieren. Im einfachsten Fall wird der Datenbereich auf zwei externe Storage-Subsysteme gelegt. Der Zugriff darauf erfolgt vom Server aus über zwei getrennte SCSI-Raid-Controller, die jeweils ein Raid-System bereitstellen. Dabei spielt es keine Rolle, welches Raid-Level die beiden Controller implementieren. Um die Verfügbarkeit des Speichers insgesamt sicherzustellen, werden die beiden externen Plattensubsysteme zusätzlich in einem softwaregestützten Raid-1 zusammengefasst, das die meisten Server-Betriebssysteme standardmäßig unterstützen. Gegebenenfalls sind Produkte von Drittanbietern wie zum Beispiel der "Volume Manager" von Veritas nötig. Dieser ist für verschiedene Unix-Derivate sowie für Windows NT/2000 verfügbar. Auf diese Weise lässt sich eine sehr hohe Ausfallsicherheit erreichen.

Der Nachteil dieses Ansatzes: Aufgrund der Längenbegrenzungen von SCSI eignet er sich nur eingeschränkt für katastrophenfalltaugliche Konzepte, bei denen sich die gespiegelten Daten in einem entfernten Serverraum befinden. Andererseits ist diese Lösung vergleichsweise kostengünstig zu implementieren und somit auch für kleine und mittlere Unternehmen geeignet, die Verfügbarkeit benötigen, aber nur begrenzte Geldmittel investieren können.

Für Unternehmen, die keine SCSI-basierten internen Raid-Controller einsetzen, sondern per Fibre-Channel auf Speicherressourcen in einem SAN zugreifen möchten, ist eine andere Vorgehensweise empfehlenswert. Speicherhersteller wie EMC oder Compaq bieten die Möglichkeit, ganze Plattenschränke über die Controller-Firmware des Subsystems zu spiegeln. "Timefinder" von EMC oder "Data Replication Manager" von Compaq sind typische Vertreter solcher Implementierungen. Beim Ausfall eines Subsystems sorgt der Controller für einen transparenten Failover. Diese Variante hat den Vorteil, dass sie für das Betriebssystem verborgen bleibt, also kein Overhead durch ein softwarengestütztes Raid entsteht, wie das bei der zuvor angesprochenen Lösung der Fall ist. Dennoch springen auch hier drei SPOF ins Auge: der Fibre-Chanel-Host-Bus-Adapter (FC-HBA) im Server, der Controller des Storage-Subsystems sowie der Fibre-Channel-Switch beziehungsweise -Hub.

Um diese Schwachstellen zu beseitigen, sollten die Controller in den Subsystemen redundant ausgelegt werden. Beide verfügen über einen eigenen Cache, der gespiegelt wird, sodass beim Ausfall eines Controllers der andere mit den im Cache gespeicherten Informationen weiterarbeiten kann. Der Server sollte ebenfalls mit zwei HBA bestückt sein, die über getrennte Fibre-Channel-Switches beziehungsweise -Hubs mit den beiden Controllern des Speichersubsystems verbunden werden. Damit beim Ausfall eines HBAs ein Failover auf den zweiten erfolgt, muss das Betriebssystem zwischen den beiden Pfaden hin- und herschalten können. Dies wird in der Regel über geeignete Treiber erreicht.

Einige Lösungen, wie beispielsweise "Secure Path" von Compaq, unterstützen sogar ein dynamisches Load-Balancing, wodurch beide Fibre-Channel-Host-Bus-Adapter parallel arbeiten. Größter Nachteil von Fibre-Channel-Lösungen: Sie sind im Vergleich zu SCSI sehr teuer. Ein wichtiger Vorteil von Fibre Channel: Diese Technik überbrückt ohne großen Aufwand Distanzen von zehn Kilometern und mehr und ist damit katastrophenfalltauglich.

Systemkomponenten sichern

Der Systembereich eines Servers, also die Platten, auf denen sich Betriebssystem und Anwendungen befinden, lässt sich ebenfalls ausfallsicher auslegen. So sollten Betriebssystem und Anwendungen nicht auf Plattenbereichen liegen, die nur von einem Raid-Controller bedient werden. Besser ist es, zwei separate SCSI-Controller zu verwenden und die daran angeschlossenen Festplatten per Software-Raid zu spiegeln. Auf diese Weise können ein Controller, eine Festplatte oder ein kompletter SCSI-Kanal ausfallen, ohne dass dies Auswirkungen auf das Gesamtsystem hat.

Schließlich empfiehlt sich für ausfallsichere Speicher-Arrays der Einsatz von Hot-Plug-Festplatten sowie Backplanes und Controllern, die diese Hot-Plug-Funktion unterstützen. Bei einem Hardware-Raid ist zudem darauf zu achten, dass der Raid-Controller nach einem Plattenausfall das Raid-Set automatisch wiederherstellen kann.

Ein weiteres wichtiges Kriterium für die Verfügbarkeit von Speicher ist die Ausbaufähigkeit im laufenden Betrieb. Raid-Systeme, die nicht online erweiterbar sind, müssen zunächst komplett per Backup gesichert werden. Anschließend vergrößert der Administrator das Raid-Set, indem er das alte löscht und ein neues Set anlegt. Dann holt er die zuvor gesicherten Daten durch einen Restore zurück. Für Unternehmen, die über die erforderlichen finanziellen Mittel verfügen, empfiehlt sich von vornherein ein skalierbares Storage Area Network (SAN). Mit Tools zur Speichervirtualisierung lassen sich in einem SAN die Festplatten dynamisch nutzen.

Ausfallsicherheit für Fortgeschrittene

Mit den genannten Maßnahmen erreichen einzelne Serversysteme bereits eine sehr gute Ausfallsicherheit von etwa 99 Prozent, was einer Ausfallzeit von maximal 88 Stunden pro Jahr entspricht. Um eine noch höhere Verfügbarkeit zu erreichen, ist ein erheblicher Mehraufwand für Speziallösungen wie fehlertolerante Systeme oder Cluster erforderlich.

Beispiele für fehlertolerante Server sind die Unix-Systeme der Firmen Tandem und Stratus, die vor allem in Banken und an Börsenplätzen eingesetzt werden. Inzwischen bietet Stratus auch relativ preiswerte fehlertolerante Systeme auf Intel-Basis unter Windows 2000 an. Der Clou bei derartigen Servern besteht darin, dass die CPU, der Hauptspeicher sowie weitere kritische Komponenten doppelt oder dreifach vorhanden sind. Stratus bezeichnet dies als Dual- beziehungsweise Triple-Modular-Redundancy und gibt an, dass damit eine Verfügbarkeit von 99,999 Prozent und mehr erreicht wird. Das entspräche einer ungeplanten Ausfallzeit von ungefähr fünf Minuten pro Jahr.

Da alle beteiligten Komponenten zu jedem Zeitpunkt identische Instruktionen ausführen, wirkt sich der Ausfall einer Komponente nicht störend auf den produktiven Betrieb aus. Zusätzlich überprüft ein Mechanismus die redundant ausgelegten Komponenten und vergleicht deren Zustände mit einem vorgegebenen Standard. Auf diese Weise sollen etwaige Probleme frühzeitig entdeckt und behoben werden können. Versagt eine Komponente den Dienst, kann ein Service-Techniker PCI-Karten, Prozessoren oder Festplatten austauschen, ohne den Server herunterzufahren.

Um die Stabilität des Betriebssystems zu verbessern, bietet Stratus für die gelieferten Systemkomponenten eigene "gehärtete" Treiber an, die es ermöglichen, auf eventuell verfügbare Backup-Komponenten umzuschalten und so den Betrieb aufrechtzuerhalten. Dabei soll natürlich auch die Integrität der Daten garantiert sein, so dass bei einem Failover nichts verloren geht.

Über den "Resource Inventory Manager", der unter Windows 2000 läuft, möchte Stratus sicherstellen, dass durch die genaue Überwachung der Revision-Levels von Hard- und Softwarekomponenten Versionskonflikte schneller erkannt und gelöst werden. Ein weiteres Hilfsmittel stellt der Systemmonitor von Stratus dar, der wichtige Parameter wie die Aus-lastung von CPU, Speicher und Festplattenressourcen einem frei definierbaren Schwellwert gegenüberstellt und bei Überschreitung einen Alarm auslöst.

Cluster-Konfigurationen sind eine andere Variante, um eine Verfügbarkeit von über 99 Prozent zu erzielen. Die meisten Implementierungen arbeiten als so genannte Failover-Cluster mit zwei Knoten. Dabei ist ein Knoten aktiv und stellt beispielsweise eine Datenbank bereit, während der inaktive zweite Knoten erst bei einem Ausfall einspringt. Demgegenüber nutzt die Aufteilung eines Dienstes auf zwei oder mehr Server die vorhanden Hardware besser aus. Das Problem dabei: Damit diese Art der Lastverteilung bei einem Failover-Cluster funktioniert, müssen die Daten auf unterschiedliche Plattenbereiche verteilt werden. Vorteile bringen Cluster auch bei der Wartung mit sich, da im Gegensatz zu einem Einzelserver ein Cluster-Knoten zu Wartungszwecken aus dem Verbund herausgenommen werden kann, während die verbleibenden Knoten dessen Dienst übernehmen.

Fazit

Der Weg zu hochverfügbaren Servern ist komplex und in der Regel sehr teuer. Auch regelmäßige Pflege und Wartung gehen ins Geld. Ob sich die Kosten hierfür rechnen, hängt stark vom Einsatzgebiet eines Servers ab. Die wichtigste Frage ist, wie teuer der Ausfall eines Servers für ein Unternehmen wird. Auch für kleine und mittelständische Unternehmen kann der Ausfall etwa eines Warenwirtschaftssystems mit enormen Kosten verbunden sein, wenn eingehende Waren nicht angenommen werden können und dadurch hohe Gebühren für LKW-Standzeiten entstehen. Ausfallsichere Server sind allerdings kein Allheilmittel.

Für eine hohe Verfügbarkeit sind regelmäßige Wartung und Pflege mindestens genauso wichtig. (cl)

Zur Person

DIPL.-ING. DIRK PELZER

ist freiberuflicher Consultant und Journalist in München. Er beschäftigt sich unter anderem mit Speichernetzwerken und hochverfügbaren Rechnersystemen.