 |
» |
|
|
 |
Die folgenden Abschnitte beschreiben, wie ein VM Host als Serviceguard-Knoten konfiguriert wird. In dieser Konfiguration wird ein Failover des Gastsystems auf das aufnehmende VM Host-System ausgeführt, wenn eine der von einem Gastsystem verwendeten Ressourcen auf dem primären VM Host-System fehlschlägt. Abbildung 10-4 zeigt diesen Vorgang. So konfigurieren Sie Serviceguard im Hostsystem: Konfigurieren Sie die Integrity VM-Multiserverumgebung wie unter Abschnitt beschrieben. Erstellen Sie das Serviceguard-Paket wie unter Abschnitt beschrieben. Ändern Sie die Konfigurationsdateien des Serviceguard-Pakets so, dass sie Ihrer Gastumgebung entsprechen. Eine Beschreibung hierzu finden Sie unter Abschnitt . Starten Sie das Serviceguard-Paket wie unter Abschnitt beschrieben.
Konfigurieren der Integrity VM-Multiserverumgebung |  |
Die Integrity VM-Multiserverumgebung stellt eine integrierte Umgebung zur Verfügung, wenn die Gastsysteme als Serviceguard-Pakete konfiguriert sind. In einem Cluster, der als Multiserverumgebung konfiguriert ist, ist jedem VM Host bekannt, dass die Gastsysteme Serviceguard-Pakete sind, und er übergibt die Steuerung dieser verteilten Gastsysteme an Serviceguard. Zwei VM Hosts (Host1 und Host2) bilden z. B. einen Serviceguard-Cluster. Ein Gastsystem, das auf Host1 ausgeführt wird, ist als Serviceguard-Paket konfiguriert, das einen Failover auf Host2 ausführen kann. Nachdem Sie die Multiserverumgebung eingerichtet haben, können Sie den Befehl hpvmstatus für jeden VM Host verwenden, um konsistente Informationen zum Gastpaketstatus anzuzeigen. Wenn das Gastpaket auf Host1 ausgeführt wird, können Sie den Befehl hpvmstatus für Host2 verwenden, um den aktuellen Status des Gastsystems anzuzeigen. Nachdem Sie ein Gastsystem als Serviceguard-Paket konfiguriert haben, können Sie keine Integrity VM-Befehle zum Starten und Beenden des Gastsystems verwenden. Nur Serviceguard-Befehle steuern das Gastpaketsystem. Auf diese Weise wird eine konsistente Steuerung der Gastsysteme bereitgestellt. Außerdem werden freigegebene Hintergrundspeicher, die aus eine ganzen Platte bestehen, geschützt. Serviceguard gewährleistet den exklusiven Zugriff für freigegebenen Speicher nur, wenn die Platten mit einem Volumen-Manager wie etwa LVM oder VxVM konfiguriert sind. Die Integrity VM-Multiserverumgebung erweitert diesen Schutz auf ganze Plattenhintergrundspeicher und verhindert den gleichzeitigen Zugriff auf den gleichen Hintergrundspeicher durch mehrere Gastsysteme. Für die Multiserverumgebung muss Serviceguard auf dem VM Host ausgeführt werden. Sie erlaubt das Konfigurieren von Gastsystemen als Serviceguard-Pakete. Die Multiserverumgebung gilt nicht für Konfigurationen, in denen Serviceguard auf dem Gastsystem installiert ist. Richten Sie die Multiserverumgebung wie folgt auf jedem VM Host ein, der Teil der Multiserverumgebung ist: Registrieren Sie jedes VM Host-System, das Mitglied der Multiserverumgebung sein soll. Geben Sie die folgenden Befehle auf jedem VM Host-System ein: # hpvmdevmgmt -a server:Hostname
# hpvmdevmgmt -m server:Hostname:attr:SERVERID=n
# hpvmdevmgmt -m server:Hostname:attr:SERVERADDR=IP-Adresse |
Dabei gilt Folgendes: Hostname ist der nicht qualifizierte Name des VM Host-Systems. n ist eine eindeutige Zahl, die dieses VM Host-System in der Multiserverumgebung identifiziert. Geben Sie eine Zahl zwischen 1 und 255 ein. ip-addr ist die IP-Adresse des VM Host-Systems. Verwenden Sie die IP-Adresse der Netzwerkverbindung, die die Multiserverumgebung bedient.
Geben Sie diese Befehle unter Angabe geeigneter Werte auf jedem VM Host-System in der Multiserverumgebung ein. Um beispielsweise zwei Knoten in der Multiserverumgebung einzurichten (Host1 und Host2), geben Sie die folgenden Befehle auf Host1 ein: # hpvmdevmgmt -a server:Host1
# hpvmdevmgmt -m server:Host1:attr:SERVERID=1
# hpvmdevmgmt -m server:Host1:attr:SERVERADDR=1.2.3.4
# hpvmdevmgmt -a server:Host2
# hpvmdevmgmt -m server:Host2:attr:SERVERID=2
# hpvmdevmgmt -m server:Host2:attr:SERVERADDR=1.2.3.5 |
Geben Sie die gleichen Befehle auf Host2 ein. Überprüfen Sie die Registrierung, indem Sie den folgenden Befehl für jedes Mitglied der Multiserverumgebung eingeben: # hpvmdevmgmt -l server
Host1:CONFIG=SERVER,SERVERADDR=16.116.9.0,SERVERID=1::WWID_NULL
Host2:CONFIG=server,EXIST=NO,DEVTYPE=UNKNOWN,SHARE=NO,SERVERADDR=16.116.8.91,
SERVERID=2::WWID_NULL |
Die Liste der Server in der Multiserverumgebung muss der Liste der Knoten in der Serviceguard-Clusterkonfiguration entsprechen. Erstellen von Gastpaketen |  |
Erstellen Sie auf dem VM Host eine Paketkonfigurationsdatei und ein Steuerungsskript für das Gastsystem, indem Sie das folgende Verfahren verwenden: Installieren Sie Integrity VM, und erstellen Sie das Gastsystem mit allen erforderlichen virtuellen Speichergeräten und vswitches. Wiederholen Sie dieses Verfahren auf jedem Knoten in der Multiserverumgebung. Installieren und konfigurieren Sie HP Serviceguard auf jedem Knoten in der Multiserverumgebung, und führen Sie das Produkt dann aus. Konfigurieren Sie die Integrity VM-Multiserverumgebung auf dem primären und den Alternativknoten wie unter „Konfigurieren der Integrity VM-Multiserverumgebung“ beschrieben. Starten Sie das Gastsystem auf dem primären Knoten mit dem Befehl hpvmstart. Verwenden Sie den Befehl hpvmstatus, um den Namen des Gastsystems zu überprüfen und sich zu vergewissern, dass es ausgeführt wird. Erstellen Sie ein Serviceguard-Paket, indem Sie das Skript hpvmsg_package aus dem HP Serviceguard for Integrity VM Toolkit ausführen, das im Verzeichnis /opt/cmcluster/toolkit/hpvm/ installiert wird, wenn Sie Integrity VM installieren. Geben Sie den Gastsystemnamen als Argument des Befehls wie im folgenden Beispiel gezeigt an:  |
# /opt/cmcluster/toolkit/hpvm/hpvmsg_package.sh compass1
This is the HP Virtual Machine Serviceguard Toolkit Package Template Creation
script.
This script will assist the user develop and distribute a set of Serviceguard
package configuration template files and associated start, stop and monitor scripts.
The templates generated by these scripts will handle many guest configurations,
but it is only a template and may not be appropriate for your particular
configuration needs. You are encouraged to review and modify these template
files as needed for your particular environment.
Do you wish to continue? (y/n):y
[Virtual Machine Details]
Virtual Machine Name VM # OS Type State #VCPUs #Devs #Nets Memory Runsysid
==================== ===== ======= ========= ====== ===== ===== ======= ========
compass1 1 HPUX Off 1 5 1 512 MB 0
[Storage Interface Details]
Guest Physical
Device Adaptor Bus Dev Ftn Tgt Lun Storage Device
====== ========== === === === === === ========= =========================
disk scsi 0 0 0 0 0 disk /dev/rdsk/c12t0d0
disk scsi 0 0 0 1 0 lv /dev/vgsglvm/rlvol1
disk scsi 0 0 0 2 0 file /hpvm/g1lvm/hpvmnet2
disk scsi 0 0 0 3 0 lv /dev/vx/rdsk/sgvxvm/sgvxvms
disk scsi 0 0 0 4 0 file /hpvm/g1vxvm/hpvmnet2
disk scsi 0 0 0 5 0 disk /dev/rdsk/c12t0d5
[Network Interface Details]
Interface Adaptor Name/Num Bus Dev Ftn Mac Address
========= ========== ========== === === === =================
vswitch lan vswitch2 0 1 0 ea-5c-08-d3-70-f2
vswitch lan vswitch5 0 2 0 f2-c7-0d-09-ac-8f
vswitch lan vswitch6 0 4 0 92-35-ed-1f-6c-67
Would you like to create a failover package for this Virtual Machine summarized above? (y/n):y
Would you like to distribute the package to each cluster member? (y/n):y
The failover package template files for the Virtual Machine were successfully created. |
 |
Das Skript fordert Sie auf, die folgenden Aktionen zu bestätigen: Erstellen eines Failoverpakets Verteilen des Pakets auf alle Clusterknoten
Antworten Sie auf beide Eingabeaufforderungen mit der Eingabe von y. Das Skript hpvm_package.sh erstellt die Vorlagendateien für das virtuelle Systempaket im Verzeichnis etc/cmcluster/Name_Gastsystem/: hpvmsg_package ist ein Dienstprogramm, das Sie zum Konfigurieren eines Gastsystems als Serviceguard-Paket verwenden können. Das Dienstprogramm verwendet den von Ihnen als Argument angegebenen Gastsystemnamen, um das Verzeichnis /etc/cmcluster/Name_Gastsystem/ zu erstellen und mit einer Sammlung von Vorlagendateien aufzufüllen, die grundlegende Serviceguard-Parametereinstellungen enthalten. HP empfiehlt, diese Vorlagendateien zu überprüfen und nach Bedarf an Ihre spezifische Multiserverumgebung anzupassen. Weitere Informationen finden Sie unter „Ändern der Paketkonfigurationsdateien“ und im Handbuch Managing Serviceguard (Englisch). Beenden Sie das Gastsystem mithilfe des entsprechenden Betriebssystembefehls, oder verwenden Sie den Befehl hpvmstop -F auf dem VM Host-System. (Da das Gastsystem als Serviceguard-Paket konfiguriert wurde, ist die Option -F erforderlich). Beispiel: # hpvmstop -P Name_Gastsystem -F |
Geben Sie alternativ auf dem Gastsystem den folgenden Befehl ein: # /usr/sbin/shutdown -h now |
Heben Sie die Bereitstellung aller Dateihintergrundspeicher auf, und deaktivieren Sie alle logischen LVM-Volumen, oder entfernen Sie alle VxVM-Volumen, die als Hintergrundspeicher für die Gastsysteme verwendet werden. Überprüfen Sie, ob das Paket ordnungsgemäß eingerichtet wurde, indem Sie den folgenden Befehl eingeben: # cmcheckconf -v -C /etc/cmcluster/cluster-name.config -P /etc/cmcluster/Name_Gastsystem/guest-name.config |
Dabei gilt Folgendes: cluster-name ist der Name des Serviceguard-Clusters. Name_Gastsystem ist der Name des Gastsystems.
Aktualisieren Sie die binären Konfigurationsdateien, und verteilen Sie sie erneut in das Verzeichnis /etc/cmcluster/Name_Gastsystem/ auf allen Clusterknoten: # cmapplyconf -v -C /etc/cmcluster/cluster-name.config -P /etc/cmcluster/Name_Gastsystem/Name_Gastsystem.config |
Wenn Sie aufgefordert werden, zu bestätigen, dass die Clusterkonfiguration geändert werden soll, geben Sie y ein. Beispiel:  |
# cmapplyconf -v -C /etc/cmcluster/cluster1.config -P /etc/cmcluster/compass1/compass1.config
Checking cluster file: /etc/cmcluster/cluster.config
Checking nodes ... Done
Checking existing configuration ... Done
Gathering configuration information ... Done
Gathering configuration information ... Done
Gathering configuration information ..
Gathering storage information ..
Found 10 devices on node host1
Found 10 devices on node host2
Analysis of 20 devices should take approximately 3 seconds
0%----10%----20%----30%----40%----50%----60%----70%----80%----90%----100%
Found 7 volume groups on node charm
Found 7 volume groups on node clowder
Analysis of 14 volume groups should take approximately 1 seconds
0%----10%----20%----30%----40%----50%----60%----70%----80%----90%----100%
.....
Gathering Network Configuration ......... Done
Cluster cluster1 is an existing cluster
Parsing package file: /etc/cmcluster/compass1/compass1.config.
Package hpvmnet2 already exists. It will be modified.
Checking for inconsistencies .. Done
Cluster cluster1 is an existing cluster
Maximum configured packages parameter is 10.
Configuring 3 package(s).
7 package(s) can be added to this cluster.
200 access policies can be added to this cluster.
Modifying configuration on node host1
Modifying configuration on node host2
Modify the cluster configuration ([y]/n)? y
Marking/unmarking volume groups for use in the cluster
0%----10%----20%----30%----40%----50%----60%----70%----80%----90%----100%
Modifying the cluster configuration for cluster cluster1.
Modifying node host1 in cluster cluster1.
Modifying node host2 in cluster cluster1.
Modifying the package configuration for package compass1.
Completed the cluster creation. |
 |
Wenn die Paketkonfigurationsdatei die entsprechenden Einstellungen enthält, starten Sie den Serviceguard-Dienst wie unter „Starten des verteilten Gastsystems“ beschrieben neu. Ändern der Paketkonfigurationsdateien |  |
Das Serviceguard for Integrity VM Toolkit erstellt Vorlagen, die grundlegende Argumente für Serviceguard-Parameter bereitstellen. Überprüfen und ändern Sie die Serviceguard-Parameter basierend auf den Informationen für Ihren Serviceguard-Cluster und den Informationen, die im Handbuch Managing Serviceguard (Englisch) bereitgestellt werden. Nehmen Sie die erforderlichen Änderungen an den Dateien Name_Gastsystem.config und Name_Gastsystem.sh vor. Bearbeiten Sie die Paketkonfigurationsdatei, um ggf. LVM-Volumengruppen hinzuzufügen, die vom verteilten Gastsystem verwendet werden. Verwenden Sie einen separaten Parameter VOLUME_GROUP für jede clusteraktivierte Volumengruppe. Diese Volumengruppen werden mit der Cluster-ID initialisiert, wenn der Befehl cmapplyconf verwendet wird. Starten des verteilten Gastsystems |  |
Zum Starten des verteilten Gastsystems geben Sie den folgenden Befehl ein: # cmrunpkg -v Name_Gastsystem |
Beispiel: # cmrunpkg -v -p compass1
Running package compass1 on node host1.
cmrunpkg : Successfully started package compass1.
cmrunpkg : Completed successfully on all packages specified. |
Vergewissern Sie sich, dass das Gastsystem aktiv ist und ausgeführt wird. Verwenden Sie den Integrity VM-Befehl hpvmstatus und den Serviceguard-Befehl cmviewcl, um den Status zu überprüfen. Beispiel: # hpvmstatus -P compass1
[Virtual Machines]
Virtual Machine Name VM # OS Type State #VCPUs #Devs #Nets Memory Runsysid
==================== ===== ======= ========= ====== ===== ===== ======= ========
compass1 1 HPUX On 1 5 1 512 MB 0 |
 |
 |
# cmviewcl -v compass1
CLUSTER STATUS
cluster1 up
NODE STATUS STATE
host1 up running
Network_Parameters:
INTERFACE STATUS PATH NAME
PRIMARY up 0/2/1/0/4/1 lan7
PRIMARY up 0/2/1/0/6/1 lan9
PRIMARY up 0/5/1/0/7/0 lan6
STANDBY up 0/1/2/0 lan1
STANDBY up 0/2/1/0/4/0 lan2
STANDBY up 0/2/1/0/6/0 lan8
STANDBY up LinkAgg0 lan900
STANDBY up 0/0/3/0 lan0
PACKAGE STATUS STATE AUTO_RUN NODE
compass1 up running disabled host1
Policy_Parameters:
POLICY_NAME CONFIGURED_VALUE
Failover configured_node
Failback manual
Script_Parameters:
ITEM STATUS MAX_RESTARTS RESTARTS NAME
Service up 0 0 host1
Node_Switching_Parameters:
NODE_TYPE STATUS SWITCHING NAME
Primary up enabled host1 (current)
Alternate up enabled host2
NODE STATUS STATE
host 2 up running
Network_Parameters:
INTERFACE STATUS PATH NAME
PRIMARY up 0/2/1/0/4/1 lan7
STANDBY up 0/1/2/0 lan1
STANDBY up 0/2/1/0/4/0 lan2
STANDBY up 0/2/1/0/6/0 lan8
STANDBY up LinkAgg0 lan900
PRIMARY up 0/5/1/0/7/0 lan6
PRIMARY up 0/2/1/0/6/1 lan9
STANDBY up 0/0/3/0 lan0 |
 |
Geben Sie ggf. den Befehl cmmodpkg ein, um automatische Ausführung und Failover zu aktivieren. Starten des Vswitch-Monitors |  |
Der vswitch-Monitor ist für das Überwachen der Aktivitäten des Serviceguard-Netzwerkmonitors sowie ggf. für das Verschieben der vswitch-Konfiguration zwischen primären und Standby-Netzwerkschnittstellen verantwortlich. Der vswitch-Monitor erfordert keine Benutzerkonfiguration und wird als Teil des Produkts Integrity VM installiert. Wenn Serviceguard ausgeführt wird und verteilte Gastsysteme konfiguriert sind, wird der vswitch-Monitor automatisch beim Start des VM Host-System gestartet. Verwenden Sie den folgenden Befehl, um den vswitch-Monitor zu starten: # /sbin/init.d/vswitchmon start |
Geben Sie den folgenden Befehl ein, um zu überprüfen, ob der vswitch-Monitor ausgeführt wird: # ps -ef | grep vswitchmon |
Überprüfen, ob verteilte Gastsysteme einen Failover ausführen können |  |
Um zu überprüfen, ob die als Serviceguard-Pakete konfigurierten Gastsysteme und die Multiserverumgebung ordnungsgemäß funktionieren, verwenden Sie die folgenden Befehle, um einen manuellen Failover auszuführen: Überprüfen Sie auf dem ursprünglichen Knoten (Host1), ob das Paket namens compass1 ausgeführt wird: Host1# cmviewcl -v -p compass1 |
Halten Sie das Paket compass1 auf Host1 an: Host1# cmhaltpkg compass1
Halting package compass1. |
Starten Sie das Paket auf dem anderen VM Host-System (Host2): Host2# cmrunpkg -n Host2 compass1 |
Aktivieren Sie das Paket: Host2# cmmodpkg -e compass1 |
Überprüfen Sie auf dem aufnehmenden Knoten, ob das Paket compass1 gestartet wurde: Host2# cmviewcl -v -p compass1 |
Überprüfen Sie auf dem aufnehmenden Knoten, ob das Gastsystem namens compass1 aktiviert ist: Host2# hpvmstatus -P compass1 |
Verwalten verteilter Gastsysteme |  |
Um verteilte Gastsysteme zu starten, zu beenden und zu überwachen, verwenden Sie die in diesem Abschnitt beschriebenen Serviceguard-Befehle. Verwenden Sie nicht die Integrity VM-Befehle (hpvmstart, hpvmstop und hpvmmigrate) für das Verwalten verteilter Gastsysteme. Starten verteilter GastsystemeZum Starten eines verteilten Gastsystems geben Sie den folgenden Befehl ein: # cmrunpkg Name_Gastsystem |
Beenden verteilter GastsystemeZum Beenden eines verteilten Gastsystems geben Sie den folgenden Befehl ein: # cmhaltpkg Name_Gastsystem |
Überwachen verteilter GastsystemeZum Überwachen des verteilten Gastsystems geben Sie den folgenden Befehl ein: # cmviewcl -v -p Name_Gastsystem |
Ändern verteilter GastsystemeMithilfe des Befehls hpvmmodify können Sie Änderungen an den Ressourcen für das verteilte Gastsystem vornehmen. Wenn Sie das Gastsystem auf einem VM Host-Server ändern, müssen Sie jedoch die gleichen Änderungen auf den anderen Knoten in der Multiserverumgebung vornehmen. Nachdem Sie vswitches, logische Volumen oder Dateihintergrundspeicher geändert haben, die von verteilten Gastsystemen verwendet werden, vergewissern Sie sich, dass Serviceguard die Gastsysteme weiterhin überwachen kann. Führen Sie das Skript hpvmsg_package aus, und starten die die Gastpakete neu, um die Serviceguard-Informationen zu aktualisieren. Überwachen der Netzwerkverbindungen |  |
Der vswitch-Monitor führt das Skript vswitchmon.sh auf den VM Hosts in der Multiserverumgebung aus und überwacht den Serviceguard Network Manager, indem die Datei syslog.log überwacht wird. Wenn die Überwachung erkennt, dass Serviceguard einen Failover eines primären Netzwerks auf ein Standbynetzwerk durchführt, beendet, löscht, erstellt und startet der vswitch-Monitor den vswitch, der dem primären Netzwerk zugeordnet ist, im Standbynetzwerk. Nachdem das primäre Netzwerk wiederhergestellt wurde, verschieben Serviceguard und der vswitch-Monitor das Netzwerk sowie den zugehörigen vswitch zurück in das primäre Netzwerk.
|