DB2 Universal Database - Systemverwaltung


Hohe Verfügbarkeit

Computer-Systeme, die als Host für Datenbankservices dienen, enthalten viele unterschiedliche Komponenten, und jede Komponente besitzt eine für sie ermittelte "mittlere ausfallfreie Zeit" (MTBF - Mean Time Before Failure). Die MTBF ist die durchschnittliche Dauer, die eine Komponente verwendbar bleibt. Die MTBF für ein Qualitätsfestplattenlaufwerk liegt in der Größenordnung von 1 Million Stunden (annähernd 114 Jahren). Obwohl dies wie ein langer Zeitraum erscheint, ist es wahrscheinlich, daß eine von 200 Festplatten innerhalb eines Zeitraums von sechs Monaten ausfällt.

Wenngleich es eine Reihe von Methoden zur Erhöhung der Verfügbarkeit für einen Datenbankservice gibt, ist die am häufigsten eingesetzte Methode ein HA-Cluster (High Availability-Cluster). Ein Cluster, wenn er zur Implementierung hoher Verfügbarkeit eingesetzt wird, besteht aus mindestens zwei Maschinen, einer Gruppe privater Netzschnittstellen, einer oder mehreren öffentlichen Netzschnittstellen sowie einigen gemeinsam benutzten Platten. Diese spezielle Konfiguration ermöglicht das Versetzen eines Datenbankservice von einer Maschine auf eine andere. Durch das Versetzen des Datenbankservice auf eine andere Maschine im Cluster wird es möglich, den Zugriff auf die zugehörigen Daten weiterhin aufrecht zu erhalten. Das Versetzen eines Datenbankservice von einer Maschine auf eine andere wird als Funktionsübernahme (Failover) bezeichnet (siehe Abbildung 118 zur Illustration).

Abbildung 118. Funktionsübernahme

Funktionsübernahme

Die privaten Netzschnittstellen werden zum Senden von Heartbeat-Nachrichten und von Steuernachrichten unter den Maschinen im Cluster verwendet. Die öffentlichen Netzschnittstellen dienen zur direkten Kommunikation mit Clients des HA-Clusters. Die Platten in einem HA-Cluster sind mit zwei oder mehr Maschinen im Cluster verbunden, so daß bei Ausfall einer Maschine eine andere Maschine auf sie zugreifen kann.

Ein Datenbankservice, der auf einem HA-Cluster aktiv ist, besitzt mindestens eine öffentliche Netzschnittstelle und eine Gruppe von Platten, die ihm zugeordnet sind. Die Clients eines HA-Datenbankservice stellen eine Verbindung über TCP/IP nur zu den logischen Netzschnittstellen des Datenbankservice her. Wenn es zu einer Funktionsübernahme kommt, werden der Datenbankservice zusammen mit den zugehörigen Netzschnittstellen und der Gruppe von Platten auf eine andere Maschine verlegt.

Einer der Vorteile eines HA-Clusters liegt darin, daß ein Datenbankservice ohne Hilfe durch Unterstützungspersonal wiederhergestellt werden kann, und daß dies zu jedem beliebigen Zeitpunkt möglich ist. Ein weiterer Vorteil ist die Redundanz. Alle Teile im Cluster sollten redundant sein, einschließlich der Maschinen selbst. Der Cluster sollte in der Lage sein, jeden einzelnen Fehlerpunkt überbrücken zu können.

Auch wenn sich hochverfügbare Datenbankservices in ihrer Art sehr unterscheiden können, besitzen sie einige allgemeine Anforderungen. Clients eines hochverfügbaren Datenbankservice erwarten, daß sich die Netzadresse und der Host-Name des Datenbankservice nicht ändern und daß sie die Möglichkeit haben, ihre Anforderungen unabhängig von der Maschine, auf der der Datenbankservice aktiv ist, auf dieselbe Weise zu tätigen.

Betrachten Sie einen Web-Browser, der auf einen hochverfügbaren Web-Server zugreift. Die Anforderung wird mit einer URL-Adresse (Uniform Resource Locator) abgesetzt, die sowohl einen Host-Namen als auch den Pfad zu einer Datei auf dem Web-Server enthält. Der Browser erwartet, daß sowohl der Host-Name als auch der Pfad auch nach einer Funktionsübernahme des Web-Servers gleich bleiben. Wenn der Browser gerade eine Datei vom Web-Server herunterlädt, wenn der Server durch eine Funktionsübernahme auf eine andere Maschine versetzt wird, muß der Browser die Anforderung erneut absetzen.

Die Verfügbarkeit eines Datenbankservice wird in der Zeitdauer gemessen, die der Datenbankservice seinen Benutzern zur Verfügung steht. Die am häufigsten verwendete Maßeinheit für Verfügbarkeit ist der Prozentsatz der Betriebszeit (Up Time). Diese wird oft als Anzahl von "Neunen" angegeben:

   99,99% => Service ist (höchstens) 52,6 Minuten / Jahr außer Betrieb
   99,999% => Service ist (höchstens) 5,26 Minuten / Jahr außer Betrieb
   99, 999% => Service ist (höchstens) 31,5 Sekunden / Jahr außer Betrieb

Beachten Sie beim Entwerfen und Testen eines HA-Clusters folgende Punkte:

  1. Stellen Sie sicher, daß der Administrator des Clusters mit dem System vertraut ist und weiß, was geschehen soll, wenn eine Funktionsübernahme auftritt.
  2. Stellen Sie sicher, daß jeder Teil des Clusters wirklich redundant ist und im Falle eines Ausfalls rasch ausgetauscht werden kann.
  3. Erzwingen Sie die Funktionsübernahme eines Testsystems in einer kontrollierten Umgebung, und stellen Sie sicher, daß die Funktionsübernahme jedesmal ordnungsgemäß vollzogen wird.
  4. Protokollieren Sie die Gründe für jede eingetretene Funktionsübernahme. Obwohl dies nicht oft geschehen sollte, ist es wichtig, alle Punkte zu untersuchen, die einen Cluster instabil machen. Wenn zum Beispiel eine Komponente des Clusters fünfmal in einem Monat eine Funktionsübernahme erforderlich machte, stellen Sie fest, woran dies liegt, und beheben Sie das Problem.
  5. Stellen Sie sicher, daß das Unterstützungspersonal für den Cluster benachrichtigt wird, wenn eine Funktionsübernahme eintritt.
  6. Überlasten Sie den Cluster nicht. Stellen Sie sicher, daß die verbliebenen Systeme nach einer Funktionsübernahme die Auslastung weiterhin mit einer akzeptablen Leistung bewältigen können.
  7. Überprüfen Sie ausfallanfälligere Komponenten (z. B. Festplatten) häufig, so daß sie ersetzt werden können, bevor Probleme auftreten.

Fehlertoleranz und fortlaufende Verfügbarkeit

Eine andere Methode zur Erhöhung der Verfügbarkeit eines Datenbankservice ist Fehlertoleranz. Bei einer fehlertoleranten Maschine ist sämtliche Redundanz integriert, so daß die Maschine in der Lage ist, einen Einzelausfall einer beliebigen Komponente, einschließlich CPU und Speicher, zu überbrücken. Fehlertolerante Maschinen werden hauptsächlich in Nischenmärkten eingesetzt und ihre Implementierung ist gewöhnlich mit hohem Kostenaufwand verbunden. Ein HA-Cluster mit Maschinen an verschiedenen geografischen Standorten hat den zusätzlichen Vorteil, einen Ausfall, der nur einen Teil dieser Standorte betrifft, überbrücken zu können.

Die fortlaufende Verfügbarkeit geht einen Schritt über die hohe Verfügbarkeit hinaus. Sie schützt die Clients sowohl gegen geplante als auch gegen ungeplante Ausfallzeiten. Bei einer Konfiguration für fortlaufende Verfügbarkeit bleibt der Client von Ausfällen einer der Maschinen, die den Datenbankservice beherbergen, bzw. von Wartungszeiten für einzelne Maschinen völlig unberührt. Konfigurationen für fortlaufende Verfügbarkeit sind komplex und kostenintensiver in der Implementierung.

Ein HA-Cluster ist die gängigste Lösung zur Erhöhung der Verfügbarkeit, weil sie skalierbar, einfach zu handhaben und relativ kostengünstig in der Implementierung ist.


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]