DB2 Universal Database - Systemverwaltung


Gegenseitige Übernahme

Im Modus der gegenseitigen Übernahme (Mutual Takeover) kann ein Prozessor ein Exemplar mit einer Einzelpartitionsdatenbank oder die Partitionen einer partitionierten Datenbank übernehmen, während er ein anderes Exemplar oder andere Partitionen einer partitionierten Datenbankkonfiguration ausführt. Wie im Bereitschaftsmodus müssen die an der automatischen Übernahme beteiligten Prozessoren auf den Installationspfad, das Exemplarverzeichnis und die Datenbank zugreifen können. Die Installations- und Exemplarpfade können entweder auf einem gemeinsam benutzten Dateisystem oder gespiegelt auf getrennten Dateisystemen sein.

Wenn die Strategie der gegenseitige Übernahme von Exemplaren verwendet wird, müssen die Exemplare so definiert sein, daß beide Exemplare auf demselben Prozessor gleichzeitig ausgeführt werden können. Detaillierte Informationen zu den tatsächlichen Installationsvoraussetzungen und zur Exemplarerstellung finden Sie im Handbuch HACMP for AIX, Version 4.2: Installation Guide, SC23-1940.

Beispiele

Für alle folgenden Beispiele gibt es jeweils eine Beispielprozedurdatei, die im Verzeichnis sqllib/samples/hacmp von DB2 für AIX-Installationen gespeichert ist.

Gegenseitige automatische Übernahme von DB2-Exemplaren

Das folgende Szenario einer gegenseitigen Exemplarübernahme enthält ein HACMP-System mit zwei Prozessoren mit den Namen "node10" und "node20".

Abbildung 45. Konfigurationsbeispiel zur gegenseitigen Exemplarübernahme

Konfigurationsbeispiel zur gegenseitigen Exemplarübernahme

Zwei Exemplare, "db2inst1" und "db2inst2", werden aus einem einzigen Installationspfad in einem gemeinsam benutzten Dateisystem erstellt. Das Exemplar "db2inst1" wird in /u/db2inst1 und das Exemplar "db2inst2" in /u/db2inst2 erstellt. Diese beiden Pfade liegen auf einem gemeinsam benutzten Dateisystem, auf das beide Prozessoren Zugriff haben. Jedes Exemplar enthält eine einzelne Datenbank mit einem eindeutigen Pfad, der ebenfalls auf einer beiden Prozessoren zugänglichen gemeinsamen Ressource angelegt ist.

Auf beide Exemplare wird über ferne Clients mit Hilfe des TCP/IP-Protokolls zugegriffen: "db2inst1" verwendet den Servicenamen "db2inst1_port" (Portnummer 5500) und "db2inst2" den Servicenamen "db2inst2_port" (Portnummer 5550). In den Knotenverzeichnissen der fernen Clients, die auf das Exemplar "db2inst1" zugreifen, ist dieses Exemplar mit "node10" als Host-Namen katalogisiert. In den Knotenverzeichnissen der fernen Clients, die auf das Exemplar "db2inst2" zugreifen, ist dieses Exemplar mit "node20" als Host-Namen katalogisiert. Unter normalen Betriebsbedingungen werden "db2inst1" auf "node10" und "db2inst2" auf "node20" ausgeführt. Wenn "node10" ausfallen sollte, startet die Übernahmeprozedur das Exemplar "db2inst1" auf "node20" und die externe IP-Adresse, die "node10" zugeordnet ist, wird auf "node20" umgeschaltet. Wenn das Exemplar von der Übernahmeprozedur gestartet und die Datenbank erneut gestartet wurde, können ferne Clients eine Verbindung zu der Datenbank in diesem Exemplar so herstellen, als würde es auf "node10" ausgeführt.

Beispielprozedur:

   hacmp-s4.sh

Gegenseitige automatische Übernahme von DB2-Partitionen

Für die gegenseitige Übernahme von Partitionen in einer partitionierten Datenbank-Server-Umgebung ist es erforderlich, daß die übernommene Partition als logischer Knoten auf dem übernehmenden Prozessor auftritt. In einem Fall mit zwei Partitionen auf einem partitionierten Datenbank-Server, die auf getrennten Prozessoren eines zur gegenseitigen Übernahme konfigurierten HACMP-Clusters mit zwei Prozessoren ausgeführt werden, müssen die Partitionen zum Beispiel als logische Knoten übernommen werden. Die Standardpartition auf jedem Knoten muß als logischer Knoten 0 definiert sein, d. h., wenn eine Partition eines ausgefallenen Prozessors von einem anderen übernommen wird, wird sie als logischer Knoten gestartet, der keine direkten Empfangsfunktionen für ferne Übertragungsprotokolle hat. Eine solche Partition kann nicht als Koordinatorknoten verwendet werden.

Ein weiterer wichtiger Gesichtspunkt bei der Konfiguration eines Systems für gegenseitige Partitionsübernahme betrifft den Datenbankpfad der lokalen Partition. Wenn eine Datenbank in einer Umgebung mit partitionierten Datenbanken erstellt wird, wird sie in einem Stammpfad erstellt, der unter den Servern der partitionierten Datenbank nicht gemeinsam benutzt wird. Betrachten Sie zum Beispiel den folgenden Befehl:

   CREATE DATABASE db_a1 ON /dbpath

Dieser Befehl wird unter dem Exemplar "db2inst" ausgeführt und erstellt die Datenbank db_a1 im Pfad /dbpath. Jede Datenbankpartition wird in ihrem Dateisystem unter /dbpath/db2inst/nodexxxx erstellt, wobei xxxx die Knotennummer darstellt. Bei der HACMP-Übernahme wird versucht, das /dbpath-Dateisystem anzuhängen (Mount), was aber bereits vom anderen Prozessor benutzt wird. Daher muß die Übernahmeprozedur das Dateisystem unter einem anderen logischen Punkt anhängen und eine symbolische Verbindung von diesem Dateisystem zu dem richtigen Pfad /dpath/db2inst/nodexxxx definieren.

Das folgende Beispiel zeigt einen Abschnitt aus der Datei db2nodes.cfg vor und nach der Funktionsübernahme. In diesem Beispiel wird Knotennummer 2 auf Prozessor 1 der HACMP-Maschine ausgeführt, die als Host-Namen und als Netznamen den Namen "node201" besitzt. Knotennummer 3 wird auf Prozessor 2 auf der HACMP-Maschine ausgeführt, die als Host-Namen und als Netznamen den Namen "node202" besitzt.

Vorher:
        1 node101 0 node101
        2 node201 0 node201    <= HACMP
        3 node202 0 node202    <= HACMP
        4 node301 0 node301
 
   db2start nodenum 2 restart hostname node202 port 1 netname node202
 
Nachher:
        1 node101 0 node101
        2 node202 1 node202    <= HACMP
        3 node202 0 node202    <= HACMP
        4 node301 0 node301

Nach der Übernahme muß jeder ferne Client, der versucht, direkt auf Knotennummer 2 als Koordinatorknoten zuzugreifen, den Knoteneintrag für die Datenbank erneut katalogisieren, um auf den Übernahmeknoten zu verweisen. Es wird nicht empfohlen, ein Szenarion der gegenseitigen Funktionsübernahme für Koordinatorknoten zu verwenden. Wenn für Ihren Koordinatorknoten Redundanz erforderlich ist, verwenden Sie die Konfiguration für den Bereitschaftsmodus.

Beispielprozedur:

   hacmp-s5.sh


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