Systeme und ihr Umfeld

Hochverfügbarkeit

Redundanz reicht nicht

Von Andreas Englisch, München

Zur vermeintlichen Steigerung der Verfügbarkeit setzen viele Unternehmen heute redundante Systeme ein. Was auf den ersten Blick gut aussieht, kann sich jedoch auch als Milchmädchenrechnung erweisen.

Gerade Sicherheitssysteme sind häufig noch immer ein Single-Point-of-Failure. Das klassische Beispiel hierfür ist ein Firewall-System, das entsprechend den üblichen Designregeln den Zugang eines Kundensystems (Webserver, LAN, Intranet usw.) zum Internet an einer einzigen Stelle absichert. Die Verfügbarkeit dieses Internetzugangs, die ein externer Nutzer beobachtet, ist damit im Wesentlichen durch die Verfügbarkeit des Sicherheitssystems bedingt.

Geschäftskunden sind in Zeiten von E-Business und M-Commerce oft wirtschaftlich abhängig von dieser Verfügbarkeit. Ausfälle stellen ein Geschäftsrisiko dar. Eine übliche Antwort darauf ist eine Risikoverminderung durch redundant ausgelegte Sicherheitssysteme: im einfachsten Fall eine Verdoppelung beispielsweise des Firewall-Systems. Sofern die eigentliche Firewall ausfällt springt entweder vollautomatisch, halbautomatisch durch Fernwartung oder durch manuelles Umschalten vor Ort das Ersatzsystem ein. Oft spricht man nachlässigerweise bereits bei einer solchen einfachen Dopplung von einer "hochverfügbaren" Lösung.

----------Anfang Textkasten----------

Redundante Systeme

Für die redundante Auslegung von Systemen gibt es verschiedene Möglichkeiten:

Symmetrische 1:n-Redundanz

Hierbei wird das zugrunde liegende Sicherheitssystem als Einheit betrachtet, die dann (n+1)-fach vorhanden ist. Von diesen Einheiten sind zu einem Zeitpunkt jeweils n Einheiten aktiv. Fällt eine dieser n "Master"-Einheiten aus, so steht eine "Slave"-Einheit als Ersatz zur Verfügung. Fällt allerdings eine weitere Master-Einheit aus, so steht das gesamte System nicht mehr voll zur Verfügung und wird daher in der Regel als ausgefallen bewertet. Der Spezialfall 1:1-Redundanz heißt auch Doppelung.

Da Slave-Einheiten die meiste Zeit des Jahres scheinbar nutzlos herumstehen, liegt die Versuchung nahe, diese Investitionen nachträglich zu rechtfertigen und diesen Systemen eigene Aufgaben zuzuweisen oder Aufgaben gleichmäßig auf Master- und Slave-Systeme zu verteilen. Durch Techniken wie Load Balancing oder Load Sharing ergeben sich aber streng genommen keine redundanten Systeme mehr, sondern man hat es mit einem einzigen System zu tun, das möglicherweise durch Überdimensionierung eine erhöhte Verfügbarkeit beim Ausfall von Teilkomponenten aufweist.

Asymmetrische Redundanz

Im Gegensatz zur symmetrischen Redundanz sind hierbei die einzelnen Teilsysteme nicht identisch beschaffen. Beispiele dafür sind Ersatzwege, bewusst heterogene Systemlandschaften und temporär oder auch dauerhaft unterschiedlich konfigurierte, aber möglicherweise hardwareidentische Systeme.

Cold vs. Hot Standby

Je schneller der Ersatz von ausgefallenen Master-Einheiten durch Slave-Einheiten erfolgt, desto höher ist auch die Verfügbarkeit des Gesamtsystems. Dieser Ersatz kann vollautomatisch (ohne Eingriff des Menschen), halbautomatisch (per Fernsteuerung durch einen Menschen, aber quasi in Echtzeit) oder manuell (durch Technikereinsatz vor Ort) erfolgen. Je kürzer die Mean Time To Repair (MTTR) ist, desto "heißer" ist das Standby.

----------Ende Textkasten----------

Unter der Verfügbarkeit eines Systems oder eines wesentlichen Teilsystems versteht man die Wahrscheinlichkeit, mit der es in einem gegebenen Zeitraum korrekt funktioniert. Wenn ein Gerät beispielsweise in einem Jahr durchschnittlich 8 Stunden und 45 Minuten ausfällt (evtl. verteilt auf mehrere Ausfälle), dann beträgt die Ausfallwahrscheinlichkeit bezogen auf ein Jahr 8,75 : (365 · 24) = 0,1 %, seine Verfügbarkeit somit 99,9 %.

Bei vereinfachter Betrachtung besteht jede aktive Komponente eines Sicherheitssystems aus den zwei Teilsystemen Hardware und Software, wozu neben der Anwendungssoftware auch das Betriebssystem und die Konfiguration gelten möge. Die Erfahrungen von Netzbetreibern über mehrere Jahre hinweg lehrt, dass die Verfügbarkeit des Hardwareanteils typischerweise deutlich höher ist als die Verfügbarkeit des Softwareanteils.

Ein Beispiel: Ein Router fällt in einem Jahr mehrmals aus. Nur einer der Ausfälle ist durch die Hardware verursacht (beispielsweise durch Verschleiß, Überhitzung oder Fertigungstoleranzen), alle anderen durch Bugs im Betriebssystem (verursacht durch den Programmierer) oder Fehler in der Konfiguration (verursacht durch den Administrator). Insgesamt ist von 10 Stunden "Downtime" nur eine dem Hardwareanteil zuzurechnen. Die restlichen neun Stunden gehen direkt oder indirekt auf das Konto von Menschen, was dem Softwareanteil zugerechnet werden soll.

Bezüglich der Verfügbarkeit einer aktiven Komponente (AK) sind Hard- und Software "in Serie" geschaltet: Egal ob eine der beiden oder beide ausfallen – die Komponente kann nicht genutzt werden. Bei einer Hardwareverfügbarkeit von PHW = 99,99 % (ca. 52 Min. Ausfall) und einer Softwareverfügbarkeit von PSW = 99,90 % (ca. 8 Std. 45 Min. Ausfall) resultiert die Gesamtverfügbarkeit (unter der Annahme der Unabhängigkeit von Hard- und Softwarefehlern) aus dem Produkt der beiden Wahrscheinlichkeiten und beträgt PAK 99,89 % (ca. 9 Std. 38 Min. Ausfall).

[Grafik: HW plus SW in Reihe]
Verfügbarkeit einer aktiven Komponente

Logischerweise ist die Gesamtverfügbarkeit immer geringer als die schlechtere Verfügbarkeit: Fällt die Hardware eine Stunde pro Jahr aus und die Software neun Stunden, so könnte die Komponente niemals weniger als neun Stunden pro Jahr ausfallen – selbst wenn die Hardware immer dann ihre "Auszeit" nimmt, wenn die Software ohnehin schon streikt. Es gibt aber immer auch eine gewisse Wahrscheinlichkeit, dass die Ausfallzeiten sich nicht vollständig überdecken.

Doppelfehler

Wer eine zweite identische Komponente vorsieht, um ein redundantes System zu schaffen, erwartet normalerweise eine deutliche Steigerung der Verfügbarkeit. Wären beide Komponenten und ihre Teilsysteme voneinander unabhängig und eine vollautomatische verzögerungsfreie Umschaltung im Fehlerfall vorhanden, so ergäbe sich tatsächlich ein System mit einer so genannten symmetrischen 1:1-Redundanz und einer Gesamtverfügbarkeit von PS = 2 · PAK - PAK2, im Beispiel also von 99,9999 %, was im Durchschnitt nur etwa 30 Sekunden Ausfall pro Jahr bedeuten würde.

[Grafik: parallele aktive Komponenten]
System mit symmetrischer 1:1-Redundanz (idealisiert)

Leider entspricht dieser idealisierte Fall aber nicht der Praxis einer Zusammenschaltung zweier identischer Komponenten. Tatsächlich sorgen verschiedene Tatsachen für ein wesentlich schlechteres Ergebnis. Einerseits ist die Umschaltung nicht ideal: Für die Doppelung aktiver Komponenten benötigt man zusätzliche Hard- und/oder Software, die wiederum eine Fehlerquelle darstellt.

Vor allem sind aber die Teilsysteme der Komponenten nicht voneinander unabhängig: Sofern man auf unabhängige Umgebungsparameter (Stromversorgung, Kühlung usw.) achtet, kann gedoppelte identische Hardware zwar tatsächlich voneinander unabhängig sein. Identische Software, insbesondere der Steuerdatensatz der redundanten Komponente enthält in der Regel aber dieselben Programmierfehler durch den Hersteller oder Konfigurationsfehler durch den Administrator. Reproduzierbare Fehler machen sich daher in aller Regel auf beiden Komponenten gleichermaßen bemerkbar, weswegen die Softwareanteile nicht voneinander unabhängige Ausfallwahrscheinlichkeiten aufweisen.

Die genauen Anteile von unabhängigen und zusammenhängenden Fehlermöglichkeiten bei der Software auseinander zu rechnen, wäre eine äußerst komplexe Aufgabe. In einer ersten Näherung kann man aber den Softwareanteil beider Komponenten und der Umschaltung als eine zusammenhängende Größe ansehen, die von den Hardwareanteilen beider Komponenten unabhängig, aber dazu in Serie geschaltet ist. Da die gedoppelte Hardware mit 99,999999 % in der Tat als hochverfügbar anzusehen ist (erwartete Ausfallzeit: eine Drittelsekunde pro Jahr), bleibt als bestimmendes Element für das Gesamtsystem die zusammengefasste Softwaregröße.

[Grafik: parallele HW plus kombinierter SW-Anteil]
System mit symmetrischer 1:1-Redundanz (Annäherung)

Die Folge: Will man sicherstellen, dass das Gesamtsystem nicht mehr als zwei Stunden pro Jahr ausfällt, so müsste die Verfügbarkeit des Softwareanteils P? bei knapp 99,98 % liegen – ein utopisches Ziel für komplexe Programme.

Eine denkbare Alternative wäre eine so genannte asymmetrische Redundanz, bei der die einzelnen Komponenten bewusst nicht identisch beschaffen sind und daher im Fehlerfall mit hoher Wahrscheinlichkeit tatsächlich unabhängig reagieren. Allerdings bleiben auch hier Zweifel: Denn es ist einerseits meistens derselbe Administrator als verbindende Fehlerquelle vorhanden. Und zum anderen erhöht die unabhängige Konfiguration zweier Systeme die Fehleranfälligkeit.

Fazit

Selbst bei grober Abschätzung lässt sich zeigen, dass die redundante Auslegung von aktiven Komponenten Sicherheitssysteme nicht automatisch hochverfügbar macht. Je mehr Aufwand man bei der Hardware treibt, desto mehr Aufwand entsteht auf der anderen Seite auch bei der Verschaltung, Programmierung und Konfiguration, die dann sogar fehleranfälliger wird – im Allgemeinen ein kontraproduktives Vorgehen, wie sich zeigte. Man sollte daher verstärkt über Risikovermeidung und das Verteilen oder Abwälzen von Restrisiken, beispielsweise durch eine Versicherung, nachdenken.

Andreas Englisch ist Product Manager Security bei BT Ignite GmbH & Co in München.

Der Autor hat für KES-Leser ein Excel-Sheet als Tool zur Berechnung resultierender Wahrscheinlichkeiten zur Verfügung gestellt (Download ggf. über "Ziel speichern unter..." im Kontextmenü).

© SecuMedia-Verlags-GmbH, D-55205 Ingelheim,
KES 2/2001, Seite 70