Bei fehlertoleranter Hardware sind alle wichtigen Komponenten des Servers redundant.
Als PC-Server Anfang der 90er Jahre die Unternehmen eroberten, wurden sie nicht ohne Grund mit Skepsis betrachtet: zuverlässig war anders. Wirklich wichtige Aufgaben blieben daher Großrechnern und den Unix-Systemen vorbehalten. Das ist Geschichte: Mittlerweile haben PC-basierte Server ihren festen Platz im Rechenzentrum, und wer mit ihnen arbeitet, hat die Erfahrungen gemacht: Die Technik ist ausgereift, Störungen oder gar Ausfälle kommen nur noch selten vor.
Paradoxerweise ist damit das Risiko beim Betrieb dieser Server nicht geringer geworden: Risiko ist das Produkt von Ausfallwahrscheinlichkeit und möglicher Schadenshöhe. Letztere ist aber enorm gestiegen, denn diese Systeme werden heute für weitaus anspruchsvollere, häufig unternehmenskritische Aufgaben eingesetzt. Von der Lagerverwaltung über die Logistik bis zur Produktionssteuerung übernehmen sie Aufgaben, die früher den Großrechnern und Unix-Servern vorbehalten waren. Dazu kommt, dass Unternehmen in weit höherem Maße von der IT abhängig sind: Geschäftsprozesse funktionieren grundsätzlich nur mehr digital. Umso gravierender können die Folgen von Server-Ausfällen sein, sie reichen je nach Anwendungsszenario von der Gefährdung der Existenz von Unternehmen bis zu Schäden an Leib und Leben.
Vor diesem Hintergrund reicht es nicht mehr, dass Server nur zuverlässig sind, sie müssen ausfallsicher und damit hochverfügbar sein. Die Ausfallzeiten müssen innerhalb genau definierter Grenzen bleiben: Richtwert ist hier eine Verfügbarkeit von mehr als 99,999 Prozent, was im Dauerbetrieb einer durchschnittlichen Ausfallzeit von maximal fünf Minuten pro Jahr entspricht. Demgegenüber erreichen Standardserver mit Windows- oder Linux-Betriebssystem nur eine Verfügbarkeit von 99,9 Prozent. Die hohe Verfügbarkeit können Server heute nur durch die Technik der Fehlertoleranz realisieren.
Bei fehlertoleranter Hardware, wie sie etwa Stratus anbietet, sind alle wichtigen Komponenten des Servers redundant. Anders als bei üblichen High-End-Server-Systemen gibt es nicht nur zwei Netzteile und ausfallsichere Datenspeicherung im RAID-Verbund. In einem fehlertoleranten Server sind wirklich alle Komponenten doppelt vorhanden, also auch CPU, Arbeitsspeicher und I/O-Einheiten. Die Parallel-Komponenten werden durch das „Lock-Stepping“ synchronisiert, das dafür sorgt, dass die (redundanten) CPUs im Gleichschritt arbeiten. Bei I/O-Prozessen wird jede Schreib/Lese-Operation in zwei parallelen und damit zeitgleich ausgeführten physischen Schreib/Lese-Operationen umgesetzt – also ohne Performance-Verlust. Es sind sowohl interne Platten als auch externe Speichersysteme oder ein SAN (Storage Area Network) verwendbar.
Der Unterschied fehlertoleranter Server zu einem Cluster-System besteht darin, dass sie bei einem Hardwaredefekt keinen Umschaltvorgang benötigen. Der Betrieb wird ohne jede Unterbrechung auf der jeweiligen Partnerkomponente fortgesetzt. Der Anwender bemerkt nichts davon, da der Server einfach weiterläuft. Auch das Betriebssystem sieht den Server wie eine einzige Maschine. Daher sind keine Anpassungen der eingesetzten Software nötig, auch die Administration unterscheidet sich nicht von der eines Standardservers. Die Anschaffungskosten eines fehlertoleranten Servers sind natürlich etwas höher, durch die unkomplizierte Administration und die Verwendung „normaler“ Applikationen ist Fehlertoleranz unterm Strich dennoch wirtschaftlich.
Fehlertoleranz ist auch per Software realisierbar, dabei werden physikalische Ressourcen zweier Standard-Intel-Server, wie RAM oder Platten, über normale Ethernet-Verbindungen zu einer einzigen logischen Instanz verbunden. Derartige Lösungen stellen die vollständig redundant arbeitenden Server als eine einzige Betriebsumgebung dar, so dass Anwendungen im Störfall unterbrechungsfrei weiterlaufen, also ohne Ausfallzeiten oder Verluste von Transaktionen. Auch auf diese Weise kann eine Verfügbarkeit von 99,999 Prozent erreicht werden.
Im Unterschied zu anderen Verfügbarkeitstechniken reduziert Fehlertoleranz nicht die Folgen von intern verursachten Ausfällen, sondern lässt sie gar nicht erst entstehen. Für Unternehmen stellt dies einen wichtigen Schritt zu Business Continuity dar. Dieser muss natürlich noch um eine Disaster Recovery ergänzt werden, die die IT gegen äußere Störungen wie Feuer und Wasser absichert; dies kann von klassischer Datensicherung über Brandschutz bis zur Zugangskontrolle zum Rechenzentrum reichen.
In der Praxis besteht allerdings oft ein prekäres Ungleichgewicht: Die Unternehmen investieren viel ins Disaster Recovery, dabei gehen nur etwa fünf Prozent der IT-Ausfälle auf externe Ursachen zurück, um die restlichen 95 Prozent kümmern sich fehlertolerante Systeme.
Fehlertoleranz
Die Fehlertoleranz stellt den kontinuierlichen Betrieb von Rechnersystemen oder Netzwerken auch dann sicher, wenn Systemkomponenten fehlerhaft arbeiten oder sogar ausgefallen sind. Fehlertolerante Systeme werden dort eingesetzt, wo höchste Verfügbarkeit unabdingbar ist.
Ein solches System muss verschiedene Fehlerbehandlungsmethoden beherrschen: Fehlererkennung, Verhinderung der Fehlerausbreitung und Wiederherstellungsverfahren, um die normalen Verhältnisse nach einem Fehler, einer Störung oder einem Defekt wiederherzustellen.
Hardwarebasierte Fehlertoleranz:
Prozessoren, Komponenten und Geräte sind doppelt vorhanden, bei einem Ausfall kann die Partnerkomponente die Funktion ohne Betriebsunterbrechung übernehmen. Dazu gehört auch das Duplizieren von Datenbeständen, die sogenannte Spiegelung auf mehrere Speichereinheiten, wie im Falle eines RAID-Systems, die gegen Fehler und Ausfälle schützt.
Softwarebasierte Fehlertoleranz:
Zwei separate Server sind per Software zu einem fehlertoleranten Gesamtsystem miteinander verbunden. Auf beiden Rechnern werden alle Prozesse synchron ausgeführt; bei einer Störung schaltet die Software auf das jeweils nicht betroffene System, sodass die laufenden Prozesse ebenfalls ohne Unterbrechung fortgesetzt werden.
Quelle: www.itwissen.info; Stratus
Bildquelle: Thinkstock/iStock