
Das IT-Magazin der ORDIX AG mit Fachbeiträgen zu Datenbanken, Unix und Java/XML.
DB2 UDB im Microsoft ClusterDatenbanksysteme im Cluster zu installieren und zu betreiben, ist häufig eine Kunst für sich. Für die Integration von DB2 UDB bietet IBM vorgefertigte Lösungen für verschiedene Cluster Systeme. Dieser Artikel zeigt, wie leicht sich DB2 auf dem Cluster Server von Microsoft integrieren lässt.
|
|
DB2_INSTANCE |
Der Name der DB2-Instanz ist ein globaler Parameter und somit in der ganzen Datei gültig und kann nur einmal verwendet werden. |
|
CLUSTER_NAME |
Name des MSCS-Clusters. Alle Ressourcen, die nach dieser Zeile und vor dem nächsten Parameter CLUSTER_NAME stehen, werden dem angegebenen Cluster zugeordnet. |
|
GROUP_NAME |
Name der MSCS-Gruppe, in der die Ressourcen für die Instanz eingetragen werden. Ist eine Gruppe mit dem Namen im MSCS schon definiert, so werden die Ressourcen dieser Gruppe zugeordnet. Ist eine Gruppe mit diesem Namen noch nicht vorhanden, so wird diese Gruppe erst angelegt und dann die entsprechenden Ressourcen hinzugefügt. Alle Ressourcen, die nach dieser Zeile und vor dem nächsten Parameter GROUP_NAME stehen, werden der angegebenen Gruppe zugeordnet. |
|
IP_NAME |
Name der MSCS-Ressource „IP-Adresse“. |
|
IP_ADDRESS |
Die virtuelle IP-Adresse der DB2-Cluster Instanz. Über diese IP-Adresse ist die DB2-Instanz im Cluster zu erreichen. Die IP-Adresse ist im Cluster immer auf dem Knoten gültig, auf dem auch die DB2-Instanz läuft. Die IP-Adresse darf noch nicht im Netzwerk verwendet werden. |
|
IP_SUBNET |
Die Subnetzmaske der virtuellen IP-Adresse. |
|
IP_NETWORK |
Name des Netzwerkinterfaces für die virtuelle IP-Adresse. Der Parameter legt fest, auf welche physikalische Netzwerkkarte die virtuelle IP-Adresse gelegt wird. Hier muss genau der Name verwendet werden, der im Cluster Administrator eingetragen wurde. |
|
NETNAME_NAME |
Name der MSCS-Ressource „Netzwerkname“. Der Parameter ist optional. |
|
NETNAME_VALUE |
Netzwerkname des virtuellen Interfaces. Über diesen Namen ist die DB2-Instanz unabhängig vom aktuellen Knoten im Cluster immer zu erreichen. |
|
NETNAME_ DEPENDENCY |
Name der zum Netzwerknamen gehörenden Ressource IP-Adresse. Der Parameter weist den Netzwerknamen einer IP-Adresse zu. |
|
DISK_NAME |
Name der MSCS-Ressource „Physische Platte“, auf der die Daten der Instanz und deren Datenbanken liegen. |
|
INSTPROF_DISK |
Name der MSCS-Platte, auf der das Instanzverzeichnis für die Cluster-Instanz angelegt werden soll. Wird der Parameter nicht angegeben, wird der erste Parameter DISK_NAME verwendet. |
|
INSTPROF_PATH |
Pfad für das Instanzverzeichnis. Der Parameter muss bei ServerRAID-Netfinity-Platten-Ressourcen IPSHAdisks verwendet werden und übersteuert den Parameter INSTPROF_DISK. |
Abb. 1: Einige der Parameter aus der DB2MSCS-Konfigurationsdatei.
Bei dieser Beispielkonfiguration wird ein Cluster aus zwei Knoten und einer DB2-Instanz für den Hot Standby Modus konfiguriert (siehe Abbildung 2). Dabei sind folgende Schritte notwendig:
für den Fall der Übernahme bereit. |
Die MSCS-Konfigurationsdatei db2mscs.cfg ist wie folgt zu erstellen:
DB2_INSTANCE=DB2
CLUSTER_NAME=DB2CL
GROUP_NAME=DB2 Group 0
IP_NAME=DB2 IP
IP_ADDRESS=192.168.6.211
IP_SUBNET=255.255.255.0
IP_NETWORK=Public Cluster Connection
NETNAME_NAME=Network Name for DB2
NETNAME_VALUE=DB2SRV
NETNAME_DEPENDENCY=DB2 IP
DISK_NAME=Disk E: Q:
INSTPROF_PATH=E:\db2profs
Mit dem Kommando db2mscs wird die Instanz dann in den Cluster integriert. Dies erfolgt mit folgendem Aufruf:
C:\>db2mscs -f:db2mscs.cfg
DB21500I The DB2MSCS command complete successfully.
Zur Überprüfung kann der Inhalt der Variablen db2instprof aus der DB2-Profileregistry angezeigt und das Kommando db2ilist aufgerufen werden:
C:\>db2set db2instprof
:w
E:\DB2PROFS
Die Variable db2instprof sollte den in der Datei db2mscs.cfg eingetragenen Wert haben.
C:\>db2ilist
DB2 C : DB2CL
Hinter dem Namen der DB2-Instanz steht jetzt „C:“ und der Name des Clusters, auf dem die Instanz jetzt läuft.
Nachdem die DB2-Instanz im Cluster läuft, sind einige manuelle Tätigkeiten notwendig. Mit dem Cluster Administrator (siehe Abbildung 3) müssen die „Preferred Owner“ der neuen Gruppe eingetragen werden. Dort sind alle Knoten des Clusters einzutragen, auf denen die DB2-Instanz laufen soll. Dabei ist die Reihenfolge der Einträge zu beachten.
![]() |
Danach sind neue Datenbanken anzulegen oder vorhandene auf die Instanz im Cluster zu übertragen. Dabei ist jeweils darauf zu achten, dass die Datenbank auf dem gemeinsam genutzten Laufwerk angelegt wird. Vorhandene Datenbanken werden über ein umgeleitetes Wiederherstellen (Redirected Restore) auf die gemeinsam genutzten Laufwerke übertragen.
Rechnern des Clusters läuft eine DB2-Instanz. Im Falle der Übernahme laufen beide Instanzen auf einem Rechner. |
Bei der Konfiguration des Clusters als gegenseitige Übernahme ist auf jedem Knoten des Clusters eine DB2-Instanz aktiv (siehe Abbildung 4). Die Vorgehensweise für den ersten Knoten ist die gleiche wie bei der Hot Standby Konfiguration. Zusätzlich ist dann noch die Instanz auf dem zweiten Knoten in das Cluster zu überführen. Dazu wird mindestens eine zusätzliche, gemeinsam genutzte Platte benötigt.
Die MSCS-Konfigurationsdatei db2mscs.cfg ist für den zweiten Knoten wie folgt zu erstellen:
DB2_INSTANCE=DB3
CLUSTER_NAME=DB2CL
GROUP_NAME=DB2 Group 1
IP_NAME=DB3 IP
IP_ADDRESS=192.168.6.212
IP_SUBNET=255.255.255.0
IP_NETWORK=Public Cluster Connection
NETNAME_NAME=Network Name for DB3
NETNAME_VALUE=DB3SRV
NETNAME_DEPENDENCY=DB3 IP
DISK_NAME=Disk F:
INSTPROF_PATH=F:\db2profs
Die manuellen Nacharbeiten für beide Knoten sind die gleichen wie bei der Hot Standby Konfiguration.
Das Hauptproblem bei der Integration von DB2 UDB in ein MSCS ist die Konfigurationsdatei. Wenn man aus der Vielzahl der möglichen Parameter die herausgesucht hat, die wirklich verwendet werden, ist der Rest fast ein Kinderspiel. Die Beispiele in diesem Artikel sollten dabei sehr hilfreich sein.
Holger Demuth (info@ordix.de).