GästebuchIhr Eintrag in unser Gästebuch KontaktNehmen Sie Kontakt mit den Autoren auf ArchivAlle Unixwerk- Artikel seit 2003
7. Juli 2003

Hochverfügbarkeit (version 0.1)

Inhalt

  1. Was ist Hochverfügbarkeit?
  2. Was ist Downtime?
  3. Wie erhöht man die Verfügbarkeit?
  4. Kategorien von Hochverfügbarkeitssystemen
  5. Wer braucht Hochverfügbarkeit

1. Hochverfügbarkeit
Ein System gilt als hochverfügbar, wenn eine Anwendung im Fehlerfall ohne menschlichen Eingriff weiter genutzt werden kann und der Anwender keine oder nur eine kurze Unterbrechung wahrnimmt.
Die Erhöhung der Verfügbarkeit von Computersystemen bis zur sogenannten hochverfügbarkeit hat folgende Ziele:
  • Verringerung geplanter und ungeplanter Downtime
  • hohe Toleranz gegenüber Hard- und Software-Fehlern
  • Eliminierung von sogenannten SPOFs (single point of failure)
SPOF
Als Single Point of Failure bezeichnet man eine Hard- oder Software- komponente, deren Ausfall den Ausfall des gesamten Systems zur Folge hat.

2. Downtime

Die Verfügbarkeit von Computersystemen wird meist in "Dauer der Downtime pro Jahr" gemessen, und in Prozent angegeben. Man kann davon ausgehen, dass die Anzahl der Neunen hinter dem Komma proportional zur Menge des Geldes ist, das man für die jeweilige Verfügbarkeit ausgeben muss.

Verfügbarkeit in Prozent entspricht Downtime im Jahr
99% 3,6 Tage
99,9% 8,76 Stunden
99,99% 52 Minuten
99,999% 5 Minuten
99,9999% 30 Sekunden
99,99999% 3 Sekunden

Man unterscheidet bei der Downtime zwischen geplanter und ungeplanter Downtime. Entgegen weitläufiger Ansicht ist die geplante Downtime (90%) deutlich höher als die ungeplante (10%). Hochverfügbarkeit verringert beide Arten der Downtime.

geplante Downtime ungeplante Downtime
Softwareupdates Hardwarefehler
Betriebssystemupdates Anwenderfehler
Hardwareerweiterung Betriebssystemfehler
Backup Havarien (Brand im Gebäude, Meteoriteneinschlag etc.)
Tests Softwarefehler

3. Wie erhöht man die Verfügbarkeit?

Bei der Erhöhung der Verfügbarkeit von Computersystemen geht es im wesentlichen darum Redundanzen zu erzeugen damit SPOFs ausgeschaltet werden.
Jede Hardwarekomponente in einem Computersystem, wie beispielsweise die SCSI-Adapter,Festplatte oder Netzwerkkarte muss mindestens zweimal vorhanden sein, und bei einem Ausfall muss eine Komponente die Funktion der anderen übernehmen können. Das heißt beispielsweise, dass man nicht nur ein Netzteil in einen Rechner einbaut sondern zwei. Um die hochverfügbarkeit einer Anwendung garantieren zu können müssen aber nicht nur auf dem System wo die Anwendung läuft SPOFs vermieden werden, sondern auch eventuelle aktive Netzwerkkomponenten (Router, Switches) zum Anwender müssen redundant sein.

4.Kategorien von Hochverfügbarkeitssystemen

Redundanz kann auf unterschiedliche Art erzeugt werden, man unterscheidet folgende Strategien:

Failover
Die klassische HA-Lösung. Zwei oder mehr Rechner, die auf einen gemeinsamen Datenbestand zugreifen können, transferieren im Fehlerfall eine ausgefallene Amwendung auf den noch funktionsfähigen Rechner.

Applikations Cluster
Einige Applikationen sind Clusterfähig, sie arbeiten auf mehreren Rechnern die auf einen gemeinsamen Datenbestand zu greifen. Nach außen treten sie als ein System in Erscheinung. Der Ausfall eines Rechners wird von der Applikation verkraftet, und beinträchtigt nicht die Verfügbarkeit wohl aber die Performance. Oracle Parallel Server ist das bekannteste Produkt mit den erwähnten Eigenschaften.

Fault Tolerant Systeme
FTS wurden für einen unterbrechungsfreien Rechnerbetrieb entwickelt, theoretisch sollte es niemals zu einer Downtime kommen. Alle Komponenten in einem FTS sind redundant ausgelegt und selbst beim Ausfall eines Prozessors arbeitet das System weiter. Alle ausgefallenen Komponenten können im laufenden Betrieb ausgetauscht werden.
Nachteilig wirkt sich aus das auf diesen Systemen meist kein klassisches Betriebsystem läuft, und die Anwendung speziell für diese Systeme geschrieben werden muss. Weiterhin haben FTS einen sehr hohen Preis.

Server Farmen
Bei Webservern ist diese Art von Verfügbarkeit mitlerweile sehr populär. Es gibt einen sogenannten Load Balancer, der die Anfragen nach bestimmten Kriterien auf viele Rechner verteilt. Die Farm präsentiert sich dem Anwender als ein Rechner. Ein Ausfall eines Rechners hat keinen Ausfall der Anwendung zur Folge, es wird nur die Performance beeinträchtigt. Meist werden die eigentlichen Daten durch eine Hochverfügbarkeitslösung gesichert.

5. Wer braucht Hochverfügbarkeit

 

Muss eine Anwendung 24 Stunden an 7 Tagen in der Woche durchlaufen, und ist eine Downtime von weniger als ein paar Minuten nicht verkraftbar? Hängt von der Anwendung vielleicht sogar das überleben der Firma ab? Ist die Sicherheit des Unternehmens durch einen Ausfall des Systems gefährdet? Sind durch einen Ausfall des Systems Menschenleben in Gefahr?
Jeder der eine dieser oder ähnlicher Fragen mit JA beantworten kann, sollte dringend dafür sorgen das seine Systeme so verfügbar wie möglich sind.