Konfiguration des Red Hat High Availability Add-Ons mit Pacemaker
Referenzhandbuch für das High Availability Add-On für Red Hat Enterprise Linux 6
Ausgabe 1
Zusammenfassung
Einführung
- Red Hat Enterprise Linux Installationshandbuch – Liefert Informationen bezüglich der Installation von Red Hat Enterprise Linux 6.
- Red Hat Enterprise Linux Bereitstellungshandbuch – Liefert Informationen bezüglich der Implementierung, der Konfiguration und der Administration von Red Hat Enterprise Linux 6.
- Überblick über das High Availability Add-On – Liefert einen allgemeinen Überblick über das High Availability Add-On.
- Cluster-Administration – Liefert Informationen zur Installation, Konfiguration und Verwaltung des High Availability Add-Ons.
- Administration des Logical Volume Manager – Liefert eine Beschreibung des Logical Volume Managers (LVM), inklusive Informationen zum Einsatz von LVM in einer Cluster-Umgebung.
- Global File System 2: Konfiguration und Administration – Liefert Informationen zur Installation, Konfiguration und Pflege von Red Hat GFS (Red Hat Global File System 2), das Bestandteil des Resilient Storage Add-Ons ist.
- DM Multipath – Liefert Informationen über die Verwendung des Device-Mapper Multi-Pathing-Features von Red Hat Enterprise Linux 6.
- Verwaltung der Lastverteilung – Liefert Informationen zur Konfiguration von Hochleistungssystemen und -diensten mit dem Red Hat Load Balancer Add-On, einer Gruppe integrierter Softwarekomponenten, die Linux Virtual Server (LVS) bereitstellen, um IP-Lasten über eine Gruppe realer Server zu verteilen.
- Versionshinweise – Liefert Informationen über die jeweils aktuelle Version der Red Hat Produkte.
1. Feedback Link kopierenLink in die Zwischenablage kopiert!
Configuring_High_Availability_With_Pacemaker(EN)-6 (2014-8-7T16:26)
Configuring_High_Availability_With_Pacemaker(EN)-6 (2014-8-7T16:26)
Kapitel 1. Überblick über Konfiguration und Verwaltung des Red Hat High Availability Add-Ons Link kopierenLink in die Zwischenablage kopiert!
pcs-Konfigurationsoberfläche für die Red Hat Enterprise Linux Release 6.6 und höher.
Anmerkung
1.1. Installieren der Pacemaker-Konfigurationstools Link kopierenLink in die Zwischenablage kopiert!
yum install Befehl verwenden, um die Softwarepakete für das Red Hat High Availability Add-On sowie alle verfügbaren Fencing-Agenten aus dem High-Availability-Channel zu installieren.
yum install pcs fence-agents
# yum install pcs fence-agents
lvm2-cluster und gfs2-utils sind Teil des ResilientStorage-Channels. Sie können sie bei Bedarf mit dem folgenden Befehl installieren.
yum install lvm2-cluster gfs2-utils
# yum install lvm2-cluster gfs2-utils
Warnung
1.2. Konfigurieren der iptables-Firewall zum Erlauben von Cluster-Komponenten Link kopierenLink in die Zwischenablage kopiert!
- Für TCP: Ports 2224, 3121, 21064
- Für UDP: Ports, 5405
1.3. Cluster- und Pacemaker-Konfigurationsdateien Link kopierenLink in die Zwischenablage kopiert!
cluster.conf und cib.xml. Bearbeiten Sie diese Dateien nicht direkt, sondern verwenden Sie stattdessen die pcs- oder pcsd-Oberfläche.
cluster.conf-Datei liefert die Cluster-Parameter, die von corosync verwendet werden – dem Cluster-Verwalter, auf dem Pacemaker aufgebaut ist.
cib.xml-Datei ist eine XML-Datei, die sowohl die Cluster-Konfiguration als auch den derzeitigen Status aller Ressourcen im Cluster abbildet. Diese Datei wird von Pacemakers Cluster Information Base (CIB) verwendet. Die Inhalte der CIB werden automatisch im gesamten Cluster synchron gehalten.
Kapitel 2. Die pcs-Befehlszeilenschnittstelle Link kopierenLink in die Zwischenablage kopiert!
pcs-Befehlszeilenschnittstelle ermöglicht die Steuerung und Konfiguration von corosync und pacemaker.
pcs-Befehls lautet wie folgt.
pcs [-f file] [-h] [commands]...
pcs [-f file] [-h] [commands]...
2.1. pcs-Befehle Link kopierenLink in die Zwischenablage kopiert!
pcs-Befehle lauten wie folgt.
clusterKonfiguriert Cluster-Optionen und Knoten. Informationen über den Befehlpcs clusterfinden Sie in Kapitel 3, Cluster-Erstellung und -Verwaltung.resourceErstellt und verwaltet Cluster-Ressourcen. Informationen über den Befehlpcs clusterfinden Sie in Kapitel 5, Konfigurieren von Cluster-Ressourcen, Kapitel 7, Verwalten von Cluster-Ressourcen und Kapitel 8, Erweiterte Ressourcentypen.stonithKonfiguriert Fencing-Geräte zur Verwendung mit Pacemaker. Informationen über den Befehlpcs stonithfinden Sie in Kapitel 4, Fencing: Konfigurieren von STONITH.constraintVerwaltet Ressourcenbeschränkungen. Informationen über den Befehlpcs constraintfinden Sie in Kapitel 6, Ressourcenbeschränkungen.propertyLegt Pacemaker-Eigenschaften fest. Informationen über das Festlegen der Eigenschaften mit dem Befehlpcs propertyfinden Sie in Kapitel 10, Pacemaker-Cluster-Eigenschaften.statusZeigt den aktuellen Cluster- und Ressourcenstatus an. Informationen über den Befehlpcs statusfinden Sie in Abschnitt 2.5, »Anzeigen des Status«.configZeigt die vollständige Cluster-Konfiguration in einer für den Benutzer lesbaren Form an. Informationen über den Befehlpcs configfinden Sie in Abschnitt 2.6, »Anzeigen der vollständigen Cluster-Konfiguration«.
2.2. pcs-Hilfebildschirm Link kopierenLink in die Zwischenablage kopiert!
-h für pcs verwenden, um die Parameter eines pcs-Befehls samt einer Beschreibung dieser Parameter anzuzeigen. Beispielsweise zeigt der folgende Befehl die Parameter des Befehls pcs resource. Nur ein Ausschnitt der Ausgabe ist hier dargestellt.
2.3. Anzeigen der unformatierten Cluster-Konfiguration Link kopierenLink in die Zwischenablage kopiert!
pcs cluster cib anzeigen lassen.
pcs cluster cib filename abspeichern, wie in Abschnitt 2.4, »Speichern einer Konfigurationsänderung in eine Datei« beschrieben.
2.4. Speichern einer Konfigurationsänderung in eine Datei Link kopierenLink in die Zwischenablage kopiert!
-f zum pcs-Befehl verwenden, um eine Konfigurationsänderung in eine Datei zu speichern ohne Auswirkungen auf die aktive CIB.
pcs cluster cib filename
pcs cluster cib filename
testfile.
pcs cluster cib testfile
pcs cluster cib testfile
testfile1, fügt diese Ressource jedoch nicht der derzeit laufenden Cluster-Konfiguration hinzu.
pcs -f testfile1 resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.120 cidr_netmask=24 op monitor interval=30s
# pcs -f testfile1 resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.120 cidr_netmask=24 op monitor interval=30s
testfile mit dem folgenden Befehl an die CIB übertragen.
pcs cluster cib-push filename
pcs cluster cib-push filename
2.5. Anzeigen des Status Link kopierenLink in die Zwischenablage kopiert!
pcs status commands
pcs status commands
resources, groups, cluster, nodes oder pcsd angeben.
2.6. Anzeigen der vollständigen Cluster-Konfiguration Link kopierenLink in die Zwischenablage kopiert!
pcs config
pcs config
2.7. Anzeigen der aktuellen pcs-Version Link kopierenLink in die Zwischenablage kopiert!
pcs an, die derzeit ausgeführt wird.
pcs --version
pcs --version
Kapitel 3. Cluster-Erstellung und -Verwaltung Link kopierenLink in die Zwischenablage kopiert!
3.1. Erstellen eines Clusters Link kopierenLink in die Zwischenablage kopiert!
- Authentifizieren Sie die Knoten, aus denen der Cluster gebildet werden soll.
- Konfigurieren und synchronisieren Sie die Cluster-Knoten.
- Starten Sie die Cluster-Dienste auf den Cluster-Knoten.
3.1.1. Authentifizieren der Cluster-Knoten Link kopierenLink in die Zwischenablage kopiert!
pcs beim pcs-Daemon auf den Knoten im Cluster.
- Der Benutzername für den
pcs-Administrator muss auf jedem Knotenhaclusterlauten. Es wird empfohlen, dass auf jedem Knoten dasselbe Passwort für denhacluster-Benutzer verwendet wird. - Falls Sie keinen Benutzernamen und kein Passwort angeben, fordert Sie das System für jeden Knoten zu deren Eingabe auf, wenn Sie den Befehl ausführen.
- Falls Sie keine Knoten angeben, authentifiziert dieser Befehl
pcsauf jenen Knoten, die mit dem Befehlpcs cluster setupangegeben wurden, falls Sie diesen Befehl zuvor ausgeführt haben.
pcs cluster auth [node] [...] [-u username] [-p password]
pcs cluster auth [node] [...] [-u username] [-p password]
~/.pcs/tokens (oder /var/lib/pcsd/tokens) gespeichert.
3.1.2. Konfigurieren und Starten der Cluster-Knoten Link kopierenLink in die Zwischenablage kopiert!
- Falls Sie die Option
--startangeben, startet der Befehl zudem die Cluster-Dienste auf den angegebenen Knoten. Falls notwendig, können Sie die Cluster-Dienste auch mit dem separaten Befehlpcs cluster startstarten. - Falls Sie die Option
--localangeben, führt der Befehl die Änderungen nur auf dem lokalen Knoten durch.
pcs cluster setup [--start] [--local] --name cluster_ name node1 [node2] [...]
pcs cluster setup [--start] [--local] --name cluster_ name node1 [node2] [...]
- Falls Sie die Option
--allangeben, startet der Befehl die Cluster-Dienste auf allen Knoten. - Falls Sie keine Knoten angeben, werden die Cluster-Dienste nur auf dem lokalen Knoten gestartet.
pcs cluster start [--all] [node] [...]
pcs cluster start [--all] [node] [...]
3.2. Verwalten von Cluster-Knoten Link kopierenLink in die Zwischenablage kopiert!
3.2.1. Stoppen von Cluster-Diensten Link kopierenLink in die Zwischenablage kopiert!
pcs cluster start stoppt die Option --all die Cluster-Dienste auf allen Knoten und falls Sie keinen Knoten angeben, werden die Cluster-Dienste nur auf dem lokalen Knoten gestoppt.
pcs cluster stop [--all] [node] [...]
pcs cluster stop [--all] [node] [...]
kill -9 ausgeführt wird.
pcs cluster kill
pcs cluster kill
3.2.2. Aktivieren und Deaktivieren der Cluster-Dienste Link kopierenLink in die Zwischenablage kopiert!
- Falls Sie die Option
--allangeben, aktiviert der Befehl die Cluster-Dienste auf allen Knoten. - Falls Sie keine Knoten angeben, werden die Cluster-Dienste nur auf dem lokalen Knoten aktiviert.
pcs cluster enable [--all] [node] [...]
pcs cluster enable [--all] [node] [...]
- Falls Sie die Option
--allangeben, deaktiviert der Befehl die Cluster-Dienste auf allen Knoten. - Falls Sie keine Knoten angeben, werden die Cluster-Dienste nur auf dem lokalen Knoten deaktiviert.
pcs cluster disable [--all] [node] [...]
pcs cluster disable [--all] [node] [...]
3.2.3. Hinzufügen und Entfernen von Cluster-Knoten Link kopierenLink in die Zwischenablage kopiert!
cluster.conf auf allen Knoten im Cluster, einschließlich dem neu hinzugefügten Knoten.
pcs cluster node add node
pcs cluster node add node
cluster.conf. Informationen über das Entfernen sämtlicher Informationen über den Cluster von den Cluster-Knoten, um den Cluster dauerhaft zu löschen, finden Sie unter Abschnitt 3.4, »Entfernen der Cluster-Konfiguration«.
pcs cluster node remove node
pcs cluster node remove node
3.2.4. Standby-Modus Link kopierenLink in die Zwischenablage kopiert!
--all angeben, versetzt dieser Befehl alle Knoten in den Standby-Modus.
pcs cluster standby node | --all
pcs cluster standby node | --all
--all angeben, hebt dieser Befehl den Standby-Modus für alle Knoten auf.
pcs cluster unstandby node | --all
pcs cluster unstandby node | --all
pcs cluster standby den Ressourcen eine Beschränkung auferlegt, um diese daran zu hindern, auf dem angegebenen Knoten zu laufen. Wenn Sie den Befehl pcs cluster unstandby ausführen, wird diese Beschränkung entfernt. Dadurch werden die Ressourcen nicht automatisch auf den angegebenen Knoten zurückverlegt; wo die Ressourcen zu diesem Zeitpunkt ausgeführt werden können, hängt von der ursprünglichen Konfiguration Ihrer Ressourcen ab. Informationen über Ressourcenbeschränkungen finden Sie in Kapitel 6, Ressourcenbeschränkungen.
3.3. Festlegen von Benutzerberechtigungen Link kopierenLink in die Zwischenablage kopiert!
pcs acl dazu verwenden, um mittels Zugriffssteuerungslisten (engl.: Access Control Lists oder ACLs) Berechtigungen für lokale Benutzer einzustellen, die Leseberechtigungen oder Lese- und Schreibberechtigungen für die Cluster-Konfiguration gewähren.
- Führen Sie den Befehl
pcs acl role create...aus, um eine Rolle zu erstellen, welche die Berechtigungen für diese Rolle definiert. - Diese von Ihnen erstellte Rolle können Sie mithilfe des Befehls
pcs acl user createeinem Benutzer zuweisen.
rouser Lesezugriff auf eine Cluster-Konfiguration.
- Dieses Verfahren erfordert, dass der Benutzer
rouserauf dem lokalen System existiert und dass der BenutzerrouserMitglied der Gruppehaclusterist.adduser rouser usermod -a -G hacluster rouser
# adduser rouser # usermod -a -G hacluster rouserCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Aktivieren Sie Pacemaker-ACLs mit der Cluster-Eigenschaft
enable-acl.pcs property set enable-acl=true --force
# pcs property set enable-acl=true --forceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Erstellen Sie eine Rolle namens
read-onlymit Leseberechtigungen für die CIB.pcs acl role create read-only description="Read access to cluster" read xpath /cib
# pcs acl role create read-only description="Read access to cluster" read xpath /cibCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Erstellen Sie den Benutzer
rouserim ACL-System von pcs und weisen Sie diesem Benutzer die Rolleread-onlyzu.pcs acl user create rouser read-only
# pcs acl user create rouser read-onlyCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Zeigen Sie alle derzeitigen ACLs an.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
wuser Schreibzugriff auf eine Cluster-Konfiguration.
- Dieses Verfahren erfordert, dass der Benutzer
wuserauf dem lokalen System existiert und dass der BenutzerwuserMitglied der Gruppehaclusterist.adduser wuser usermod -a -G hacluster wuser
# adduser wuser # usermod -a -G hacluster wuserCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Aktivieren Sie Pacemaker-ACLs mit der Cluster-Eigenschaft
enable-acl.pcs property set enable-acl=true --force
# pcs property set enable-acl=true --forceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Erstellen Sie eine Rolle namens
write-accessmit Schreibberechtigungen für die CIB.pcs acl role create write-access description="Full access" write xpath /cib
# pcs acl role create write-access description="Full access" write xpath /cibCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Erstellen Sie den Benutzer
wuserim ACL-System von pcs und weisen Sie diesem Benutzer die Rollewrite-accesszu.pcs acl user create wuser write-access
# pcs acl user create wuser write-accessCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Zeigen Sie alle derzeitigen ACLs an.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
pcs acl.
3.4. Entfernen der Cluster-Konfiguration Link kopierenLink in die Zwischenablage kopiert!
Warnung
pcs cluster stop ausführen, bevor Sie den Cluster löschen.
pcs cluster destroy
pcs cluster destroy
3.5. Anzeigen des Cluster-Status Link kopierenLink in die Zwischenablage kopiert!
pcs status
pcs status
pcs cluster status
pcs cluster status
pcs status resources
pcs status resources
Kapitel 4. Fencing: Konfigurieren von STONITH Link kopierenLink in die Zwischenablage kopiert!
4.1. Verfügbare STONITH (Fencing)-Agenten Link kopierenLink in die Zwischenablage kopiert!
pcs stonith list [filter]
pcs stonith list [filter]
4.2. Allgemeine Eigenschaften von Fencing-Geräten Link kopierenLink in die Zwischenablage kopiert!
Anmerkung
target-role einstellen wie für eine normale Ressource auch.
Anmerkung
Anmerkung
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
stonith-timeout | Zeitspanne | 60s | Wert für die Zeitüberschreitung einer STONITH-Aktion pro stonith-Gerät. Setzt die Cluster-Eigenschaft stonith-timeout außer Kraft |
priority | Ganzzahl | 0 | Die Priorität der stonith-Ressource. Geräte werden in der Reihenfolge von höchster nach niedrigster Priorität versucht |
pcmk_host_map | Zeichenfolge | Eine Zuordnung von Hostnamen zu Portnummern für Geräte, die keine Hostnamen unterstützen. Zum Beispiel: node1:1;node2:2,3 weist den Cluster dazu an, Port 1 für Knoten 1 und Ports 2 und 3 für Knoten 2 zu verwenden | |
pcmk_host_list | Zeichenfolge | Eine Liste aller Rechner, die von diesem Gerät gesteuert werden. (Optional, es sei denn pcmk_host_check=static-list) | |
pcmk_host_check | Zeichenfolge | dynamic-list | Wie bestimmt werden soll, welche Rechner von dem Gerät gesteuert werden. Zulässige Werte: dynamic-list (fragt das Gerät ab), static-list (prüft das Attribut pcmk_host_list), kein Wert (nimmt an, dass jedes Gerät jeden Rechner abgrenzen kann) |
4.3. Anzeigen gerätespezifischer Fencing-Optionen Link kopierenLink in die Zwischenablage kopiert!
pcs stonith describe stonith_agent
pcs stonith describe stonith_agent
4.4. Erstellen eines Fencing-Geräts Link kopierenLink in die Zwischenablage kopiert!
pcs stonith create stonith_id stonith_device_type [stonith_device_options]
pcs stonith create stonith_id stonith_device_type [stonith_device_options]
pcs stonith create MyStonith fence_virt pcmk_host_list=f1 op monitor interval=30s
# pcs stonith create MyStonith fence_virt pcmk_host_list=f1 op monitor interval=30s
pcmk_host_map verwenden, um zu definieren, welcher Port zu welchem Knoten gehört. Beispielsweise erstellt der folgende Befehl ein einziges Fencing-Gerät namens myapc-west-13, das einen APC-Powerswitch namens west-apc verwendet und Port 15 für Knoten west-13 nutzt.
pcs stonith create myapc-west-13 fence_apc pcmk_host_list="west-13" ipaddr="west-apc" login="apc" passwd="apc" port="15"
# pcs stonith create myapc-west-13 fence_apc pcmk_host_list="west-13" ipaddr="west-apc" login="apc" passwd="apc" port="15"
west-apc zum Abgrenzen von Knoten west-13 auf Port 15, west-14 auf Port 17, west-15 auf Port 18 und west-16 auf Port 19.
pcs stonith create myapc fence_apc pcmk_host_list="west-13,west-14,west-15,west-16" pcmk_host_map="west-13:15;west-14:17;west-15:18;west-16:19" ipaddr="west-apc" login="apc" passwd="apc"
# pcs stonith create myapc fence_apc pcmk_host_list="west-13,west-14,west-15,west-16" pcmk_host_map="west-13:15;west-14:17;west-15:18;west-16:19" ipaddr="west-apc" login="apc" passwd="apc"
4.5. Konfigurieren von Storage-basierten Fencing-Geräten mit Aufheben der Abgrenzung Link kopierenLink in die Zwischenablage kopiert!
provides=unfencing beim Erstellen des stonith-Geräts angeben. Dadurch wird sichergestellt, dass die Abgrenzung eines abgegrenzten Knotens wieder aufgehoben wird, bevor der Knoten neu gestartet wird und die Cluster-Dienste auf diesem Knoten gestartet werden.
provides=unfencing ist bei der Konfiguration eines strombasierten Fencing-Geräts nicht notwendig, da das Gerät selbst die Stromversorgung für den Knoten stellt, damit dieser booten und einen Wiederbeitritt zum Cluster versuchen kann. In diesem Fall impliziert der Neustart, dass die Aufhebung der Abgrenzung erfolgt ist.
my-scsi-shooter, das den Fencing-Agent fence_scsi verwendet und die Aufhebung der Abgrenzung für das Gerät ermöglicht.
pcs stonith create my-scsi-shooter fence_scsi devices=/dev/sda meta provides=unfencing
pcs stonith create my-scsi-shooter fence_scsi devices=/dev/sda meta provides=unfencing
4.6. Anzeigen von Fencing-Geräten Link kopierenLink in die Zwischenablage kopiert!
--full angegeben ist, werden alle konfigurierten stonith-Optionen angezeigt.
pcs stonith show [stonith_id] [--full]
pcs stonith show [stonith_id] [--full]
4.7. Bearbeiten und Löschen von Fencing-Geräten Link kopierenLink in die Zwischenablage kopiert!
pcs stonith update stonith_id [stonith_device_options]
pcs stonith update stonith_id [stonith_device_options]
pcs stonith delete stonith_id
pcs stonith delete stonith_id
4.8. Verwalten von Knoten mit Fencing-Geräten Link kopierenLink in die Zwischenablage kopiert!
--off angeben, wird der API-Aufruf off an stonith verwendet, um den Knoten abzuschalten statt ihn neu zu starten.
pcs stonith fence node [--off]
pcs stonith fence node [--off]
Anmerkung
pcs stonith confirm node
pcs stonith confirm node
4.9. Weitere Fencing-Konfigurationsoptionen Link kopierenLink in die Zwischenablage kopiert!
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
pcmk_host_argument | Zeichenfolge | Port | Ein alternativer Parameter, der anstelle des Ports angegeben werden soll. Einige Geräte unterstützen den standardmäßigen port-Parameter nicht oder bieten zusätzliche Parameter. Verwenden Sie dies zur Angabe eines alternativen, gerätespezifischen Parameters, der den abzugrenzenden Rechner angibt. Der Wert none kann verwendet werden, um den Cluster anzuweisen, keine weiteren Parameter zu übergeben. |
pcmk_reboot_action | Zeichenfolge | reboot | Ein alternativer Befehl, der anstelle von reboot ausgeführt werden soll. Einige Geräte unterstützen die standardmäßigen Befehle nicht oder bieten zusätzliche Befehle. Verwenden Sie dies zur Angabe eines alternativen, gerätespezifischen Befehls für die „reboot“-Aktion. |
pcmk_reboot_timeout | Zeitspanne | 60s | Ein alternativer Wert für die Zeitüberschreitung bei Neustarts, der anstelle von stonith-timeout verwendet werden soll. Einige Geräte benötigen sehr viel weniger bzw. mehr Zeit für diese Aktion als normal. Verwenden Sie dies zur Angabe eines alternativen, gerätespezifischen Werts für die Zeitüberschreitung bei „reboot“-Aktionen. |
pcmk_reboot_retries | Ganzzahl | 2 | Die maximale Anzahl von Neuversuchen für den reboot-Befehl innerhalb der Zeitspanne für die Zeitüberschreitung. Einige Geräte unterstützen keine mehrfachen Verbindungen. Operationen können fehlschlagen, falls das Gerät mit einer anderen Operation beschäftigt ist, weshalb Pacemaker die Operation automatisch erneut versucht, falls noch genügend Zeit bleibt. Verwenden Sie diese Option, um die Anzahl der Neuversuche von Pacemaker für „reboot“-Aktionen zu verändern, bevor aufgegeben werden soll. |
pcmk_off_action | Zeichenfolge | off | Ein alternativer Befehl, der anstelle von off ausgeführt werden soll. Einige Geräte unterstützen die standardmäßigen Befehle nicht oder bieten zusätzliche Befehle. Verwenden Sie dies zur Angabe eines alternativen, gerätespezifischen Befehls für die „off“-Aktion. |
pcmk_off_timeout | Zeitspanne | 60s | Ein alternativer Wert für die Zeitüberschreitung bei „off“-Aktionen, der anstelle von stonith-timeout verwendet werden soll. Einige Geräte benötigen sehr viel weniger bzw. mehr Zeit für diese Aktion als normal. Verwenden Sie dies zur Angabe eines alternativen, gerätespezifischen Werts für die Zeitüberschreitung bei „off“-Aktionen. |
pcmk_off_retries | Ganzzahl | 2 | Die maximale Anzahl von Neuversuchen für den off-Befehl innerhalb der Zeitspanne für die Zeitüberschreitung. Einige Geräte unterstützen keine mehrfachen Verbindungen. Operationen können fehlschlagen, falls das Gerät mit einer anderen Operation beschäftigt ist, weshalb Pacemaker die Operation automatisch erneut versucht, falls noch genügend Zeit bleibt. Verwenden Sie diese Option, um die Anzahl der Neuversuche von Pacemaker für „off“-Aktionen zu verändern, bevor aufgegeben werden soll. |
pcmk_list_action | Zeichenfolge | list | Ein alternativer Befehl, der anstelle von list ausgeführt werden soll. Einige Geräte unterstützen die standardmäßigen Befehle nicht oder bieten zusätzliche Befehle. Verwenden Sie dies zur Angabe eines alternativen, gerätespezifischen Befehls für die „list“-Aktion. |
pcmk_list_timeout | Zeitspanne | 60s | Ein alternativer Wert für die Zeitüberschreitung bei „list“-Aktionen, der anstelle von stonith-timeout verwendet werden soll. Einige Geräte benötigen sehr viel weniger bzw. mehr Zeit für diese Aktion als normal. Verwenden Sie dies zur Angabe eines alternativen, gerätespezifischen Werts für die Zeitüberschreitung bei „list“-Aktionen. |
pcmk_list_retries | Ganzzahl | 2 | Die maximale Anzahl von Neuversuchen für den list-Befehl innerhalb der Zeitspanne für die Zeitüberschreitung. Einige Geräte unterstützen keine mehrfachen Verbindungen. Operationen können fehlschlagen, falls das Gerät mit einer anderen Operation beschäftigt ist, weshalb Pacemaker die Operation automatisch erneut versucht, falls noch genügend Zeit bleibt. Verwenden Sie diese Option, um die Anzahl der Neuversuche von Pacemaker für „list“-Aktionen zu verändern, bevor aufgegeben werden soll. |
pcmk_monitor_action | Zeichenfolge | monitor | Ein alternativer Befehl, der anstelle von monitor ausgeführt werden soll. Einige Geräte unterstützen die standardmäßigen Befehle nicht oder bieten zusätzliche Befehle. Verwenden Sie dies zur Angabe eines alternativen, gerätespezifischen Befehls für die „monitor“-Aktion. |
pcmk_monitor_timeout | Zeitspanne | 60s | Ein alternativer Wert für die Zeitüberschreitung bei „monitor“-Aktionen, der anstelle von stonith-timeout verwendet werden soll. Einige Geräte benötigen sehr viel weniger bzw. mehr Zeit für diese Aktion als normal. Verwenden Sie dies zur Angabe eines alternativen, gerätespezifischen Werts für die Zeitüberschreitung bei „monitor“-Aktionen. |
pcmk_monitor_retries | Ganzzahl | 2 | Die maximale Anzahl von Neuversuchen für den monitor-Befehl innerhalb der Zeitspanne für die Zeitüberschreitung. Einige Geräte unterstützen keine mehrfachen Verbindungen. Operationen können fehlschlagen, falls das Gerät mit einer anderen Operation beschäftigt ist, weshalb Pacemaker die Operation automatisch erneut versucht, falls noch genügend Zeit bleibt. Verwenden Sie diese Option, um die Anzahl der Neuversuche von Pacemaker für „monitor“-Aktionen zu verändern, bevor aufgegeben werden soll. |
pcmk_status_action | Zeichenfolge | status | Ein alternativer Befehl, der anstelle von status ausgeführt werden soll. Einige Geräte unterstützen die standardmäßigen Befehle nicht oder bieten zusätzliche Befehle. Verwenden Sie dies zur Angabe eines alternativen, gerätespezifischen Befehls für die „status“-Aktion. |
pcmk_status_timeout | Zeitspanne | 60s | Ein alternativer Wert für die Zeitüberschreitung bei „status“-Aktionen, der anstelle von stonith-timeout verwendet werden soll. Einige Geräte benötigen sehr viel weniger bzw. mehr Zeit für diese Aktion als normal. Verwenden Sie dies zur Angabe eines alternativen, gerätespezifischen Werts für die Zeitüberschreitung bei „status“-Aktionen. |
pcmk_status_retries | Ganzzahl | 2 | Die maximale Anzahl von Neuversuchen für den status-Befehl innerhalb der Zeitspanne für die Zeitüberschreitung. Einige Geräte unterstützen keine mehrfachen Verbindungen. Operationen können fehlschlagen, falls das Gerät mit einer anderen Operation beschäftigt ist, weshalb Pacemaker die Operation automatisch erneut versucht, falls noch genügend Zeit bleibt. Verwenden Sie diese Option, um die Anzahl der Neuversuche von Pacemaker für „status“-Aktionen zu verändern, bevor aufgegeben werden soll. |
4.10. Konfigurieren von Fencing-Levels Link kopierenLink in die Zwischenablage kopiert!
- Die Levels werden nacheinander in aufsteigender Reihenfolge probiert, beginnend bei 1.
- Falls ein Gerät ausfällt, wird die Verarbeitung für den derzeitigen Level beendet. In diesem Level werden keine weiteren Geräte versucht, stattdessen wird mit dem nächsten Level fortgefahren.
- Falls alle Geräte erfolgreich abgegrenzt werden, dann war dieser Level erfolgreich und keine anderen Levels werden probiert.
- Die Operation ist abgeschlossen, wenn ein Level erfolgreich war oder wenn alle Levels erfolglos versucht wurden.
pcs stonith level add level node devices
pcs stonith level add level node devices
pcs stonith level
pcs stonith level
rh7-2 zwei Fencing-Geräte konfiguriert: ein ilo-Fencing-Gerät namens my_ilo und ein apc-Fencing-Gerät namens my_apc. Diese Befehle richten Fencing-Levels ein, sodass im Falle eines Ausfalls des Geräts my_ilo Pacemaker stattdessen das Gerät my_apc zu verwenden versuchen wird. Dieses Beispiel zeigt auch die Ausgabe des Befehls pcs stonith level, nachdem die Levels konfiguriert wurden.
pcs stonith level remove level [node_id] [stonith_id] ... [stonith_id]
pcs stonith level remove level [node_id] [stonith_id] ... [stonith_id]
pcs stonith level clear [node|stonith_id(s)]
pcs stonith level clear [node|stonith_id(s)]
pcs stonith level clear dev_a,dev_b
# pcs stonith level clear dev_a,dev_b
pcs stonith level verify
pcs stonith level verify
Kapitel 5. Konfigurieren von Cluster-Ressourcen Link kopierenLink in die Zwischenablage kopiert!
5.1. Ressourcenerstellung Link kopierenLink in die Zwischenablage kopiert!
pcs resource create resource_id standard:provider:type|type [resource options]
pcs resource create resource_id standard:provider:type|type [resource options]
ocf, Provider heartbeat und Typ IPaddr2. Die Floating-IP-Adresse dieser Ressource ist 192.168.0.120 und das System prüft alle 30 Sekunden, ob die Ressource läuft.
pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.120 cidr_netmask=24 op monitor interval=30s
# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.120 cidr_netmask=24 op monitor interval=30s
ocf und heartbeat verwendet.
pcs resource create VirtualIP IPaddr2 ip=192.168.0.120 cidr_netmask=24 op monitor interval=30s
# pcs resource create VirtualIP IPaddr2 ip=192.168.0.120 cidr_netmask=24 op monitor interval=30s
pcs resource delete resource_id
pcs resource delete resource_id
VirtualIP.
pcs resource delete VirtualIP
# pcs resource delete VirtualIP
- Informationen über die Felder resource_id, standard, provider und type im Befehl
pcs resource createfinden Sie in Abschnitt 5.2, »Ressourceneigenschaften«. - Informationen über das Definieren von Ressourcenparametern für einzelne Ressourcen finden Sie in Abschnitt 5.3, »Ressourcenspezifische Parameter«.
- Informationen über das Definieren von Ressourcen-Metaoptionen, die der Cluster verwendet, um über das Verhalten der Ressource zu entscheiden, finden Sie in Abschnitt 5.4, »Ressourcen-Metaoptionen«.
- Informationen über das Definieren der Operationen, die auf einer Ressource auszuführen sind, finden Sie in Abschnitt 5.5, »Ressourcenoperationen«.
5.2. Ressourceneigenschaften Link kopierenLink in die Zwischenablage kopiert!
| Feld | Beschreibung |
|---|---|
|
resource_id
| |
|
standard
| |
|
type
| |
|
provider
|
| pcs-Anzeigebefehl | Ausgabe |
|---|---|
pcs resource list | Zeigt eine Liste aller verfügbaren Ressourcen |
pcs resource standard | Zeigt eine Liste der verfügbaren Standards für Ressourcen-Agents |
pcs resource providers | Zeigt eine Liste der verfügbaren Provider für Ressourcen-Agents |
pcs resource list string | Zeigt eine Liste verfügbarer Ressourcen, gefiltert nach der angegebenen Zeichenfolge. Sie können mit diesem Befehl Ressourcen gefiltert nach dem Namen eines Standards, Providers oder Typs anzeigen |
5.3. Ressourcenspezifische Parameter Link kopierenLink in die Zwischenablage kopiert!
pcs resource describe standard:provider:type|type
# pcs resource describe standard:provider:type|type
LVM festlegen können.
5.4. Ressourcen-Metaoptionen Link kopierenLink in die Zwischenablage kopiert!
| Feld | Standard | Beschreibung |
|---|---|---|
priority
| 0
| |
target-role
| Started
|
In welchem Status soll der Cluster die Ressource zu halten versuchen? Zulässige Werte:
* Stopped – Zwingt die Ressource in einen gestoppten Status
* Started – Erlaubt einen Start der Ressource (im Falle von Multi-Status-Ressourcen werden diese nicht in den Master-Status hochgestuft)
|
is-managed
| true
| |
resource-stickiness
|
0
| |
requires
|
Berechnet
|
Legt fest, unter welchen Umständen die Ressource gestartet werden kann.
Standardmäßig
fencing, ausgenommen in den unten genannten Situationen. Mögliche Werte:
*
nothing – Der Cluster kann die Ressource immer starten.
*
quorum – Der Cluster kann diese Ressource nur starten, wenn die Mehrzahl der konfigurierten Knoten aktiv ist. Dies ist der Standardwert, wenn stonith-enabled den Wert false hat oder falls der Standardwert standard der Ressource stonith lautet.
*
fencing – Der Cluster kann diese Ressource nur starten, wenn die Mehrzahl der konfigurierten Knoten aktiv ist und wenn jegliche ausgefallene oder unbekannte Knoten abgeschaltet wurden.
*
unfencing – Der Cluster kann diese Ressource nur starten, wenn die Mehrzahl der konfigurierten Knoten aktiv ist und wenn jegliche ausgefallene oder unbekannte Knoten abgeschaltet wurden und nur auf Knoten, deren Abgrenzung aufgehoben wurde. Dies ist der Standardwert, falls die stonith-Metaoption provides=unfencing für ein Fencing-Gerät festgelegt wurde. Informationen über die stonith-Metaoption provides=unfencing finden Sie in Abschnitt 4.5, »Konfigurieren von Storage-basierten Fencing-Geräten mit Aufheben der Abgrenzung«.
|
migration-threshold
| INFINITY (deaktiviert)
|
Wie viele Ausfälle dürfen für diese Ressource auf einem Knoten auftreten, bevor dieser Knoten als ungeeignet zum Hosten dieser Ressource gekennzeichnet wird. Informationen über die Konfiguration der Option
migration-threshold finden Sie in Abschnitt 7.2, »Verlegen von Ressourcen wegen Ausfall«.
|
failure-timeout
| 0 (deaktiviert)
|
Verwendet zusammen mit der Option
migration-threshold; zeigt an, wie viele Sekunden gewartet wird, bevor fortgefahren wird, als sei der Ausfall nicht geschehen, wodurch die Ressource möglicherweise wieder auf dem Knoten erlaubt wird, auf dem sie ausgefallen ist. Informationen über die Konfiguration der Option failure-timeout finden Sie in Abschnitt 7.2, »Verlegen von Ressourcen wegen Ausfall«.
|
multiple-active
| stop_start
|
Was soll der Cluster tun, falls er feststellt, dass die Ressource auf mehr als einem Knoten aktiv ist? Zulässige Werte:
*
block – Ressource als nicht verwaltet markieren
*
stop_only – alle aktiven Instanzen stoppen und sie so belassen
*
stop_start – alle aktiven Instanzen stoppen und die Ressource an nur einem Standort starten
|
pcs resource defaults options
pcs resource defaults options
resource-stickiness auf 100.
pcs resource defaults resource-stickiness=100
# pcs resource defaults resource-stickiness=100
pcs resource defaults weglassen, zeigt dieser eine Liste aller derzeit konfigurierten Standardwerte für Ressourcenoptionen an. Das folgende Beispiel zeigt die Ausgabe dieses Befehls, nachdem Sie den Standardwert für resource-stickiness auf 100 geändert haben.
pcs resource defaults resource-stickiness:100
# pcs resource defaults
resource-stickiness:100
pcs resource create, den Sie zur Angabe eines Werts für eine Ressourcen-Metaoption verwenden.
pcs resource create resource_id standard:provider:type|type [resource options] [meta meta_options...]
pcs resource create resource_id standard:provider:type|type [resource options] [meta meta_options...]
resource-stickiness.
pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.120 cidr_netmask=24 meta resource-stickiness=5O
# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.120 cidr_netmask=24 meta resource-stickiness=5O
pcs resource meta resource_id | group_id | clone_id | master_id meta_options
pcs resource meta resource_id | group_id | clone_id | master_id meta_options
dummy_resource. Dieser Befehl setzt die Metaoption failure-timeout auf 20 Sekunden, sodass die Ressource nach 20 Sekunden einen Neustart auf derselben Ressource versuchen kann.
pcs resource meta dummy_resource failure-timeout=20s
# pcs resource meta dummy_resource failure-timeout=20s
failure-timeout=20s eingestellt wurde.
5.5. Ressourcenoperationen Link kopierenLink in die Zwischenablage kopiert!
pcs-Befehl standardmäßig eine Überwachungsoperation erstellen mit einem Intervall, das vom Ressourcen-Agent bestimmt wird. Falls der Ressourcen-Agent kein standardmäßiges Überwachungsintervall vorgibt, erstellt der pcs-Befehl eine Überwachungsoperation mit einem Intervall von 60 Sekunden.
pcs resource create resource_id standard:provider:type|type [resource_options] [op operation_action operation_options [operation_type operation_options]...]
pcs resource create resource_id standard:provider:type|type [resource_options] [op operation_action operation_options [operation_type operation_options]...]
IPaddr2-Ressource mit einer Überwachungsoperation. Die neue Ressource trägt den Namen VirtualIP, hat die IP-Adresse 192.168.0.99 und die Netzmaske 24 auf eth2. Eine Überwachungsoperation wird alle 30 Sekunden durchgeführt.
pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.99 cidr_netmask=24 nic=eth2 op monitor interval=30s
# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.99 cidr_netmask=24 nic=eth2 op monitor interval=30s
pcs resource create my_address IPaddr2 ip=10.20.30.40 cidr_netmask=24 op monitor
# pcs resource create my_address IPaddr2 ip=10.20.30.40 cidr_netmask=24 op monitor
pcs resource op add resource_id operation_action [operation_properties]
pcs resource op add resource_id operation_action [operation_properties]
pcs resource op remove resource_id operation_name operation_properties
pcs resource op remove resource_id operation_name operation_properties
Anmerkung
VirtualIP mit dem folgenden Befehl erstellen.
pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.99 cidr_netmask=24 nic=eth2
# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.99 cidr_netmask=24 nic=eth2
Operations: start interval=0s timeout=20s (VirtualIP-start-timeout-20s)
stop interval=0s timeout=20s (VirtualIP-stop-timeout-20s)
monitor interval=10s timeout=20s (VirtualIP-monitor-interval-10s)
Operations: start interval=0s timeout=20s (VirtualIP-start-timeout-20s)
stop interval=0s timeout=20s (VirtualIP-stop-timeout-20s)
monitor interval=10s timeout=20s (VirtualIP-monitor-interval-10s)
pcs resource op defaults [options]
pcs resource op defaults [options]
timeout von 240 Sekunden für alle Überwachungsoperationen fest.
pcs resource op defaults timeout=240s
# pcs resource op defaults timeout=240s
pcs resource op defaults ausführen.
timeout-Wert von 240 Sekunden konfiguriert wurde.
pcs resource op defaults timeout: 240s
# pcs resource op defaults
timeout: 240s
5.6. Anzeigen konfigurierter Ressourcen Link kopierenLink in die Zwischenablage kopiert!
pcs resource show
pcs resource show
VirtualIP und einer Ressource namens WebSite konfiguriert ist, dann zeigt der Befehl pcs resource show die folgende Ausgabe.
pcs resource show VirtualIP (ocf::heartbeat:IPaddr2): Started WebSite (ocf::heartbeat:apache): Started
# pcs resource show
VirtualIP (ocf::heartbeat:IPaddr2): Started
WebSite (ocf::heartbeat:apache): Started
--full des Befehls pcs resource show wie im folgenden Beispiel, um eine Liste aller konfigurierten Ressourcen und deren konfigurierten Parameter anzuzeigen.
pcs resource show resource_id
pcs resource show resource_id
VirtualIP an.
pcs resource show VirtualIP Resource: VirtualIP (type=IPaddr2 class=ocf provider=heartbeat) Attributes: ip=192.168.0.120 cidr_netmask=24 Operations: monitor interval=30s
# pcs resource show VirtualIP
Resource: VirtualIP (type=IPaddr2 class=ocf provider=heartbeat)
Attributes: ip=192.168.0.120 cidr_netmask=24
Operations: monitor interval=30s
5.7. Ändern von Ressourcenparametern Link kopierenLink in die Zwischenablage kopiert!
pcs resource update resource_id [resource_options]
pcs resource update resource_id [resource_options]
VirtualIP, die Befehle zum Ändern des Werts für den Parameter ip sowie die Werte nach erfolgter Änderung.
5.8. Mehrere Überwachungsoperationen Link kopierenLink in die Zwischenablage kopiert!
Anmerkung
OCF_CHECK_LEVEL=n hinzufügen.
IPaddr2-Ressource konfigurieren, erstellt dies standardmäßig eine Überwachungsoperation mit einem Intervall von 10 Sekunden und einem Timeout-Wert von 20 Sekunden.
pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.99 cidr_netmask=24 nic=eth2
# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.99 cidr_netmask=24 nic=eth2
pcs resource op add VirtualIP monitor interval=60s OCF_CHECK_LEVEL=10
# pcs resource op add VirtualIP monitor interval=60s OCF_CHECK_LEVEL=10
5.9. Aktivieren und Deaktivieren von Cluster-Ressourcen Link kopierenLink in die Zwischenablage kopiert!
resource_id angegebene Ressource.
pcs resource enable resource_id
pcs resource enable resource_id
resource_id angegebene Ressource.
pcs resource disable resource_id
pcs resource disable resource_id
5.10. Bereinigen von Cluster-Ressourcen Link kopierenLink in die Zwischenablage kopiert!
pcs resource cleanup bereinigen. Dieser Befehl setzt den Status und den Ausfallzähler der Ressource zurück und weist den Cluster an, die Operationschronik einer Ressource zu vergessen und deren aktuellen Status neu zu erkennen.
resource_id angegebene Ressource.
pcs resource cleanup resource_id
pcs resource cleanup resource_id
Kapitel 6. Ressourcenbeschränkungen Link kopierenLink in die Zwischenablage kopiert!
location– Eine Standortbeschränkung legt fest, auf welchen Knoten eine Ressource laufen darf. Standortbeschränkungen werden in Abschnitt 6.1, »Standortbeschränkungen« beschrieben.order– Eine Reihenfolgebeschränkung legt fest, in welcher Reihenfolge die Ressourcen laufen. Reihenfolgebeschränkungen werden in Abschnitt 6.2, »Reihenfolgebeschränkungen« beschrieben.colocation– Eine relative Standortbeschränkung legt fest, wo eine Ressource relativ zu anderen Ressourcen platziert werden darf. Beschränkungen des relativen Standorts werden in Abschnitt 6.3, »Relative Standortbeschränkung für Ressourcen« beschrieben.
6.1. Standortbeschränkungen Link kopierenLink in die Zwischenablage kopiert!
| Feld | Beschreibung |
|---|---|
id
|
Ein eindeutiger Name für die Beschränkung. Dieser wird vom System festgelegt, wenn Sie eine Standortbeschränkung mit
pcs konfigurieren.
|
rsc
|
Ein Ressourcenname
|
node
|
Ein Knotenname
|
score
|
Gewichtung, die festlegt, ob eine Ressource einen Knoten bevorzugen oder meiden soll.
Der Wert
INFINITY ändert „soll“ auf „muss“. INFINITY ist die standardmäßige Gewichtung für eine Standortbeschränkung einer Ressource.
|
pcs constraint location rsc prefers node[=score] ...
pcs constraint location rsc prefers node[=score] ...
pcs constraint location rsc avoids node[=score] ...
pcs constraint location rsc avoids node[=score] ...
- Opt-In-Cluster: Konfigurieren Sie einen Cluster, in dem standardmäßig auf keinem Knoten eine Ressource laufen darf, und aktivieren Sie anschließend einzelne erlaubte Knoten für bestimmte Ressourcen. Das Verfahren zur Konfiguration eines Opt-In-Clusters wird in Abschnitt 6.1.1, »Konfigurieren eines Opt-In-Clusters« beschrieben.
- Opt-Out-Cluster: Konfigurieren Sie einen Cluster, in dem standardmäßig auf allen Knoten alle Ressourcen laufen dürfen, und erstellen Sie anschließend Standortbeschränkungen für Ressourcen, die nicht auf bestimmten Knoten laufen dürfen. Das Verfahren zur Konfiguration eines Opt-Out-Clusters wird in Abschnitt 6.1.2, »Konfigurieren eines Opt-Out-Clusters« beschrieben.
6.1.1. Konfigurieren eines Opt-In-Clusters Link kopierenLink in die Zwischenablage kopiert!
symmetric-cluster auf false, um Ressourcen daran zu hindern, irgendwo standardmäßig zu laufen.
pcs property set symmetric-cluster=false
# pcs property set symmetric-cluster=false
Webserver den Knoten example-1 bevorzugt, die Ressource Database den Knoten example-2 bevorzugt und beide Ressourcen auf Knoten example-3 ausweichen können, falls ihr bevorzugter Knoten ausfällt.
pcs constraint location Webserver prefers example-1=200 pcs constraint location Webserver prefers example-3=0 pcs constraint location Database prefers example-2=200 pcs constraint location Database prefers example-3=0
# pcs constraint location Webserver prefers example-1=200
# pcs constraint location Webserver prefers example-3=0
# pcs constraint location Database prefers example-2=200
# pcs constraint location Database prefers example-3=0
6.1.2. Konfigurieren eines Opt-Out-Clusters Link kopierenLink in die Zwischenablage kopiert!
symmetric-cluster auf true, um Ressourcen zu erlauben, standardmäßig überall zu laufen.
pcs property set symmetric-cluster=true
# pcs property set symmetric-cluster=true
example-3 wechseln, falls ihr bevorzugter Knoten ausfällt, da jeder Knoten die implizite Gewichtung 0 hat.
pcs constraint location Webserver prefers example-1=200 pcs constraint location Webserver avoids example-2=INFINITY pcs constraint location Database avoids example-1=INFINITY pcs constraint location Database prefers example-2=200
# pcs constraint location Webserver prefers example-1=200
# pcs constraint location Webserver avoids example-2=INFINITY
# pcs constraint location Database avoids example-1=INFINITY
# pcs constraint location Database prefers example-2=200
6.2. Reihenfolgebeschränkungen Link kopierenLink in die Zwischenablage kopiert!
pcs constraint order [action] resource_id then [action] resource_id [options]
pcs constraint order [action] resource_id then [action] resource_id [options]
| Feld | Beschreibung |
|---|---|
|
resource_id
|
Der Name der Ressource, auf der eine Aktion durchgeführt wird
|
|
action
|
Die Aktion, die auf einer Ressource durchgeführt werden soll. Mögliche Werte der action-Eigenschaft sind:
*
start – Startet die Ressource
*
stop – Stoppt die Ressource
*
promote – Stuft die Ressource von einer Slave-Ressource zu einer Master-Ressource hoch
*
demote – Stuft die Ressource von einer Master-Ressource zu einer Slave-Ressource zurück
Falls keine Aktion angegeben wird, lautet die Standardaktion
start. Informationen über Master- und Slave-Ressourcen finden Sie in Abschnitt 8.2, »Multi-Status-Ressourcen: Ressourcen mit mehreren Modi«
|
kind-Option
|
Wie die Beschränkung erzwungen wird. Mögliche Werte der
kind-Option sind:
*
Optional – Nur zutreffend, falls beide Ressourcen starten bzw. stoppen. Informationen über eine optionale Reihenfolge finden Sie in Abschnitt 6.2.2, »Optionale Reihenfolge«
*
Mandatory – Immer (Standardwert). Falls die erste angegebene Ressource gestoppt ist oder nicht starten kann, muss die zweite angegebene Ressource gestoppt werden. Informationen über die Mandatory-Reihenfolge finden Sie in Abschnitt 6.2.1, »Zwingende Reihenfolge«
*
Serialize – Gewährleistet, dass keine zwei Stopp-/Startaktionen gleichzeitig für eine Gruppe von Ressourcen erfolgen
|
symmetrical-Option
|
6.2.1. Zwingende Reihenfolge Link kopierenLink in die Zwischenablage kopiert!
mandatory) Beschränkungen bedeuten, dass die zweite angegebene Ressource nicht laufen kann, ohne dass die erste angegebene Ressource aktiv ist. Dies ist der Standardwert der kind-Option. Die Standardwerte stellen sicher, dass die zweite angegebene Ressource reagiert, wenn die erste angegebene Ressource ihren Status ändert.
- Falls die erste angegebene Ressource lief und nun gestoppt wird, wird die zweite angegebene Ressource, sofern sie läuft, ebenfalls gestoppt.
- Falls die erste angegebene Ressource nicht lief und nicht gestartet werden kann, wird die zweite angegebene Ressource, sofern sie läuft, gestoppt.
- Falls die erste angegebene Ressource (neu) gestartet wird, während die zweite angegebene Ressource läuft, wird die zweite angegebene Ressource gestoppt und neu gestartet.
6.2.2. Optionale Reihenfolge Link kopierenLink in die Zwischenablage kopiert!
kind=Optional für eine Reihenfolgebeschränkung angegeben ist, dann wird die Beschränkung als optional betrachtet und greift nur dann, wenn beide Ressourcen gestoppt oder gestartet werden. Jegliche Statusänderung der ersten angegebenen Ressource hat keinerlei Auswirkung auf die zweite angegebene Ressource.
VirtualIP und dummy_resource.
pcs constraint VirtualIP then dummy_resource kind=Optional
# pcs constraint VirtualIP then dummy_resource kind=Optional
6.2.3. Geordnete Ressourcengruppen Link kopierenLink in die Zwischenablage kopiert!
pcs constraint order set resource1 resource2 [resourceN]... [options] [set resource1 resource2 ...]
pcs constraint order set resource1 resource2 [resourceN]... [options] [set resource1 resource2 ...]
D1, D2 und D3 haben, konfiguriert der folgende Befehl sie als geordnete Ressourcengruppe.
pcs constraint order set D1 D2 D3
# pcs constraint order set D1 D2 D3
6.2.4. Entfernen von Ressourcen aus Reihenfolgebeschränkungen Link kopierenLink in die Zwischenablage kopiert!
pcs constraint order remove resource1 [resourceN]...
pcs constraint order remove resource1 [resourceN]...
6.3. Relative Standortbeschränkung für Ressourcen Link kopierenLink in die Zwischenablage kopiert!
pcs constraint colocation add [master|slave] source_resource with [master|slave] target_resource [score] [options]
pcs constraint colocation add [master|slave] source_resource with [master|slave] target_resource [score] [options]
| Feld | Beschreibung |
|---|---|
|
source_resource
|
Die Quelle für die relative Standortbeschränkung. Falls die Bedingungen der Beschränkung nicht erfüllt werden können, kann der Cluster entscheiden, die Ressource nicht auszuführen.
|
|
target_resource
|
Das Ziel für die relative Standortbeschränkung. Der Cluster entscheidet zunächst über den Standort dieser Ressource, bevor er den Standort der Quellressource festlegt.
|
|
score
|
Positive Werte zeigen an, dass die Ressourcen auf demselben Knoten laufen sollen. Negative Werte zeigen an, dass die Ressourcen nicht auf demselben Knoten laufen sollen. Der Wert
+INFINITY, der Standardwert, zeigt an, dass die source_resource auf demselben Knoten wie die target_resource laufen muss. Der Wert -INFINITY zeigt an, dass die source_resource nicht auf demselben Knoten wie die target_resource laufen darf.
|
6.3.1. Zwingende Platzierung Link kopierenLink in die Zwischenablage kopiert!
+INFINITY oder -INFINITY lautet. Falls die Bedingung der Beschränkung nicht erfüllt werden kann, darf source_resource nicht laufen. Im Falle von score=INFINITY gehören dazu Situationen, in denen die target_resource nicht aktiv ist.
myresource1 muss stets auf demselben Rechner wie myresource2 laufen, dann fügen Sie die folgende Beschränkung hinzu:
pcs constraint colocation add myresource1 with myresource2 score=INFINITY
# pcs constraint colocation add myresource1 with myresource2 score=INFINITY
INFINITY verwendet wurde, wird myresource1 nicht laufen dürfen, falls myresource2 aus irgendeinem Grund auf keinem der Cluster-Knoten laufen kann.
myresource1 nicht auf demselben Rechner laufen darf wie myresource2. Verwenden Sie in diesem Fall score=-INFINITY.
pcs constraint colocation add myresource1 myresource2 with score=-INFINITY
# pcs constraint colocation add myresource1 myresource2 with score=-INFINITY
-INFINITY ist auch hier die Beschränkung zwingend. Falls der einzige verbleibende Ort zur Ausführung bereits von myresource2 belegt ist, dann darf myresource1 nirgends laufen.
6.3.2. Optionale Platzierung Link kopierenLink in die Zwischenablage kopiert!
-INFINITY und kleiner als INFINITY versucht der Cluster, Ihre Wünsche zu erfüllen, wird diese jedoch ignorieren, falls andernfalls einige der Cluster-Ressourcen gestoppt werden müssten. Optionale, relative Standortbedingungen können mit anderen Elementen der Konfiguration kombiniert werden, um sich wie zwingende Bedingungen zu verhalten.
6.3.3. Relative Standortbeschränkung für Ressourcengruppen Link kopierenLink in die Zwischenablage kopiert!
sequential-Option auf true oder false setzen, um anzugeben, ob es sich bei der Ressourcengruppe mit relativer Standortbeschränkung um eine geordnete Gruppe handelt.
colocation set resource1 resource2 [resourceN]... [setoptions name=value] ... [set resourceX resourceY ...] [setoptions name=value...]
colocation set resource1 resource2 [resourceN]... [setoptions name=value] ... [set resourceX resourceY ...] [setoptions name=value...]
role-Option für eine Gruppe mit relativer Standortbeschränkung auf master oder slave setzen. Informationen über Multi-Status-Ressourcen finden Sie in Abschnitt 8.2, »Multi-Status-Ressourcen: Ressourcen mit mehreren Modi«.
6.3.4. Entfernen von relativen Standortbeschränkungen Link kopierenLink in die Zwischenablage kopiert!
pcs constraint colocation remove source_resource target_resource
pcs constraint colocation remove source_resource target_resource
6.4. Anzeigen von Beschränkungen Link kopierenLink in die Zwischenablage kopiert!
pcs constraint list|show
pcs constraint list|show
- Falls
resourcesangegeben ist, werden die Standortbeschränkungen pro Ressource angezeigt. Dies ist das Standardverhalten. - Falls
nodesangegeben ist, werden Standortbeschränkungen pro Knoten angezeigt. - Falls bestimmte Ressourcen oder Knoten angegeben sind, werden nur Informationen über diese Ressourcen bzw. Knoten angezeigt.
pcs constraint location [show resources|nodes [specific nodes|resources]] [--full]
pcs constraint location [show resources|nodes [specific nodes|resources]] [--full]
--full angegeben ist, werden die internen Beschränkungs-IDs angezeigt.
pcs constraint order show [--full]
pcs constraint order show [--full]
--full angegeben ist, werden die internen Beschränkungs-IDs angezeigt.
pcs constraint colocation show [--full]
pcs constraint colocation show [--full]
pcs constraint ref resource ...
pcs constraint ref resource ...
6.5. Ressourcenruppen Link kopierenLink in die Zwischenablage kopiert!
pcs resource group add group_name resource_id...
pcs resource group add group_name resource_id...
pcs resource create resource_id standard:provider:type|type [resource_options] [op operation_action operation_options] --group group_name
pcs resource create resource_id standard:provider:type|type [resource_options] [op operation_action operation_options] --group group_name
pcs resource group remove group_name resource_id...
pcs resource group remove group_name resource_id...
pcs resource group list
pcs resource group list
shortcut, welche die vorhandenen Ressourcen IPaddr und Email enthält.
pcs resource group add shortcut IPaddr Email
# pcs resource group add shortcut IPaddr Email
- Ressourcen werden in der Reihenfolge gestartet, in der Sie sie angegeben (in diesem Beispiel als Erstes
IPaddr, danachEmail). - Ressourcen werden in der umgekehrten Reihenfolge gestoppt, in der Sie sie angeben (
Emailzuerst, danachIPaddr).
- Falls
IPaddrnirgends laufen darf, kann auchEmailnirgends laufen. - Falls
Emailnirgends laufen darf, hat dies jedoch keinerlei Auswirkungen aufIPaddr.
6.5.1. Gruppenoptionen Link kopierenLink in die Zwischenablage kopiert!
priority, target-role, is-managed. Informationen über Ressourcenoptionen finden Sie in Tabelle 5.3, »Ressourcen-Metaoptionen«.
6.5.2. Gruppentreue Link kopierenLink in die Zwischenablage kopiert!
resource-stickiness) 100 beträgt und eine Gruppe sieben Mitglieder hat, von denen fünf inaktiv sind, dann möchte die Gruppe insgesamt am derzeitigen Standort bleiben mit einem Treuewert von 500.
Kapitel 7. Verwalten von Cluster-Ressourcen Link kopierenLink in die Zwischenablage kopiert!
7.1. Manuelles Verlegen von Ressourcen im Cluster Link kopierenLink in die Zwischenablage kopiert!
- Wenn ein Knoten gewartet wird und Sie alle auf diesem Knoten laufenden Ressourcen auf einen anderen Knoten verlegen müssen
- Wenn eine einzelne Ressource verlegt werden muss
resource_id des Knotens an.
pcs resource move resource_id
pcs resource move resource_id
destination_node anzugeben.
pcs resource move resource_id destination_node
pcs resource move resource_id destination_node
move resource_id definiert hat.
pcs resource clear resource_id [node]
pcs resource clear resource_id [node]
pcs resource move der Ressource eine Beschränkung auferlegt, um diese daran zu hindern, auf dem angegebenen Knoten zu laufen. Wenn Sie den Befehl pcs resource clear ausführen, wird diese Beschränkung entfernt. Dadurch werden die Ressourcen nicht automatisch auf den angegebenen Knoten zurückverlegt; wo die Ressourcen zu diesem Zeitpunkt ausgeführt werden können, hängt von der ursprünglichen Konfiguration Ihrer Ressourcen ab. Informationen über Ressourcenbeschränkungen finden Sie in Kapitel 6, Ressourcenbeschränkungen.
7.2. Verlegen von Ressourcen wegen Ausfall Link kopierenLink in die Zwischenablage kopiert!
migration-threshold für diese Ressource festlegen. Sobald dieser Grenzwert erreicht wurde, darf die Ressource nicht länger auf diesem Knoten ausgeführt werden, bis:
- der Administrator den Ausfallzähler der Ressource manuell mithilfe des Befehls
pcs resource failcountzurücksetzt oder - der Wert für
failure-timeoutfür diese Ressource erreicht wird.
Anmerkung
migration-threshold für eine Ressource ist nicht dasselbe wie das Konfigurieren einer Ressource für die Migration, bei der eine Ressource ohne Zustandsverlust von einem Standort auf einen anderen verlegt wird.
dummy_resource hinzu, was dazu führt, dass die Ressource nach 10 Ausfällen auf einen anderen Knoten wechselt.
pcs resource meta dummy_resource migration-threshold=10
# pcs resource meta dummy_resource migration-threshold=10
pcs resource defaults migration-threshold=10
# pcs resource defaults migration-threshold=10
pcs resource failcount, um den aktuellen Status und die aktuellen Grenzwerte für Ausfälle für die Ressource zu bestimmen.
INFINITY gesetzt wird und die Ressource sofort verlegt wird.
7.3. Verlegen von Ressourcen wegen Änderungen der Verbindungsfähigkeit Link kopierenLink in die Zwischenablage kopiert!
- Fügen Sie eine
ping-Ressource zum Cluster hinzu. Dieping-Ressource verwendet das gleichnamige Systemdienstprogramm, um zu testen, ob eine Reihe von Rechnern (angegeben anhand deren DNS-Hostnamen oder IPv4-/IPv6-Adressen) erreichbar sind, und verwendet die Ergebnisse, um ein Knotenattribut namenspingdzu pflegen. - Konfigurieren Sie für die Ressource eine Standortbeschränkung, welche die Ressource auf einen anderen Knoten verlegt, falls die Verbindungsfähigkeit verloren geht.
ping-Ressource festlegen können.
| Feld | Beschreibung |
|---|---|
dampen
| |
multiplier
| |
host_list
|
ping-Ressource, welche die Verbindungsfähigkeit mit www.example.com prüft. In der Praxis würden Sie die Verbindungsfähigkeit zu Ihrem Netzwerk-Gateway oder Router prüfen. Konfigurieren Sie die ping-Ressource als Klon, damit die Ressource auf allen Cluster-Knoten läuft.
pcs resource create ping ocf:pacemaker:ping dampen=5s multiplier=1000 host_list=www.example.com --clone
# pcs resource create ping ocf:pacemaker:ping dampen=5s multiplier=1000 host_list=www.example.com --clone
Webserver. Dies veranlasst die Webserver-Ressource dazu, auf einen Host zu wechseln, der www.example.com anpingen kann, falls ihr derzeitiger Host nicht mehr dazu in der Lage ist, www.example.com anzupingen.
pcs constraint location Webserver rule score=-INFINITY pingd lt 1 or not_defined pingd
# pcs constraint location Webserver rule score=-INFINITY pingd lt 1 or not_defined pingd
7.4. Aktivieren, Deaktivieren und Ausschließen von Cluster-Ressourcen Link kopierenLink in die Zwischenablage kopiert!
pcs resource move, der in Abschnitt 7.1, »Manuelles Verlegen von Ressourcen im Cluster« beschrieben wird, gibt es eine Vielzahl anderer Befehle, die zur Steuerung des Verhaltens von Cluster-Ressourcen verwendet werden können.
--wait angeben, wartet pcs bis zu 30 Sekunden (oder „n“ Sekunden, wie festgelegt) auf den Stopp der Ressource und gibt anschließend 0 zurück, falls die Ressource gestoppt ist, oder 1, falls die Ressource nicht gestoppt wurde.
pcs resource disable resource_id [--wait[=n]]
pcs resource disable resource_id [--wait[=n]]
--wait angeben, wartet pcs bis zu 30 Sekunden (oder „n“ Sekunden, wie festgelegt) auf den Start der Ressource und gibt anschließend 0 zurück, falls die Ressource gestartet ist, oder 1, falls die Ressource nicht gestartet wurde.
pcs resource enable resource_id [--wait[=n]]
pcs resource enable resource_id [--wait[=n]]
pcs resource ban resource_id [node]
pcs resource ban resource_id [node]
pcs resource ban der Ressource eine Beschränkung auferlegt, um diese daran zu hindern, auf dem angegebenen Knoten zu laufen. Wenn Sie den Befehl pcs resource clear ausführen, wird diese Beschränkung entfernt. Dadurch werden die Ressourcen nicht automatisch auf den angegebenen Knoten zurückverlegt; wo die Ressourcen zu diesem Zeitpunkt ausgeführt werden können, hängt von der ursprünglichen Konfiguration Ihrer Ressourcen ab. Informationen über Ressourcenbeschränkungen finden Sie in Kapitel 6, Ressourcenbeschränkungen.
pcs resource clear resource_id [node]
pcs resource clear resource_id [node]
debug-start des Befehls pcs resource verwenden, um eine angegebene Ressource zum Starten auf dem aktuellen Knoten zu zwingen, wobei die Cluster-Empfehlungen ignoriert werden und die Ausgabe vom Ressourcenstart angezeigt wird. Dies wird hauptsächlich zur Suche und Bereinigung von Programmfehlern in Ressourcen verwendet. Das Starten von Ressourcen auf einem Cluster wird fast ausschließlich von Pacemaker gehandhabt und nicht direkt mit einem pcs-Befehl. Falls Ihre Ressource nicht startet, liegt dies in der Regel an einer fehlerhaften Konfiguration der Ressource (was Sie im Systemprotokoll diagnostizieren können), an Beschränkungen, die die Ressource am Starten hindern, oder daran, dass die Ressource deaktiviert ist. Mithilfe dieses Befehls können Sie die Ressourcenkonfiguration testen, er sollte jedoch normalerweise nicht zum Starten von Ressourcen in einem Cluster verwendet werden.
debug-start lautet wie folgt.
pcs resource debug-start resource_id
pcs resource debug-start resource_id
7.5. Deaktivieren von Überwachungsoperationen Link kopierenLink in die Zwischenablage kopiert!
enabled="false" zur Definition der Operation hinzu. Wenn Sie die Überwachungsoperation wieder aktivieren möchten, fügen Sie enabled="true" zur Definition der Operation hinzu.
7.6. Verwaltete Ressourcen Link kopierenLink in die Zwischenablage kopiert!
pcs resource unmanage resource1 [resource2] ...
pcs resource unmanage resource1 [resource2] ...
pcs resource manage resource1 [resource2] ...
pcs resource manage resource1 [resource2] ...
pcs resource manage oder pcs resource unmanage den Namen einer Ressourcengruppe angeben. Der Befehl wirkt sich auf alle Ressourcen in der Gruppe aus, sodass Sie alle Ressourcen in der Gruppe mit einem einzigen Befehl in einen verwalteten oder nicht verwalteten Modus versetzen können, um dann die enthaltenen Ressourcen einzeln zu verwalten.
Kapitel 8. Erweiterte Ressourcentypen Link kopierenLink in die Zwischenablage kopiert!
8.1. Ressourcen-Klone Link kopierenLink in die Zwischenablage kopiert!
Anmerkung
Filesystem-Ressource, die ein nicht geclustertes Dateisystem wie ext4 auf einem gemeinsam verwendeten Speichergerät einhängt, nicht geklont werden. Da die ext4-Partition nicht clusterfähig ist, ist das Dateisystem nicht geeignet für Lese- und Schreiboperationen, die von mehreren Knoten gleichzeitig erfolgen.
8.1.1. Erstellen und Entfernen einer geklonten Ressource Link kopierenLink in die Zwischenablage kopiert!
pcs resource create resource_id standard:provider:type|type [resource options] \ --clone [meta clone_options]
pcs resource create resource_id standard:provider:type|type [resource options] \
--clone [meta clone_options]
resource_id-clone.
pcs resource clone resource_id | group_name [clone_options]...
pcs resource clone resource_id | group_name [clone_options]...
resource_id-clone oder group_name-clone.
Anmerkung
Anmerkung
-clone. Der folgende Befehl erstellt eine Ressource vom Typ apache namens webfarm und ein Klon dieser Ressource namens webfarm-clone.
pcs resource create webfarm apache clone
# pcs resource create webfarm apache clone
pcs resource unclone resource_id | group_name
pcs resource unclone resource_id | group_name
| Feld | Beschreibung |
|---|---|
priority, target-role, is-managed
|
Optionen, die von der zu klonenden Ressource geerbt werden, wie in Tabelle 5.3, »Ressourcen-Metaoptionen« beschrieben.
|
clone-max
| |
clone-node-max
| |
notify
| |
globally-unique
|
Legt fest, ob jeder Klon eine andere Funktion ausübt. Zulässige Werte
false, true
Falls der Wert dieser Option
false ist, verhalten sich diese Ressourcen überall gleich, ungeachtet dessen, wo sie ausgeführt werden. Demnach kann in diesem Fall pro Rechner nur eine Instanz des Klons aktiv sein.
Falls der Wert dieser Option
true ist, dann ist ein Klon auf einem Rechner nicht identisch mit einer anderen Instanz des Klons auf einem anderen Knoten oder auf demselben Knoten. Der Standardwert lautet true, falls der Wert von clone-node-max größer als 1 ist, andernfalls lautet der Standardwert false.
|
ordered
| |
interleave
|
8.1.2. Klonbeschränkungen Link kopierenLink in die Zwischenablage kopiert!
clone-max für den Ressourcenklon auf einen Wert festlegen, der geringer ist als die Gesamtanzahl der Knoten im Cluster. In diesem Fall können Sie mithilfe von Standortbeschränkungen für die Ressource angeben, welchen Knoten der Cluster diese Klone vorzugsweise zuweisen soll. Diese Beschränkungen werden analog zur jenen für reguläre Ressourcen angegeben, jedoch mit dem Unterschied, dass die Klon-ID verwendet werden muss.
webfarm-clone vorzugsweise node1 zuweist.
pcs constraint location webfarm-clone prefers node1
# pcs constraint location webfarm-clone prefers node1
webfarm-stats, bis alle Instanzen von webfarm-clone, die gestartet werden müssen, gestartet wurden, bevor er selbst startet. Nur wenn keine Instanzen von webfarm-clone gestartet werden können, hindert dies webfarm-stats daran, selbst gestartet zu werden. Umgekehrt wartet webfarm-clone, bis webfarm-stats gestoppt wurde, bevor dieser selbst stoppt.
pcs constraint order start webfarm-clone then webfarm-stats
# pcs constraint order start webfarm-clone then webfarm-stats
webfarm-stats auf demselben Knoten läuft wie eine aktive Instanz von webfarm-clone.
pcs constraint colocation add webfarm-stats with webfarm-clone
# pcs constraint colocation add webfarm-stats with webfarm-clone
8.1.3. Standorttreue von Klons Link kopierenLink in die Zwischenablage kopiert!
resource-stickiness kein Wert angegeben wird, verwendet der Klon den Wert 1. Da dies nur ein kleiner Wert ist, hat er geringe Störwirkung bei der Kalkulation der Gewichtung anderer Ressourcen; dieser Wert ist jedoch genug, um Pacemaker daran zu hindern, unnötig Klone im Cluster hin- und herzuverlegen.
8.2. Multi-Status-Ressourcen: Ressourcen mit mehreren Modi Link kopierenLink in die Zwischenablage kopiert!
Master oder Slave. Die Namen der Modi haben keine weitere Bewandtnis; es ist lediglich vorgeschrieben, dass eine Instanz im Slave-Status starten muss.
pcs resource create resource_id standard:provider:type|type [resource options] \ --master [meta master_options]
pcs resource create resource_id standard:provider:type|type [resource options] \
--master [meta master_options]
resource_id-master.
resource_id-master bzw. group_name-master.
pcs resource master master/slave_name resource_id|group_name [master_options]
pcs resource master master/slave_name resource_id|group_name [master_options]
8.2.1. Überwachen von Multi-Status-Ressourcen Link kopierenLink in die Zwischenablage kopiert!
ms_resource. Diese Überwachungsoperation läuft zusätzlich zur standardmäßigen Überwachungsoperation mit dem standardmäßigen Überwachungsintervall von 10 Sekunden.
pcs resource op add ms_resource interval=11s role=Master
# pcs resource op add ms_resource interval=11s role=Master
8.2.2. Multi-Status-Beschränkungen Link kopierenLink in die Zwischenablage kopiert!
pcs constraint colocation add [master|slave] source_resource with [master|slave] target_resource [score] [options]
pcs constraint colocation add [master|slave] source_resource with [master|slave] target_resource [score] [options]
promote – dies gibt an, dass die Ressource vom Slave zum Master hochgestuft werden soll. Sie können auch die Aktion demote angeben – dies gibt an, dass die Ressource vom Master zum Slave heruntergestuft werden soll.
pcs constraint order [action] resource_id then [action] resource_id [options]
pcs constraint order [action] resource_id then [action] resource_id [options]
8.2.3. Multi-Status-Standorttreue Link kopierenLink in die Zwischenablage kopiert!
resource-stickiness kein Wert angegeben wird, verwendet die Multi-Status-Ressource den Wert 1. Da dies nur ein kleiner Wert ist, hat er geringe Störwirkung bei der Kalkulation der Gewichtung anderer Ressourcen; dieser Wert ist jedoch genug, um Pacemaker daran zu hindern, unnötig Klone im Cluster hin- und herzuverlegen.
8.3. Ereignisbenachrichtigungen mit Überwachungsressourcen Link kopierenLink in die Zwischenablage kopiert!
ocf:pacemaker:ClusterMon kann den Status des Clusters überwachen und bei jedem Cluster-Ereignis Benachrichtigungen ausgeben. Diese Ressource führt in regelmäßigen Abständen crm_mon im Hintergrund aus und verwendet Funktionen von crm_mon zum Senden von E-Mail-Nachrichten (SMTP) oder SNMP-Traps. Sie kann mithilfe des Parameters extra_options auch externe Programme ausführen.
ClusterMon-Ressource namens ClusterMon-SMTP, die E-Mail-Benachrichtigungen sendet. Pacemaker-Ereignisse veranlassen den Versand einer E-Mail an pacemaker@example.com von pacemaker@nodeX.example.com mit mail.example.com als Mail-Host. Diese Ressource wird als Klon erstellt, damit sie auf jedem Knoten im Cluster läuft.
pcs resource create ClusterMon-SMTP ClusterMon --clone user=root update=30 \ extra_options="-T pacemaker@example.com -F pacemaker@nodeX.example.com \ -P PACEMAKER -H mail.example.com"
# pcs resource create ClusterMon-SMTP ClusterMon --clone user=root update=30 \ extra_options="-T pacemaker@example.com -F pacemaker@nodeX.example.com \ -P PACEMAKER -H mail.example.com"
ClusterMon-Ressource namens ClusterMon-SNMP, die SNMP-Traps mit dem root-SNMP-Benutzer an Host snmphost.example.com sendet. Diese Ressource wird als Klon erstellt, damit sie auf jedem Knoten im Cluster läuft.
pcs resource create ClusterMon-SNMP ClusterMon user=root update=30 \ extra_options="-S snmphost.example.com -C public" --clone
# pcs resource create ClusterMon-SNMP ClusterMon user=root update=30 \ extra_options="-S snmphost.example.com -C public" --clone
ClusterMon-Ressource namens ClusterMon-External, die das Programm /usr/local/bin/example.sh ausführt, das bestimmt, wie mit Cluster-Benachrichtigungen umzugehen ist. Diese Ressource wird als Klon erstellt, damit sie auf jedem Knoten im Cluster läuft.
pcs resource create ClusterMon-External ClusterMon --clone user=root \ update=30 extra_options="-E /usr/local/bin/example.sh -e 192.168.12.1"
# pcs resource create ClusterMon-External ClusterMon --clone user=root \ update=30 extra_options="-E /usr/local/bin/example.sh -e 192.168.12.1"
8.4. Der Dienst pacemaker_remote Link kopierenLink in die Zwischenablage kopiert!
pacemaker_remote ermöglicht es, Knoten, die corosync nicht ausführen, in den Cluster zu integrieren und deren Ressourcen zu verwalten, als handele es sich um echte Cluster-Knoten. Dies bedeutet, dass Pacemaker-Cluster nun dazu in der Lage sind, virtuelle Umgebungen (KVM/LXC) sowie die Ressourcen innerhalb dieser Umgebungen zu verwalten, ohne dass in diesen virtuellen Umgebungen pacemaker oder corosync ausgeführt werden muss.
pacemaker_remote.
- Cluster-Knoten – Ein Knoten, der die Hochverfügbarkeitsdienste (
pacemakerundcorosync) ausführt. - Remote-Knoten – Ein Knoten, der
pacemaker_remoteausführt, um sich von Remote aus in den Cluster zu integrieren, ohne einecorosync-Cluster-Mitgliedschaft zu erfordern. - Container – Eine Pacemaker-Ressource, die weitere Ressourcen enthält. Beispielsweise eine virtuelle KVM-Maschine, die eine Webserver-Ressource enthält.
- Container-Remote-Knoten – Ein virtueller Remote-Gast-Knoten, der den Dienst
pacemaker_remoteausführt. Dies beschreibt einen bestimmten Anwendungsfall eines Remote-Knotens, bei dem eine vom Cluster verwaltete virtuelle Gastressource vom Cluster gestartet und in den Cluster als Remote-Knoten integriert wird. - pacemaker_remote – Ein Dienst-Daemon mit der Fähigkeit zur Remote-Applikationsverwaltung innerhalb von Gastknoten (KVM und LXC) in sowohl Pacemaker-Cluster-Umgebungen als auch eigenständigen (nicht geclusterten) Umgebungen. Dieser Dienst ist eine erweiterte Version von Pacemakers lokalem Daemon zur Ressourcenverwaltung (Local Resource Management Daemon oder kurz LRMD), der fähig ist zur Remote-Verwaltung und -Überwachung von LSB-, OCF-, upstart- und systemd-Ressourcen auf einem Gast. Zudem ermöglicht er, dass
pcsauf Remote-Knoten ausgeführt werden kann. - LXC – Ein Linux-Container, definiert durch den Linux-Container-Treiber
libvirt-lxc.
pacemaker_remote ausführt, hat die folgenden Charakteristiken.
- Die virtuellen Remote-Knoten führen den Dienst
pacemaker_remoteaus (mit nur wenig erforderlicher Konfiguration auf Seiten der virtuellen Maschine). - Der Cluster-Stack (
pacemakerundcorosync), der auf den Cluster-Knoten läuft, startet die virtuellen Maschinen und verbindet sofort mit dem Dienstpacemaker_remote, sodass die virtuellen Maschinen in den Cluster integriert werden können.
8.4.1. Ressourcenoptionen für Container-Remote-Knoten Link kopierenLink in die Zwischenablage kopiert!
VirtualDomain-Ressource, welche die virtuelle Maschine verwaltet. Mit dem folgenden Befehl erhalten Sie eine Beschreibung der Optionen, die Sie für eine VirtualDomain-Ressource festlegen können.
pcs resource describe VirtualDomain
# pcs resource describe VirtualDomain
VirtualDomain-Ressourcenoptionen können Sie Metadaten-Optionen konfigurieren, um die Ressource als Remote-Knoten zu konfigurieren und die Verbindungsparameter zu definieren. Tabelle 8.3, »Metadaten-Optionen zur Konfiguration von KVM/LXC-Rsesourcen als Remote-Knoten« beschreibt diese Metadaten-Optionen.
| Feld | Standard | Beschreibung |
|---|---|---|
remote-node
|
<none>
|
Der Name des Remote-Knotens, der diese Ressource definiert. Dies aktiviert die Ressource als Remote-Knoten und definiert den eindeutigen Namen zur Identifizierung des Remote-Knotens. Falls keine Parameter festgelegt sind, wird dieser Wert auch als Hostname zur Verbindung mit Port 3121 angenommen. WARNUNG: Dieser Wert darf sich nicht mit anderen Ressourcen- oder Knoten-IDs überschneiden.
|
remote-port
|
3121
|
Konfiguriert einen benutzerdefinierten Port zur Verwendung für die Gastverbindung mit
pacemaker_remote.
|
remote-addr
|
Wert von
remote-node verwendet als Hostname
|
Die IP-Adresse oder der Hostname, mit dem verbunden wird, falls der Name des Remote-Knotens nicht der Hostname des Gasts ist
|
remote-connect-timeout
|
60s
|
Zeitspanne für eine ausstehende Gastverbindung, bevor eine Zeitüberschreitung erfolgt
|
VirtualDomain-Ressource namens vm-guest1, bei der es sich um einen Remote-Knoten handelt, der mithilfe des Meta-Attributs remote-node dazu in der Lage ist, Ressourcen auszuführen.
pcs resource create vm-guest1 VirtualDomain hypervisor="qemu:///system" config="vm-guest1.xml" meta remote-node=guest1
# pcs resource create vm-guest1 VirtualDomain hypervisor="qemu:///system" config="vm-guest1.xml" meta remote-node=guest1
8.4.2. Host- und Gastauthentifizierung Link kopierenLink in die Zwischenablage kopiert!
/etc/pacemaker/authkey abgelegt werden.
8.4.3. Ändern der standardmäßigen pacemaker_remote-Optionen Link kopierenLink in die Zwischenablage kopiert!
authkey für entweder Pacemaker oder pacemaker_remote ändern möchten, gibt es Umgebungsvariablen zu diesem Zweck, die diese beiden Daemons betreffen. Sie können diese Umgebungsvariablen aktivieren, indem Sie sie wie folgt in die Datei /etc/sysconfig/pacemaker einfügen.
8.4.4. Konfigurationsübersicht: KVM-Remote-Knoten Link kopierenLink in die Zwischenablage kopiert!
libvirt und virtuellen KVM-Gästen.
- Nachdem Sie die Virtualisierungssoftware installiert und den
libvirtd-Dienst auf den Cluster-Knoten aktiviert haben, platzieren Sie einenauthkeymit dem Pfad/etc/pacemaker/authkeyauf jedem Cluster-Knoten und auf jeder virtuellen Maschine. Dies sichert die Remote-Kommunikation und die Authentifizierung.Der folgende Befehl erstellt einenauthkey.dd if=/dev/urandom of=/etc/pacemaker/authkey bs=4096 count=1
# dd if=/dev/urandom of=/etc/pacemaker/authkey bs=4096 count=1Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Installieren Sie auf jeder virtuellen Maschine die
pacemaker_remote-Pakete, starten Sie denpacemaker_remote-Dienst, aktivieren Sie dessen Start beim Systemboot und öffnen Sie den TCP-Port 3121 in der Firewall.yum install pacemaker-remote resource-agents systemctl start pacemaker_remote.service systemctl enable pacemaker_remote.service firewall-cmd --add-port 3121/tcp --permanent
# yum install pacemaker-remote resource-agents # systemctl start pacemaker_remote.service # systemctl enable pacemaker_remote.service # firewall-cmd --add-port 3121/tcp --permanentCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Geben Sie jeder virtuellen Maschine eine statische Netzwerkadresse und einen eindeutigen Hostnamen.
- Um den
VirtualDomain-Ressourcen-Agent zur Verwaltung der virtuellen Maschine zu erstellen, erfordert Pacemaker, dass ein Auszug der XML-Konfigurationsdatei der virtuellen Maschine in einer Datei auf der Festplatte gespeichert wird. Falls Sie beispielsweise eine virtuelle Maschine namensguest1erstellt haben, speichern Sie mithilfe des folgenden Befehls das XML in einer Datei auf dem Host ab.virsh dumpxml guest1 > /virtual_machines/guest1.xml
# virsh dumpxml guest1 > /virtual_machines/guest1.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Erstellen Sie die
VirtualDomain-Ressource, wobei die Ressourcen-Metaoptionremote-noteangeben sollte, dass die virtuelle Maschine ein Remote-Knoten fähig zur Ausführung von Ressourcen ist.In dem Beispiel unten teilt das Meta-Attributremote-node=guest1Pacemaker mit, dass diese Ressource ein Remote-Knoten mit dem Hostnamenguest1ist, der in den Cluster integriert werden kann. Der Cluster wird versuchen, den Dienstpacemaker_remoteder virtuellen Maschine unter dem Hostnamenguest1zu kontaktieren, nachdem er gestartet wurde.pcs resource create vm-guest1 VirtualDomain hypervisor="qemu:///system" config="vm-guest1.xml" meta remote-node=guest1
# pcs resource create vm-guest1 VirtualDomain hypervisor="qemu:///system" config="vm-guest1.xml" meta remote-node=guest1Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Nach Erstellung der
VirtualDomain-Ressource können Sie diesen Remote-Knoten wie jeden anderen Knoten im Cluster behandeln. Beispielsweise können Sie eine Ressource erstellen und diese Ressource mit einer Ressourcenbeschränkung belegen, damit diese nur auf dem Remote-Knoten läuft.pcs resource create webserver apache params configfile=/etc/httpd/conf/httpd.conf op monitor interval=30s pcs constraint webserver prefers guest1
# pcs resource create webserver apache params configfile=/etc/httpd/conf/httpd.conf op monitor interval=30s # pcs constraint webserver prefers guest1Copy to Clipboard Copied! Toggle word wrap Toggle overflow Sobald ein Remote-Knoten in den Cluster integriert wurde, können Siepcs-Befehle auf dem Remote-Knoten selbst ausführen, ganz so, als liefe Pacemaker auf dem Remote-Knoten.
Kapitel 9. Pacemaker-Regeln Link kopierenLink in die Zwischenablage kopiert!
resource-stickiness während der Geschäftszeiten, um Ressourcen daran zu hindern, auf Ihre bevorzugten Standorte zurückzuwechseln, und einen anderen Wert für Wochenenden, wenn niemand etwaige Serviceausfälle bemerkt.
boolean-op, um zu bestimmen, ob die Regel letztlich true oder false ergibt. Was danach geschieht, hängt vom Zusammenhang ab, in dem die Regel verwendet wird.
9.1. Knotenattribut-Ausdrücke Link kopierenLink in die Zwischenablage kopiert!
| Feld | Beschreibung |
|---|---|
value
| |
attribute
| |
type
| |
operation
|
Der auszuführende Vergleich. Zulässige Werte:
*
lt – Ergibt true, falls der Wert des Knotenattributs weniger als value beträgt
*
gt – Ergibt true, falls der Wert des Knotenattributs größer als value ist
*
lte – Ergibt true, falls der Wert des Knotenattributs weniger als oder gleich value ist
*
gte – Ergibt true, falls der Wert des Knotenattributs größer als oder gleich value ist
*
eq – Ergibt true, falls der Wert des Knotenattributs gleich value ist
*
ne – Ergibt true, falls der Wert des Knotenattributs nicht gleich value ist
*
defined – Ergibt true, falls der Knoten das genannte Attribut hat
|
9.2. Zeit-/Datumsbasierte Ausdrücke Link kopierenLink in die Zwischenablage kopiert!
| Feld | Beschreibung |
|---|---|
start
| |
end
| |
operation
|
Vergleicht das aktuelle Datum und die aktuelle Uhrzeit mit dem Start- und/oder dem Enddatum, abhängig vom Kontext. Zulässige Werte:
*
gt – Ergibt true, falls das aktuelle Datum und die aktuelle Uhrzeit nach start liegt
*
lt – Ergibt true, falls das aktuelle Datum und die aktuelle Uhrzeit vor end liegt
*
in-range – Ergibt true, falls das aktuelle Datum und die aktuelle Uhrzeit nach start und vor end liegt
|
9.3. Datumsspezifikationen Link kopierenLink in die Zwischenablage kopiert!
monthdays="1" der erste Tag eines jeden Monats und hours="09-17" bedeutet die Stunden zwischen 9 Uhr morgens und 17 Uhr abends (einschließlich). Allerdings können Sie nicht weekdays="1,2" oder weekdays="1-2,5-6" angeben, da dies mehrere Bereiche darstellt.
| Feld | Beschreibung |
|---|---|
id
| |
hours
| |
monthdays
| |
weekdays
| |
yeardays
| |
months
| |
weeks
| |
years
| |
weekyears
| |
moon
|
9.4. Dauer Link kopierenLink in die Zwischenablage kopiert!
end verwendet, wenn in in_range-Operationen keiner angegeben wurde. Die Dauer verwendet dieselben Felder wie date_spec-Objekte, jedoch ohne Begrenzungen (z. B. können Sie eine Dauer von 19 Monaten festlegen). Wie bei date_specs wird auch hier jedes nicht angegebene Feld ignoriert.
9.5. Konfigurieren von Regeln mit pcs Link kopierenLink in die Zwischenablage kopiert!
score weglassen, wird standardmäßig INFINITY verwendet. Falls Sie die id weglassen, wird eine ID aus der constraint_id generiert. Der rule_type sollte expression oder date_expression sein.
pcs constraint rule add constraint_id [rule_type] [score=score [id=rule_id] expression|date_expression|date_spec options
pcs constraint rule add constraint_id [rule_type] [score=score [id=rule_id] expression|date_expression|date_spec options
pcs constraint rule remove rule_id
pcs constraint rule remove rule_id
9.6. Beispiel für zeitbasierte Ausdrücke Link kopierenLink in die Zwischenablage kopiert!
true ergibt, falls der aktuelle Zeitpunkt im Jahr 2005 liegt.
pcs constraint location Webserver rule score=INFINITY date-spec years=2005
# pcs constraint location Webserver rule score=INFINITY date-spec years=2005
true ergibt zwischen 9 und 17 Uhr, montags bis freitags. Beachten Sie, dass der angegebene Wert für die Stunden (16) bis 16:59:59 Uhr reicht, da der numerische Wert für die Stunde bis dahin übereinstimmt.
pcs constraint location Webserver rule score=INFINITY date-spec hours="9-16" weekdays="1-5"
# pcs constraint location Webserver rule score=INFINITY date-spec hours="9-16" weekdays="1-5"
true ergibt, falls es an einem Freitag, den 13. einen Vollmond gibt.
pcs constraint location Webserver rule date-spec weekdays=5 monthdays=13 moon=4
# pcs constraint location Webserver rule date-spec weekdays=5 monthdays=13 moon=4
9.7. Verwenden von Regeln zum Bestimmen von Ressourcenstandorten Link kopierenLink in die Zwischenablage kopiert!
pcs resource constraint location resource_id rule [rule_id] [role=master|slave] [score=score expression]
pcs resource constraint location resource_id rule [rule_id] [role=master|slave] [score=score expression]
defined|not_defined attributeattribute lt|gt|lte|gte|eq|ne valuedate [start=start [end=end operation=gt|lt|in-rangedate-spec date_spec_options
Kapitel 10. Pacemaker-Cluster-Eigenschaften Link kopierenLink in die Zwischenablage kopiert!
- Tabelle 10.1, »Cluster-Eigenschaften« beschreibt die Optionen der Cluster-Eigenschaften.
- Abschnitt 10.2, »Festlegen und Entfernen von Cluster-Eigenschaften« beschreibt, wie Cluster-Eigenschaften festgelegt werden.
- Abschnitt 10.3, »Abfragen der Einstellungen für Cluster-Eigenschaften« beschreibt, wie die derzeit festgelegten Cluster-Eigenschaften angezeigt werden.
10.1. Überblick über Cluster-Eigenschaften und -Optionen Link kopierenLink in die Zwischenablage kopiert!
Anmerkung
| Option | Standard | Beschreibung |
|---|---|---|
batch-limit | 30 | |
migration-limit | -1 (unbegrenzt) | |
no-quorum-policy | stop |
* ignore – Mit der Ressourcenverwaltung fortfahren
* freeze – Mit der Ressourcenverwaltung fortfahren, aber keine Ressourcen auf Knoten in der betroffenen Partition wiederherstellen
* stop – Alle Ressourcen in der betroffenen Cluster-Partition stoppen
* suicide – Alle Knoten in der betroffenen Cluster-Partition abgrenzen
|
symmetric-cluster | true | |
stonith-enabled | true |
Legt fest, dass ausgefallene Knoten sowie Knoten mit Ressourcen, die nicht gestoppt werden können, abgegrenzt werden sollen. Zur Sicherung Ihrer Daten muss dies auf
true eingestellt werden.
Falls
true oder nicht festgelegt, wird der Cluster keine Ressourcen starten, bis nicht eine oder mehr STONITH-Ressourcen konfiguriert wurden.
|
stonith-action | reboot | |
cluster-delay | 60s | |
stop-orphan-resources | true | |
stop-orphan-actions | true | |
start-failure-is-fatal | true |
Legt fest, ob ein fehlgeschlagener Start als fataler Fehler für die Ressource gehandhabt wird. Falls auf
false gesetzt, verwendet der Cluster stattdessen den failcount und den Wert für migration-threshold der Ressource. Informationen über das Einstellen der Option migration-threshold für eine Ressource finden Sie in Abschnitt 7.2, »Verlegen von Ressourcen wegen Ausfall«.
|
pe-error-series-max | -1 (alle) | |
pe-warn-series-max | -1 (alle) | |
pe-input-series-max | -1 (alle) | |
cluster-infrastructure | ||
dc-version | ||
last-lrm-refresh | ||
cluster-recheck-interval | 60 | |
default-action-timeout | 20s | |
maintenance-mode | false |
Dieser Wartungsmodus versetzt den Cluster in einen Wartezustand, in dem der Cluster keine Dienste startet oder stoppt, sofern nicht dazu aufgefordert. Sobald der Wartungsmodus abgeschlossen ist, führt der Cluster eine Zustandsprüfung aller Dienste durch und stoppt oder startet jegliche nötige Dienste.
|
shutdown-escalation | 20min | |
stonith-timeout | 60s | |
stop-all-resources | false | |
default-resource-stickiness | 5000 | |
is-managed-default | true | |
enable-acl | false |
10.2. Festlegen und Entfernen von Cluster-Eigenschaften Link kopierenLink in die Zwischenablage kopiert!
pcs property set property=value
pcs property set property=value
symmetric-cluster auf false zu setzen, führen Sie den folgenden Befehl aus.
pcs property set symmetric-cluster=false
# pcs property set symmetric-cluster=false
pcs property unset property
pcs property unset property
pcs property set leer lassen. Dadurch wird die Eigenschaft auf ihren Standardwert zurückgesetzt. Falls Sie beispielsweise die Eigenschaft symmetric-cluster bislang auf false eingestellt hatten, dann entfernt der folgende Befehl diesen Wert aus der Konfiguration und setzt den Wert für symmetric-cluster stattdessen auf seinen Standardwert true.
pcs property set symmetic-cluster=
# pcs property set symmetic-cluster=
10.3. Abfragen der Einstellungen für Cluster-Eigenschaften Link kopierenLink in die Zwischenablage kopiert!
pcs-Befehl zum Anzeigen von Werten der verschiedenen Cluster-Komponenten verwenden, können in den meisten Fällen die Befehle pcs list oder pcs show austauschbar verwendet werden. In den folgenden Beispielen ist pcs list das verwendete Format zum Anzeigen einer umfassenden Liste aller Einstellungen für mehr als eine Eigenschaft, während pcs show das verwendete Format zum Anzeigen der Werte einer bestimmten Eigenschaft ist.
pcs property list
pcs property list
pcs property list --all
pcs property list --all
pcs property show property
pcs property show property
cluster-infrastructure anzuzeigen, führen Sie den folgenden Befehl aus:
pcs property show cluster-infrastructure Cluster Properties: cluster-infrastructure: cman
# pcs property show cluster-infrastructure
Cluster Properties:
cluster-infrastructure: cman
pcs property [list|show] --defaults
pcs property [list|show] --defaults
Anhang A. Cluster-Erstellung in Red Hat Enterprise Linux Release 6.5 und Red Hat Enterprise Linux Release 6.6 Link kopierenLink in die Zwischenablage kopiert!
rgmanager. Abschnitt A.1, »Cluster-Erstellung mit rgmanager und mit Pacemaker« fasst die Konfigurationsunterschiede zwischen den verschiedenen Cluster-Komponenten zusammen.
pcs-Unterstützung in der Red Hat Enterprise Linux Release 6.5 und der pcs-Unterstützung in der Red Hat Enterprise Linux Release 6.6.
A.1. Cluster-Erstellung mit rgmanager und mit Pacemaker Link kopierenLink in die Zwischenablage kopiert!
| Konfigurationskomponente | rgmanager | Pacemaker |
|---|---|---|
|
Cluster-Konfigurationsdatei
|
Die Cluster-Konfigurationsdatei auf jedem Knoten lautet
cluster.conf, die direkt bearbeitet werden kann, falls gewünscht. Verwenden Sie andernfalls die luci- oder ccs-Benutzerschnittstellen zum Definieren der Cluster-Konfiguration.
|
Die Cluster- und Pacemaker-Konfigurationsdateien lauten
cluster.conf und cib.xml. Bearbeiten Sie diese Dateien nicht direkt, sondern verwenden Sie stattdessen die pcs-Benutzerschnittstelle.
|
|
Netzwerkkonfiguration
|
Konfigurieren Sie IP-Adressen und SSH, bevor Sie den Cluster konfigurieren.
|
Konfigurieren Sie IP-Adressen und SSH, bevor Sie den Cluster konfigurieren.
|
|
Tools zur Cluster-Konfiguration
|
luci,
ccs-Befehl, manuelles Bearbeiten der cluster.conf-Datei.
|
pcs
|
|
Installation
|
Installieren Sie
rgmanager (wodurch ebenfalls dessen Abhängigkeiten installiert werden, darunter ricci, luci und die Ressourcen- und Fencing-Agents). Falls nötig, installieren Sie lvm2-cluster und gfs2-utils.
|
Installieren Sie
pacemaker, cman, pcs und die von Ihnen benötigten Ressourcen- und Fencing-Agents. Falls nötig, installieren Sie lvm2-cluster und gfs2-utils.
|
|
Starten der Cluster-Dienste
|
Starten und aktivieren Sie die Cluster-Dienste mit dem folgenden Verfahren:
Alternativ können Sie
ccs --start ausführen, um die Cluster-Dienste zu starten und zu aktivieren.
|
Starten und aktivieren Sie die Cluster-Dienste mit dem folgenden Verfahren:
|
|
Zugriffssteuerung für Konfigurationstools
|
Für luci gilt, dass der root-Benutzer oder ein Benutzer mit luci-Berechtigungen auf luci zugreifen kann. Jeglicher Zugriff erfordert das
ricci-Passwort für den Knoten.
|
Es gibt keine grafische Konfigurationsoberfläche.
|
|
Cluster-Erstellung
|
Verwenden Sie luci oder
ccs oder bearbeiten Sie die cluster.conf-Datei direkt, um den Cluster zu benennen und um zu definieren, welche Knoten im Cluster enthalten sein sollen.
|
Verwenden Sie den Befehl
pcs cluster setup, um den Cluster zu benennen und um Knoten zum Cluster hinzuzufügen.
|
|
Verbreiten der Cluster-Konfiguration auf alle Knoten
|
Bei der Konfiguration eines Clusters mit luci geschieht die Verbreitung automatisch. Verwenden Sie mit
ccs die Option --sync. Sie können auch den Befehl cman_tool version -r verwenden.
|
Die Verbreitung der Cluster- und Pacemaker-Konfigurationsdateien
cluster.conf und cib.xml geschieht automatisch bei der Einrichtung des Clusters und beim Hinzufügen einer Ressource.
|
|
Globale Cluster-Eigenschaften
|
rgmanager unterstützt die folgenden Features:
* Sie können das System so konfigurieren, dass das System die zu verwendende Multicast-Adresse für das IP-Multicasting im Cluster-Netzwerk wählt.
* Falls IP-Multicasting nicht verfügbar ist, können Sie den UDP-Unicast Übertragungsmechanismus verwenden.
* Sie können einen Cluster zur Verwendung des RRP-Protokolls konfigurieren.
|
Pacemaker unterstützt die folgenden Features für einen Cluster:
* Sie können für den Cluster eine
no-quorum-policy festlegen, um anzugeben, was das System tun soll, falls der Cluster kein Quorum hat.
* Weitere konfigurierbare Cluster-Eigenschaften finden Sie in Tabelle 10.1, »Cluster-Eigenschaften«.
|
|
Protokollierung
|
Sie können eine globale und eine Daemon-spezifische Protokollkonfiguration festlegen.
|
Siehe
/etc/sysconfig/pacemaker-Datei für Informationen über die manuelle Konfiguration der Protokollierung.
|
|
Prüfen des Clusters
|
Die Cluster-Prüfung erfolgt mit luci und mit
ccs automatisch anhand des Cluster-Schemas. Der Cluster wird automatisch beim Start geprüft.
|
Der Cluster wird automatisch beim Start geprüft oder Sie können den Cluster mit
pcs cluster verify selbst prüfen.
|
|
Quorum in 2-Knoten-Clustern
|
Für einen 2-Knoten-Cluster können Sie konfigurieren, wie das System das Quorum bestimmt:
* Konfigurieren Sie einen Quorum-Datenträger
* Verwenden Sie
ccs oder bearbeiten Sie die Datei cluster.conf, um two_node=1 und expected_votes=1 festzulegen, um es einem einzigen Knoten zu ermöglichen, das Quorum zu bewahren.
| pcs fügt die notwendigen Optionen für einen 2-Knoten-Cluster automatisch zu cman hinzu.
|
|
Cluster-Status
|
In luci ist der aktuelle Status des Clusters in den verschiedenen Komponenten der Oberfläche sichtbar und kann aktualisiert werden. Mithilfe der Option
--gethost des ccs-Befehls können Sie die aktuelle Konfigurationsdatei sehen. Sie können den clustat-Befehl verwenden, um den Cluster-Status anzuzeigen.
|
Sie können den derzeitigen Status des Clusters mit dem Befehl
pcs status anzeigen.
|
|
Ressourcen
|
Sie können Ressourcen mit definierten Typen hinzufügen und ressourcenspezifische Eigenschaften konfigurieren, indem Sie luci oder den
ccs-Befehl verwenden oder die cluster.conf-Konfigurationsdatei manuell bearbeiten.
|
Sie können Ressourcen mit definierten Typen hinzufügen und ressourcenspezifische Eigenschaften konfigurieren mit dem Befehl
pcs resource create. Allgemeine Informationen über die Konfiguration von Cluster-Ressourcen mit Pacemaker finden Sie in Kapitel 5, Konfigurieren von Cluster-Ressourcen.
|
|
Ressourcenverhalten, Gruppierung und Start-/Stoppreihenfolge
|
Definieren Sie Cluster-Dienste, um zu konfigurieren, wie Ressourcen miteinander interagieren.
|
Pacemaker bietet mit Ressourcengruppen eine schnelle Methode, um eine Gruppe von Ressourcen zu definieren, die zusammen platziert und in bestimmter Reihenfolge gestartet und gestoppt werden müssen. Darüber hinaus definieren Sie das Verhalten und die Interaktion von Ressourcen wie folgt:
* Sie können einige Aspekte des Ressourcenverhaltens als Ressourcenoptionen festlegen.
* Sie können Standortbeschränkungen auferlegen, um festzulegen, auf welchen Knoten eine Ressource laufen darf.
* Sie können Reihenfolgebeschränkungen verwenden, um die Reihenfolge festzulegen, in der die Ressourcen laufen.
* Sie können relative Standortbeschränkungen verwenden, um festzulegen, dass der Standort einer Ressource vom Standort einer anderen Ressource abhängt.
Weitere Informationen über dieses Thema finden Sie in Kapitel 5, Konfigurieren von Cluster-Ressourcen.
|
|
Ressourcenverwaltung: Verlegen, Starten und Stoppen von Ressourcen
|
Mithilfe von luci können Sie Cluster, einzelne Cluster-Knoten und Cluster-Dienste verwalten. Mithilfe des
ccs-Befehls können Sie Cluster verwalten. Mithilfe des clusvadm-Befehls können Sie Cluster-Dienste verwalten.
|
Mithilfe des Befehls
pcs cluster standby können Sie einen Knoten vorübergehend deaktivieren, sodass dieser keine Ressourcen hosten kann und die Ressourcen auf einen anderen Knoten migrieren. Mithilfe des Befehls pcs resource disable können Sie eine Ressource stoppen.
|
|
Vollständiges Entfernen einer Cluster-Konfiguration
|
Mithilfe von luci können Sie alle Knoten in einem Cluster zum Löschen auswählen, um diesen Cluster vollständig zu löschen. Sie können auch die
cluster.conf-Datei von jedem Knoten im Cluster entfernen.
|
Mithilfe des Befehls
pcs cluster destroy können Sie eine Cluster-Konfiguration von einem Knoten entfernen.
|
|
Aktive Ressourcen auf mehreren Knoten, aktive Ressourcen auf mehreren Knoten in mehreren Modi
|
Keine Entsprechung
|
Mit Pacemaker können Sie Ressourcen klonen, sodass diese auf mehreren Knoten laufen können, und Sie können die geklonten Ressourcen als Master- bzw. Slave-Ressource definieren, sodass diese in mehreren Modi laufen können. Weitere Informationen über geklonte Ressourcen und Master-/Slave-Ressourcen finden Sie in Kapitel 8, Erweiterte Ressourcentypen.
|
|
Fencing – einzelnes Fencing-Gerät pro Knoten
|
Erstellen Sie Fencing-Geräte global oder lokal und fügen Sie diese zu den Knoten hinzu. Sie können Werte für
post-fail delay und post-join delay für den gesamten Cluster definieren.
|
Erstellen Sie ein Fencing-Gerät für jeden Knoten mit dem Befehl
pcs stonith create. Geräte, die mehrere Knoten abgrenzen können, brauchen Sie nur einmal zu definieren statt separat für jeden Knoten. Sie können auch pcmk_host_map definieren, um mit einem einzigen Befehl Fencing-Geräte für alle Knoten zu konfigurieren. Weitere Informationen über pcmk_host_map finden Sie in Tabelle 4.1, »Allgemeine Eigenschaften von Fencing-Geräten«. Sie können den Wert für den stonith-timeout für den gesamten Cluster definieren.
|
|
Mehrere (Backup-)Fencing-Geräte pro Knoten
|
Definieren Sie Backup-Geräte mit luci, dem
ccs-Befehl oder durch direktes Bearbeiten der cluster.conf-Datei.
|
Konfigurieren Sie Fencing-Level.
|
A.2. Cluster-Erstellung mit Pacemaker in Red Hat Enterprise Linux Release 6.5 und Red Hat Enterprise Linux Release 6.6 Link kopierenLink in die Zwischenablage kopiert!
my_cluster zu erstellen, der aus den Knoten z1.example.com und z2.example.com besteht, und Cluster-Dienste auf diesen Knoten zu starten, führen Sie die folgenden Befehle sowohl auf z1.example.com als auch auf z2.example.com aus.
[root@rhel6.5]# pcs cluster setup --name my_cluster z1.example.com z2.example.com [root@rhel6.5]# pcs cluster start
[root@rhel6.5]# pcs cluster setup --name my_cluster z1.example.com z2.example.com
[root@rhel6.5]# pcs cluster start
my_cluster, der aus den Knoten z1.example.com und z2.example.com besteht, und startet Cluster-Dienste auf diesen Knoten.
[root@rhel6.6]# pcs cluster setup --start --name my_cluster z1.example.com z2.example.com
[root@rhel6.6]# pcs cluster setup --start --name my_cluster z1.example.com z2.example.com
Anhang B. Konfigurationsbeispiel unter Verwendung der pcs-Befehle Link kopierenLink in die Zwischenablage kopiert!
pcs-Befehls in der Red Hat Enterprise Linux Release 6.6 und höher. Auch die Konfiguration eines Apache-Webservers in diesem Cluster wird erläutert.
- 2 Knoten, aus denen der Cluster gebildet wird. In diesem Beispiel werden die Knoten
z1.example.comundz2.example.comverwendet. - Netzwerk-Switches für das private Netzwerk, die zur Kommunikation zwischen den Cluster-Knoten und anderer Cluster-Hardware wie z. B. Network Power Switches und Fibre Channel Switches notwendig sind.
- Ein Power-Fencing-Gerät für jeden Knoten im Cluster. Dieses Beispiel verwendet zwei Ports des APC Power Switches mit dem Hostnamen
zapc.example.com.
B.1. Erste Systemeinrichtung Link kopierenLink in die Zwischenablage kopiert!
B.1.1. Installieren der Cluster-Software Link kopierenLink in die Zwischenablage kopiert!
- Vergewissern Sie sich, dass
pacemaker,cmanundpcsinstalliert sind.yum install -y pacemaker cman pcs
yum install -y pacemaker cman pcsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Führen Sie nach der Installation den folgenden Befehl auf allen Knoten im Cluster aus, um zu verhindern, dass
corosyncohnecmanstartet.chkconfig corosync off
# chkconfig corosync offCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Falls Sie sichergehen möchten, dass
cmanauch ohne Quorum bei mehr als zwei Knoten im Cluster vollständig startet, führen Sie den folgenden Befehl aus.sed -i.sed "s/.*CMAN_QUORUM_TIMEOUT=.*/CMAN_QUORUM_TIMEOUT=0/g" /etc/sysconfig/cman
# sed -i.sed "s/.*CMAN_QUORUM_TIMEOUT=.*/CMAN_QUORUM_TIMEOUT=0/g" /etc/sysconfig/cmanCopy to Clipboard Copied! Toggle word wrap Toggle overflow
B.1.2. Erstellen und Starten des Clusters Link kopierenLink in die Zwischenablage kopiert!
- Um
pcszur Konfiguration der Knoten und zur Kommunikation der Knoten untereinander zu verwenden, müssen Sie auf jedem Knoten ein Passwort für die Benutzer-IDhacluster(denpcs-Administrationsaccount) festlegen. Es empfiehlt sich, auf allen Knoten dasselbe Passwort für den Benutzerhaclusterzu wählen.passwd hacluster Changing password for user hacluster. New password: Retype new password: passwd: all authentication tokens updated successfully.
# passwd hacluster Changing password for user hacluster. New password: Retype new password: passwd: all authentication tokens updated successfully.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Bevor der Cluster konfiguriert werden kann, muss der
pcsd-Daemon gestartet werden. Dieser Daemon arbeitet zusammen mit dempcs-Befehl, um die Konfiguration auf den Knoten im Cluster zu verwalten.Führen Sie auf jedem Knoten im Cluster die folgenden Befehle aus, um denpcsd-Dienst zu starten undpcsdbeim Systemstart zu aktivieren.service pcsd start service pcsd enable
# service pcsd start # service pcsd enableCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Authentifizieren Sie den
pcs-Benutzerhaclusterfür jeden Knoten im Cluster auf dem Knoten, auf dem Siepcsausführen werden.Der folgende Befehl authentifiziert den Benutzerhaclusteraufz1.example.comfür beide Knoten in unserem Zwei-Knoten-Cluster,z1.example.comundz2.example.com.root@z1 ~]# pcs cluster auth z1.example.com z2.example.com Username: hacluster Password: z1.example.com: Authorized z2.example.com: Authorized
root@z1 ~]# pcs cluster auth z1.example.com z2.example.com Username: hacluster Password: z1.example.com: Authorized z2.example.com: AuthorizedCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Führen Sie den folgenden Befehl auf
z1.example.comaus, um den Zwei-Knoten-Clustermyclusterzu erstellen, der aus den Knotenz1.example.comundz2.example.combesteht. Dies überträgt die Cluster-Konfigurationsdateien auf beide Knoten im Cluster. Dieser Befehl enthält die Option--start, wodurch die Cluster-Dienste auf beiden Knoten im Cluster gestartet werden.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Optional können Sie die Cluster-Dienste so konfigurieren, dass diese auf beiden Knoten im Cluster starten, sobald der Knoten gebootet wird.
Anmerkung
Für Ihre Umgebung können Sie diesen Schritt jedoch auch überspringen und somit die Cluster-Dienste deaktiviert lassen. Dies ermöglicht Ihnen im Falle eines Knotenausfalls eine Suche und Bereinigung von Fehlern, bevor der Knoten wieder dem Cluster beitritt. Falls Sie die Cluster-Dienste deaktiviert lassen und Sie einen Knoten neu starten, müssen Sie die Cluster-Dienste manuell durch Ausführen des Befehlspcs cluster startauf diesem Knoten starten.pcs cluster enable --all
# pcs cluster enable --allCopy to Clipboard Copied! Toggle word wrap Toggle overflow
pcs cluster status anzeigen.
B.2. Fencing-Konfiguration Link kopierenLink in die Zwischenablage kopiert!
Anmerkung
zapc.example.com zur Abgrenzung der Knoten und es verwendet den Fencing-Agent fence_apc_snmp. Da beide Knoten von demselben Fencing-Agent abgegrenzt werden, können Sie beide Fencing-Geräte als eine einzige Ressource konfigurieren mithilfe der Optionen pcmk_host_map und pcmk_host_list.
pcs stonith create als stonith-Ressource konfigurieren. Der folgende Befehl konfiguriert eine stonith-Ressource namens myapc, die den Fencing-Agent fence_apc_snmp für die Knoten z1.example.com und z2.example.com verwendet. Die Option pcmk_host_map weist z1.example.com zu Port 1 und z2.example.com zu Port 2 zu. Der Benutzername und das Passwort für das APC-Gerät lauten beide apc. Standardmäßig nutzt dieses Gerät ein Prüfintervall von 60 Sekunden auf jedem Knoten.
pcs stonith create myapc fence_apc_snmp params \ ipaddr="zapc.example.com" pcmk_host_map="z1.example.com:1;z2.example.com:2" \ pcmk_host_check="static-list" pcmk_host_list="z1.example.com,z2.example.com" \ login="apc" passwd="apc"
[root@z1 ~]# pcs stonith create myapc fence_apc_snmp params \
ipaddr="zapc.example.com" pcmk_host_map="z1.example.com:1;z2.example.com:2" \
pcmk_host_check="static-list" pcmk_host_list="z1.example.com,z2.example.com" \
login="apc" passwd="apc"
Anmerkung
stonith-Gerät mit fence_apc_snmp konfigurieren, sehen Sie gegebenenfalls die folgende Warnmeldung, die Sie jedoch problemlos ignorieren können:
Warning: missing required option(s): 'port, action' for resource type: stonith:fence_apc_snmp
Warning: missing required option(s): 'port, action' for resource type: stonith:fence_apc_snmp
pcs stonith show myapc Resource: myapc (class=stonith type=fence_apc_snmp) Attributes: ipaddr=zapc.example.com pcmk_host_map=z1.example.com:1;z2.example.com:2 pcmk_host_check=static-list pcmk_host_list=z1.example.com,z2.example.com login=apc passwd=apc Operations: monitor interval=60s (myapc-monitor-interval-60s)
[root@rh7-1 ~]# pcs stonith show myapc
Resource: myapc (class=stonith type=fence_apc_snmp)
Attributes: ipaddr=zapc.example.com pcmk_host_map=z1.example.com:1;z2.example.com:2 pcmk_host_check=static-list pcmk_host_list=z1.example.com,z2.example.com login=apc passwd=apc
Operations: monitor interval=60s (myapc-monitor-interval-60s)
B.3. Konfigurieren eines Apache-Webservers in einem Red Hat High Availability Cluster mithilfe des pcs-Befehls Link kopierenLink in die Zwischenablage kopiert!
pcs zur Konfiguration von Cluster-Ressourcen. In diesem Beispiel greifen Clients über eine Floating-IP-Adresse auf den Apache-Webserver zu. Der Webserver läuft auf einem der zwei Knoten im Cluster. Falls der Knoten, auf dem der Webserver läuft, ausfällt, startet der Webserver auf dem zweiten Knoten im Cluster ohne große Serviceunterbrechung.
- Einen Red Hat High Availability Cluster bestehend aus zwei Knoten mit Power-Fencing für jeden Knoten. Dieses Verfahren verwendet das Cluster-Beispiel aus Abschnitt B.1.2, »Erstellen und Starten des Clusters«.
- Eine öffentliche, virtuelle IP-Adresse, erforderlich für den Apache-Webserver.
- Gemeinsam verwendeten Speicherplatz für die Knoten im Cluster mittels iSCSI oder Fibre Channel.
- Konfigurieren Sie ein
ext4-Dateisystem, das auf dem logischen Datenträgermy_lveingehängt ist, wie in Abschnitt B.3.1, »Konfigurieren eines LVM-Datenträgers mit einem ext4-Dateisystem« beschrieben. - Konfigurieren Sie einen Webserver, wie in Abschnitt B.3.2, »Webserver-Konfiguration« beschrieben.
- Vergewissern Sie sich, dass nur der Cluster dazu in der Lage ist, die Datenträgergruppe zu aktivieren, die
my_lventhält, und dass die Datenträgergruppe beim Systemstart nicht außerhalb des Clusters aktiviert wird, wie in Abschnitt B.3.3, »Exklusive Archivierung einer Datenträgergruppe in einem Cluster« beschrieben.
B.3.1. Konfigurieren eines LVM-Datenträgers mit einem ext4-Dateisystem Link kopierenLink in die Zwischenablage kopiert!
ext4-Dateisystem auf diesem Datenträger an. In diesem Beispiel wird die gemeinsam verwendete Partition /dev/sdb1 zur Speicherung des physischen LVM-Datenträgers verwendet, auf dem der logische LVM-Datenträger erstellt wird.
Anmerkung
/dev/sdb1 um gemeinsam verwendeten Speicher handelt, führen Sie dieses Verfahren nur auf einem Knoten aus.
- Erstellen Sie einen physischen LVM-Datenträger auf der Partition
/dev/sdb1.pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created
# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Erstellen Sie die Datenträgergruppe
my_vg, die den physischen Datenträger/dev/sdb1umfasst.vgcreate my_vg /dev/sdb1 Volume group "my_vg" successfully created
# vgcreate my_vg /dev/sdb1 Volume group "my_vg" successfully createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Erstellen Sie einen logischen Datenträger auf der Datenträgergruppe
my_vg.lvcreate -L450 -n my_lv my_vg Rounding up size to full physical extent 452.00 MiB Logical volume "my_lv" created
# lvcreate -L450 -n my_lv my_vg Rounding up size to full physical extent 452.00 MiB Logical volume "my_lv" createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow Sie können denlvs-Befehl verwenden, um den logischen Datenträger anzuzeigen.lvs LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert my_lv my_vg -wi-a---- 452.00m ...
# lvs LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert my_lv my_vg -wi-a---- 452.00m ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Legen Sie ein
ext4-Dateisystem auf dem logischen Datenträgermy_lvan.mkfs.ext4 /dev/my_vg/my_lv mke2fs 1.42.7 (21-Jan-2013) Filesystem label= OS type: Linux ...
# mkfs.ext4 /dev/my_vg/my_lv mke2fs 1.42.7 (21-Jan-2013) Filesystem label= OS type: Linux ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow
B.3.2. Webserver-Konfiguration Link kopierenLink in die Zwischenablage kopiert!
- Vergewissern Sie sich, dass der HTTPD-Server auf jedem Knoten im Cluster installiert ist. Darüber hinaus muss das Tool
wgetauf dem Cluster installiert sein, um den Status des Apache-Webservers zu prüfen.Führen Sie auf jedem Knoten den folgenden Befehl aus.yum install -y httpd wget
# yum install -y httpd wgetCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Damit der Apache-Ressourcenagent den Status des Apache-Webservers abrufen kann, vergewissern Sie sich, dass der folgende Text auf jedem Knoten im Cluster in der Datei
/etc/httpd/conf/httpd.confenthalten ist und dass dieser Text nicht auskommentiert wurde. Falls dieser Text noch nicht enthalten ist, fügen Sie ihn am Ende der Datei hinzu.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Erstellen Sie eine Webseite, die Apache anzeigen soll. Hängen Sie auf einem Knoten im Cluster das Dateisystem ein, das Sie in Abschnitt B.3.1, »Konfigurieren eines LVM-Datenträgers mit einem ext4-Dateisystem« erstellt haben, erstellen Sie die Datei
index.htmlauf diesem Dateisystem und hängen Sie das Dateisystem anschließend aus.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
B.3.3. Exklusive Archivierung einer Datenträgergruppe in einem Cluster Link kopierenLink in die Zwischenablage kopiert!
volume_list in der Konfigurationsdatei /etc/lvm/lvm.conf. Die im Eintrag volume_list aufgeführten Datenträgergruppen dürfen automatisch auf dem lokalen Knoten außerhalb der Kontrolle des Cluster-Managers aktiviert werden. Datenträgergruppen, die mit den lokalen root- und Benutzerverzeichnissen des Knotens in Verbindung stehen, sollten in dieser Liste aufgeführt sein. Alle Datenträgergruppen, die vom Cluster-Manager verwaltet werden, müssen vom Eintrag volume_list ausgenommen sein. Beachten Sie, dass dieses Verfahren nicht die Verwendung von clvmd erfordert.
- Finden Sie mithilfe des folgenden Befehls heraus, welche Datenträgergruppen derzeit auf Ihrem lokalen Speicher konfiguriert sind. Sie erhalten eine Ausgabe mit den derzeit konfigurierten Datenträgergruppen. Falls Sie auf diesem Knoten in separaten Datenträgergruppen Speicherplatz zugewiesen haben für Ihre root- und Benutzerverzeichnisse, dann sehen Sie diese Datenträger in der Ausgabe, wie in diesem Beispiel.
vgs --noheadings -o vg_name my_vg rhel_home rhel_root
# vgs --noheadings -o vg_name my_vg rhel_home rhel_rootCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Fügen Sie die Datenträgergruppen mit Ausnahme von
my_vg(die Datenträgergruppe, die Sie eben für den Cluster definiert haben) als Einträge zuvolume_listin der Konfigurationsdatei/etc/lvm/lvm.confhinzu. Falls Sie beispielsweise Speicherplatz in einer separaten Datenträgergruppe für Ihre root- und Benutzerverzeichnisse zugewiesen haben, würden Sie die Zeilevolume_listin der Dateilvm.confauskommentieren und diese Datenträgergruppen wie folgt als Einträge zuvolume_listhinzufügen:volume_list = [ "rhel_root", "rhel_home" ]
volume_list = [ "rhel_root", "rhel_home" ]Copy to Clipboard Copied! Toggle word wrap Toggle overflow Anmerkung
Falls keine lokalen Datenträgergruppen auf einem Knoten existieren, die außerhalb des Cluster-Manager aktiviert werden sollen, müssen Sie dennoch den Eintragvolume_listalsvolume_list = []initialisieren. - Erstellen Sie das Boot-Image
initramfsneu, um zu gewährleisten, dass das Boot-Image nicht versuchen wird, eine vom Cluster gesteuerte Datenträgergruppe zu aktivieren. Aktualisieren Sie dasinitramfs-Gerät mit dem folgenden Befehl. Es kann unter Umständen bis zu einer Minute dauern, bis der Befehl abgeschlossen ist.dracut -H -f /boot/initramfs-$(uname -r).img $(uname -r)
# dracut -H -f /boot/initramfs-$(uname -r).img $(uname -r)Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Starten Sie den Knoten neu.
Anmerkung
Falls Sie nach dem Booten des Knotens, auf dem Sie das Boot-Image erstellt haben, einen neuen Linux-Kernel installiert haben, dann gilt dasinitrd-Image für den Kernel, der zum Zeitpunkt der Boot-Image-Erstellung installiert war und nicht für den neuen Kernel, der nach dem Neustart des Knotens ausgeführt wird. Sie können sich vergewissern, dass das richtigeinitrd-Gerät verwendet wird, indem Sie den Befehluname -rvor und nach dem Neustart ausführen, um die derzeit laufende Kernel-Release anzuzeigen. Falls die beiden Angaben nicht übereinstimmen, aktualisieren Sie dieinitrd-Datei nach dem Neustart mit dem neuen Kernel und starten Sie den Knoten neu. - Sobald der Knoten neu gestartet wurde, vergewissern Sie sich, ob die Cluster-Dienste auf dem Knoten wieder gestartet wurden, indem Sie den Befehl
pcs cluster statusauf dem Knoten ausführen. Falls die MeldungError: cluster is not currently running on this nodeangezeigt wird, führen Sie folgenden Befehl aus.pcs cluster start
# pcs cluster startCopy to Clipboard Copied! Toggle word wrap Toggle overflow Alternativ können Sie warten, bis Sie jeden Knoten im Cluster neu gestartet haben, und dann die Cluster-Dienste auf jedem Knoten mit dem folgenden Befehl starten.pcs cluster start --all
# pcs cluster start --allCopy to Clipboard Copied! Toggle word wrap Toggle overflow
B.3.4. Erstellen der Ressourcen und Ressourcengruppen mit dem pcs-Befehl Link kopierenLink in die Zwischenablage kopiert!
apachegroup konfiguriert. Nachfolgend sehen Sie die zu erstellenden Ressourcen, angegeben in der Reihenfolge, in der sie starten werden.
- Eine
LVM-Ressource namensmy_lvm, welche die LVM-Datenträgergruppe verwendet, die Sie in Abschnitt B.3.1, »Konfigurieren eines LVM-Datenträgers mit einem ext4-Dateisystem« erstellt haben. - Eine
Filesystem-Ressource namensmy_fs, die das Dateisystemgerät/dev/my_vg/my_lvverwendet, das Sie in Abschnitt B.3.1, »Konfigurieren eines LVM-Datenträgers mit einem ext4-Dateisystem« erstellt haben. - Eine
IPaddr2-Ressource, die eine Floating-IP-Adresse für dieapachegroup-Ressourcengruppe ist. Die IP-Adresse darf nicht bereits einem physischen Knoten zugewiesen sein. Falls das NIC-Gerät derIPaddr2-Ressource nicht angegeben wird, muss sich die Floating-IP-Adresse auf demselben Netzwerk befinden wie die statisch zugewiesenen IP-Adressen, die von den Cluster-Knoten verwendet werden. Andernfalls kann das der Floating-IP-Adresse zuzuweisende NIC-Gerät nicht richtig erkannt werden. - Eine
apache-Ressource namensWebsite, welche dieindex.html-Datei und die Apache-Konfiguration verwendet, die Sie in Abschnitt B.3.2, »Webserver-Konfiguration« definiert haben.
apachegroup sowie die Ressourcen, die diese Gruppe enthält. Die Ressourcen starten in der Reihenfolge, in der Sie diese zur Gruppe hinzufügen, und sie stoppen in der umgekehrten Reihenfolge, in der Sie zur Gruppe hinzugefügt wurden. Führen Sie dieses Verfahren nur auf einem Knoten im Cluster aus.
- Der folgende Befehl erstellt die LVM-Ressource
my_lvm. Dieser Befehl legt den Parameterexclusive=truefest, um sicherzustellen, dass nur der Cluster dazu in der Lage ist, den logischen LVM-Datenträger zu aktivieren. Da die Ressourcengruppeapachegroupnoch nicht existiert, erstellt dieser Befehl diese Ressourcengruppe.pcs resource create my_lvm LVM volgrpname=my_vg \ exclusive=true --group apachegroup
[root@z1 ~]# pcs resource create my_lvm LVM volgrpname=my_vg \ exclusive=true --group apachegroupCopy to Clipboard Copied! Toggle word wrap Toggle overflow Wenn Sie eine Ressource erstellen, wird die Ressource automatisch gestartet. Mithilfe des folgenden Befehls können Sie bestätigen, dass die Ressource erstellt und gestartet wurde.pcs resource show Resource Group: apachegroup my_lvm (ocf::heartbeat:LVM): Started# pcs resource show Resource Group: apachegroup my_lvm (ocf::heartbeat:LVM): StartedCopy to Clipboard Copied! Toggle word wrap Toggle overflow Sie können eine einzelne Ressource manuell stoppen und starten mit den Befehlenpcs resource disablebzw.pcs resource enable. - Die folgenden Befehle erstellen die übrigen Ressourcen für die Konfiguration und fügen diese zur Ressourcengruppe
apachegrouphinzu.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Nach der Erstellung der Ressourcengruppen und der darin enthaltenen Ressourcen können Sie den Status des Clusters prüfen. Beachten Sie, dass alle vier Ressourcen auf demselben Knoten laufen.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Beachten Sie, dass die Ressourcen standardmäßig nicht starten, wenn Sie kein Fencing-Gerät für Ihren Cluster konfiguriert haben wie in Abschnitt B.2, »Fencing-Konfiguration« beschrieben. - Sobald der Cluster läuft, können Sie in einem Browser die IP-Adresse aufrufen, die Sie als
IPaddr2-Ressource definiert haben, um die einfache Beispielanzeige „Hello“ zu sehen.Hello
HelloCopy to Clipboard Copied! Toggle word wrap Toggle overflow Falls Sie feststellen, dass die von Ihnen konfigurierten Ressourcen nicht laufen, können Sie den Befehlpcs resource debug-start resourceausführen, um die Ressourcenkonfiguration zu testen. Informationen über den Befehlpcs resource debug-startfinden Sie im Handbuch High Availability Add-On Reference.
B.3.5. Testen der Ressourcenkonfiguration Link kopierenLink in die Zwischenablage kopiert!
z1.example.com. Sie können testen, ob die Ressourcengruppe im Fehlerfall auf Knoten z2.example.com ausweicht, indem Sie mittels des folgenden Verfahrens den ersten Knoten in den Standby-Modus versetzen, woraufhin der Knoten nicht länger dazu in der Lage sein wird, Ressourcen zu hosten.
- Der folgende Befehl versetzt Knoten
z1.example.comin denStandby-Modus.root@z1 ~]# pcs cluster standby z1.example.com
root@z1 ~]# pcs cluster standby z1.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Nachdem Sie den Knoten
z1in den Standby-Modus versetzt haben, prüfen Sie den Cluster-Status. Beachten Sie, dass die Ressourcen nun alle aufz2laufen sollten.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Die Website unter der definierten IP-Adresse sollte nach wie vor angezeigt werden, ohne Serviceunterbrechung. - Um den
Standby-Modus fürz1aufzuheben, führen Sie den folgenden Befehl aus.root@z1 ~]# pcs cluster unstandby z1.example.com
root@z1 ~]# pcs cluster unstandby z1.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow Anmerkung
Das Aufheben desStandby-Modus allein führt nicht dazu, dass die Ressource wieder zurück auf diesen Knoten wechselt. Informationen darüber, wie Sie steuern können, auf welchen Knoten die Ressourcen laufen können, finden Sie im Kapitel über die Konfiguration von Cluster-Ressourcen im Handbuch Red Hat High Availability Add-On Reference.
Anhang C. Versionsgeschichte Link kopierenLink in die Zwischenablage kopiert!
| Versionsgeschichte | |||||||
|---|---|---|---|---|---|---|---|
| Version 2.0-7.2 | Fri Apr 24 2015 | ||||||
| |||||||
| Version 2.0-7.1 | Fri Apr 24 2015 | ||||||
| |||||||
| Version 2.0-7 | Tue Dec 16 2014 | ||||||
| |||||||
| Version 2.0-5 | Thu Oct 9 2014 | ||||||
| |||||||
| Version 2.0-4 | Wed Oct 8 2014 | ||||||
| |||||||
| Version 2.0-2 | Wed Aug 7 2014 | ||||||
| |||||||
| Version 2.0-1 | Wed Jul 23 2014 | ||||||
| |||||||
| Version 1.1-2 | Wed Nov 20 2013 | ||||||
| |||||||
| Version 0.1-4 | Wed Oct 2 2013 | ||||||
| |||||||