Hochverfügbarkeit

In kleinen Schritten zur ausfallsicheren IT

07.04.2000
Mit immer geschäftskritischeren Applikationen und E-CommerceProjekten wächst für Unternehmen der Druck, IT-Systeme ohne Unterbrechung in Betrieb zu halten. Dabei geht es längst nicht mehr nur um eine höhere Produktivität. Das Maß der Verfügbarkeit entscheidet darüber, wie gut Produkte bei Kunden ankommen.*Von Hadi Stiel

Die Grundvoraussetzung für ein hochverfügbares Informationssystem sind geeignete Maßnahmen zur Erhöhung der Ausfallsicherheit der einzelnen Systeme. Im Fokus solcher Maßnahmen stehen in einer durch Client-Server-Verarbeitung geprägten IT vor allem Unix-Server. Sie müssen einerseits abgesichert sein durch die redundante Bereitstellung von Hardwarekomponenten wie Platten, Rechner und Netzwerke. Andererseits ist auch der Einsatz von Softwarekomponenten erforderlich, die eine Lebendüberwachung und im Fehlerfall eine automatische Umschaltung von Hardwarekomponenten durchführen.

Als Realisierungskonzept für eine hohe Verfügbarkeit von Informationssystemen hat sich ein Vierstufenplan bewährt, nach dem etliche IT-Dienstleister vorgehen. Die erste Stufe bildet die so genannte Basisverfügbarkeit. Darunter fallen alle Maßnahmen, die zu einer generellen Erhöhung der Verfügbarkeit von Anwendungen beitragen. Die zweite Stufe - Anlagenverfügbarkeit - dient dem Ziel, Hardwarestörungen weiter zu verringern beziehungsweise zu mildern und räumlich zu begrenzen.

Bei der Datenverfügbarkeit liegt das Augenmerk auf einer fehlerfreien Arbeitsweise und hohen Präsenz der Datenmedien wie Hauptspeicher, Massenspeicher und System-Busse. Die letzte Etappe - Systemverfügbarkeit - soll Unterbrechungszeiten, wenn sie auftreten, so weit wie möglich verkürzen. "Halten sich die Projektverantwortlichen an diese Chronologie, können sie Schritt für Schritt die Präsenz ihres Informationssystems steigern", empfiehlt Christian Walk, Practice-Manager im Bereich Systemintegration bei Siemens Business Services (SBS) in Paderborn.

Zu den Maßnahmen der ersten Etappe zählen vor allem Service- und Schulungskonzepte sowie Qualitätssicherung und Dokumentation. Sie bilden das Rahmenwerk für eine hinreichende Verfügbarkeit. Die Grundlage für die Basisverfügbarkeit selbst wird durch Routinen zur Diagnose und Fehlerbehandlung, die von den Servern beigesteuert werden, geschaffen. Ihr Ziel: die Ausfallzeit der Rechner zu reduzieren.

So prüfen beispielsweise Unix-Systeme bei jedem Systemstart automatisch im Hintergrund, ob sich die erforderliche Hardware - Prozessoren, Speicher, Controller etc. - ansprechen lässt. Trifft das Testprogramm dabei auf eine Hardwarestörung, wird die betroffene Komponente automatisch auskonfiguriert und stattdessen, sofern vorhanden, eine redundante Komponente einbezogen. Erst danach wird das Betriebssystem mit allen dazugehörigen Hardwarekomponenten gestartet. Einige Server schließen sogar in vielen Fällen einen Systemabsturz aus, falls Hardwarekomponenten erst nach dem automatischen Selbsttest Probleme machen. Solche Verfahren erkennen zur Laufzeit sowohl permanente als auch gelegentlich auftretende (transiente) Fehler.

Online-Diagnose verringert das RisikoIm laufenden Server-Betrieb klinken sich dann Routinen zur Online-Diagnose ein, die permanent den Zustand von Komponenten, etwa Stromversorgung, Lüfterbetrieb und Temperatur, hinterfragen. Fällt beispielsweise einmal die Festplatte aus, muss das nicht zwangsläufig einen Ausfall des gesamten Systems nach sich ziehen. Kann, wie bei einigen Unix-Derivaten, die ausgefallene Komponente automatisch bestimmt und auskonfiguriert werden, lässt sich anschließend zumindest mit einer eingeschränkten Konfiguration weiterarbeiten. In der Zwischenzeit ist es möglich, eine defekte Hardwarekomponente durch eine intakte zu ersetzen und diese automatisch zu konfigurieren.

Auf der Basis dieser grundlegenden Verfügbarkeit lassen sich Maßnahmen etablieren, um die Wahrscheinlichkeit von Hardwarestörungen weiter zu reduzieren und auftretende Probleme zu verringern. Redundante Hardwarebaugruppen sind ein Mittel dazu. Idealerweise werden Netzteile, Lüfter, Platten-Controller(in Verbindung mit der Plattenspiegelung) und Netzwerkkarten mehrfach ausgelegt.

Daneben müssen aber auch auf der Softwareebene die Weichen für eine hohe Verfügbarkeit der Anlage gestellt werden. Das Veritas-Dateisystem (VxFS) gilt in der Unix-Welt als geeignete Verfahrensweise. Es bietet wesentliche Verbesserungen im Vergleich zum traditionellen UFS (Berkeley Fast File System) und ist mit ihm kompatibel. Zu den wichtigsten Vorzügen von VxFS hinsichtlich Hochverfügbarkeit gehören:

-schnelle Wiederherstellung der Dateisystemintegrität,

-Online-Dateisystemverwaltung,

-Online-Datensicherung sowie

-erweiterte Mount-Kommandofunktionen, so zur Wiederherstellung der Dateisystemintegrität und ein spezieller Modus für temporäre Dateisysteme.

Zur Sicherung der Dateisystemintegrität werden mit Hilfe eines Änderungsprotokolls (Intent Logging) alle noch nicht abgeschlossenen Änderungen an der Dateisystemstruktur in einen reservierten Festplattenbereich geschrieben. Diese Methode ermöglicht es, Dateisystemoperationen, die zur Zeit eines Systemfehlers aktiv waren, zu löschen beziehungsweise zu beenden, um danach das Dateisystem ohne eine vollständige Konsistenzprüfung schnell einzuklinken. Dieser Vorgang wird, von den Benutzern und Systemadministratoren unbemerkt, binnen weniger Sekunden abgewickelt.

Mit dem traditionellen UFS, das ohne Änderungsprotokoll arbeitet, dauert der gleiche Vorgang bei Servern mit umfangreichem Festplattenausbau je nach Größe der verwendeten Dateisysteme bis zu einer halben Stunde - ein deutlicher Nachteil.

Datenverfügbarkeit als dritte EtappeMit Blick auf eine hohe Datenverfügbarkeit, die dritte Etappe des Vierstufenplans, bieten Haupt- und Massenspeicher sowie alle System-Busse selbst wirkungsvolle Mechanismen. Sie alle können während des Betriebs mit automatischer Fehlererkennung und gegebenenfalls Korrektur arbeiten. So lassen sich alle System-Busse mit einer so genannten Parity-Kontrolle absichern, die es erlaubt, Übertragungsfehler zu erkennen und frühzeitig auszuschließen.

Der Hauptspeicher des Servers und der Second Level Cache sind in diesem Fall über einen Error Correction Code (ECC) abgesichert, der alle Mehr-Bit-Fehler erkennt sowie Ein-Bit-Fehler im laufenden Betrieb selbsttätig korrigiert. Um Mehr-Bit-Fehler bereits im Vorfeld weitgehend auszuschließen, werden beim Refresh des Hauptspeichers alle erkannten Fehler korrigiert. Der Hintergrund dieser Vorgehensweise: Ein-Bit-Fehler können in selten genutzten Zeilen zu Mehr-Bit-Fehlern werden. Der Primary Cache auf dem Prozessor arbeitet ebenfalls mit Parity-Kontrolle, um Bit-Fehler zu erkennen.

Auf den Massenspeichern wie Festplatten kommt zur Fehlerkorrektur üblicherweise ein zyklisches Redundanzverfahren zum Einsatz, bei 1/2-Zoll-Magnetbändern ebenso wie bei einem Magnetband-Kassettenlaufwerk (acht Millimeter) zusätzlich ein Read-after-write-Verfahren. Dieses stellt bereits beim Schreiben sicher, dass die Daten später gelesen werden können.

Solche integrierten Mechanismen sind aber erst die halbe Miete. Es sind darüber hinaus geeignete Vorkehrungen gegen den Ausfall von Datenträgern, allen voran Festplatten, zu treffen. "Zwar besteht meist die Möglichkeit, Datenbestände über einen Backup wiederherzustellen", erläutert SBS-Experte Walk. "Die langwierige Betriebsunterbrechung, die dadurch entsteht, können sich die meisten Unternehmen im harten Wettbewerb aber immer weniger leisten."

Eine effiziente Verfahrensweise, um auch beim Ausfall einer Festplatte die dort hinterlegten Daten weiter im schnellen Zugriff zu halten, ist der Raid Level 1 (Redundant Array of Independent Disks). Dabei werden Spiegelplatten eingerichtet. Im Raid Level 1 führt das System permanent ein Abbild der Originalfestplatte mit.

Das Spiegelbild wird dadurch erreicht, dass im laufenden Betrieb jeder Schreibvorgang doppelt ausgeführt wird, auf der Original- und auf der redundanten Platte. Damit kann die zweite Festplatte im Problemfall nahtlos die Funktion der Original-Festplatte übernehmen. Der Wechsel findet automatisch im Hintergrund statt. Zwischenzeitlich kann der Fehler auf der Originalplatte behoben werden.

Über Raid Level 1 sind aber auch Mehrfachspiegelungen von Festplatten mit bis zu drei identischen Abbildern möglich. Eine Kombination mit Raid Level 0, der Einsatz einer Streifenplatte, ist ebenfalls machbar. Diese Methode erlaubt, Daten auf unterschiedliche Spiegelplatten zu verteilen und dadurch den Zugriff auf diese Informationen zu beschleunigen.

Damit die gespiegelte Platte immer problemlos erreichbar ist, sollten beide Pfade möglichst weit auseinander liegen. Zudem sollte die Spiegelplatte über einen anderen Bus und Controller betrieben werden.

Noch höher ist die Datenverfügbarkeit, wenn die gespiegelte Platte in einem anderen Plattenschrank als die Originalplatte untergebracht ist. In diesem Fall ist der Anwender auch gegen den Ausfall eines Kabels oder Platten-Controllers gefeit. Um die Festplatten beispielsweise gegen Brände, Hochwasser und Erschütterungen abzusichern, lassen sich außerdem Plattenschränke mittels Glasfaserverkabelung anbinden und dadurch mehrere hundert Meter von den Servern entfernt in besonders geschützten Räumen positionieren.

Durch den Einsatz spezieller Speicher gemäß Raid Level 5, das im Unix-Server-Betriebssystem nicht vorgesehen ist, kann die redundante Speicherung von Daten darüber hinaus effektiver gestaltet werden. Diese Verfahrensweise, mit der die Daten bei einem Plattenausfall aus den Parity-Informationen rekonstruiert werden, drückt die Datenredundanz gegenüber der Spiegelung auf 20 Prozent, allerdings zu Lasten der Zugriffszeit.

Den letzten Schritt zu einer hohen Verfügbarkeit der Anwendungen bildet das Clustering von Server-Systemen. Auf diese Weise wird ein Single Point of Failure von vornherein ausgeschlossen. Jeder Knoten des Clusters ist ein eigenständiges System, das zuvor mit den Maßnahmen der ersten drei Planungsetappen abgesichert wurde.

Alle Einzelrechner des Cluster-Systems arbeiten über eine gemeinsame Peripherie wie Terminals, Plattenpools, Drucker und Datenbank. Fällt ein Rechner aus, lässt sich die Peripherie über einen anderen Cluster-Knoten ansprechen.

Die Umschaltung erfolgt dabei transparent. Die Benutzer registrieren lediglich eine kurzzeitige Unterbrechung der Anwendung. Voraussetzung dafür ist, dass zumindest die Plattensubsysteme extern ausgelegt und über unterschiedliche Rechnerknoten erreichbar sind. Zudem muss auf jedem Knoten eine spezielle Software, ein Hochverfügbarkeits-Monitor laufen, der Ausfälle erkennt und automatisch darauf reagiert.

Diese Informationen müssen über eine weitere Software ständig im Rahmen einer Lebendüberwachung zwischen den Knoten kommuniziert werden. Über zwei Methoden kann dann vom jeweiligen Cluster-Knoten auf die Peripherie zugegriffen werden: entweder über einen exklusiven, umschaltbaren Zugriff (Failover-Cluster) für beliebige Anwendungen oder über einen parallelen Zugriff (Shared Database Cluster), beispielsweise auf eine Oracle-Datenbank, positioniert auf parallelen Servern.

* Hadi Stiel ist freier Journalist in Bad Camberg.

Abb.: Hochverfügbare R/3-Installation mit Datenbank- und Applikations-Servern. Quelle: Stiel