Pacemaker
Siehe auch
Begriffe
pcs
: steht für „Pacemaker/Corosync Configuration System.pcs
ist ein (Remote-)Konfigurationstool für Corosync und Pacemaker und kommt mit einem Daemon daher.Ressource: ein Dienst, der von Pacemaker verwaltet wird
crmd: der Name des Pacemaker-Dienstes/Prozesses
lrmd: Local Resource Management Daemon, führt lokal Resource Agents aus
Resource Agents: nichts anderes als Shell-Skripte, die mind. die Parameter
start
,stop
undmonitor
kennencrm
„Cluster Resource Manager“ - Vorgänger vonpcs
Verwendung
Beschrieben für RHEL 7. Hier werden zwei Nodes namens paceA
und paceB
verwendet.
# auf allen
yum -y install pacemaker corosync pcs
systemctl enable --now corosync
systemctl enable --now pacemaker
systemctl enable --now pcsd
Firewalling nicht vergessen:
2224/tcp: https-Webinterface
Authentication einrichten:
# auf allen
echo CHANGEME | passwd --stdin hacluster
# nur auf dem ersten, -u == username, -p == password
pcs cluster auth paceA paceB -u hacluster -p CHANGEME --force
Das Webinterface ist dann mit obigen Credentials auf https://node:2224 erreichbar.
Cluster erzeugen:
# auf dem ersten
pcs cluster setup --force --name pacemaker1 paceA paceB
pcs cluster start
Konfiguration - beispielsweise global STONITH abschalten:
pcs property set stonith-enabled=false
Ressource erzeugen, z.B. eine SAP HANA-Ressource:
# auf dem ersten (im echten Leben statt "Dummy" einen Agent wie "SAPHana" verwenden)
pcs resource create my_first_svc ocf:pacemaker:Dummy op monitor interval=120s
# und Ressource aktivieren
pcs resource enable my_first_svc
# Etwas komplexeres Beispiel für ein Master/Slave-Setup. Die Ressource heisst nachher
# "SAPHana_AP0_00-master" mit zwei Instanzen "SAPHana_AP0_00"
pcs resource create SAPHana_AP0_00 ocf:pacemaker:Dummy master meta notify=true clone-max=2 clone-node-max=1 interleave=true
# ... und STONITH für diese Ressource disablen
pcs stonith disable SAPHana_AP0_00-master
# und Ressource aktivieren
pcs resource enable SAPHana_AP0_00-master
# das gleiche für einen echten SAP HANA Agent (der andere Properties unterstützt)
pcs resource create SAPHana_AP0_00 SAPHana SID=AP0 InstanceNumber=00 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false master meta notify=true clone-max=2 clone-node-max=1 interleave=true
Status abfragen:
pcs status --full
pcs cluster status
pcs resource show --full
Dieses Setup überlebt auch einen Neustart beider Maschinen per reboot
ohne weitere Massnahmen.
Testing - Service-Failure simulieren
crm_resource --resource my_first_svc --force-stop
Troubleshooting
Für den Start hilft ein Blick ins Web-GUI. Dann:
systemctl status corosync
systemctl status pacemaker
systemctl status pcsd
# gesetzte Config-Optionen erhalten
pcs property list
# alle Config-Optionen
pcs property list --all
# Config prüfen
crm_verify --live-check --verbose
# Status interaktiv anzeigen
crm_mon --show-node-attributes
# Resource untersuchen
pcs resource debug-...
debug-demote debug-monitor debug-promote debug-start debug-stop
# Ressource aufräumen
pcs resource cleanup <resource-name>
# anderen Node abschiessen
pcs stonith fence paceB
tail -f /var/log/pacemaker.log /var/log/cluster/corosync.log
crm-Kommandos
crm_attribute
crm_diff
crm_error
crm_failcount
crm_master
crm_mon
crm_node
crm_report
crm_resource
crm_shadow
crm_simulate
crm_standby
crm_ticket
crm_verify