pacemaker
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| pacemaker [2015-05-12 12:23:49] – angelegt manfred | pacemaker [2016-04-12 22:50:01] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== Pacemaker ====== | ||
| + | |||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | |||
| + | > crm configure property stonith-enabled=false | ||
| + | > crm configure property no-quorum-policy=ignore | ||
| + | > crm_attribute --type rsc_defaults --attr-name resource-stickiness --attr-value 100 | ||
| + | > crm configure edit | ||
| + | < | ||
| + | node ttvdbgalera01 | ||
| + | node ttvdbgalera02 | ||
| + | node ttvdbgalera03 | ||
| + | primitive res_mysqlIP ocf: | ||
| + | params ip=" | ||
| + | op start interval=" | ||
| + | op stop interval=" | ||
| + | op monitor interval=" | ||
| + | property $id=" | ||
| + | dc-version=" | ||
| + | cluster-infrastructure=" | ||
| + | expected-quorum-votes=" | ||
| + | stonith-enabled=" | ||
| + | no-quorum-policy=" | ||
| + | last-lrm-refresh=" | ||
| + | rsc_defaults $id=" | ||
| + | resource-stickiness=" | ||
| + | </ | ||
| + | |||
| + | > ip addr | ||
| + | ... | ||
| + | 2: eth0: < | ||
| + | link/ether 00: | ||
| + | inet 192.168.0.244/ | ||
| + | inet 192.168.0.110/ | ||
| + | ... | ||
| + | |||
| + | |||
| + | ==== Abhängigkeiten der Ressourcen formulieren ==== | ||
| + | |||
| + | > crm configure show | ||
| + | <file bash crm configure show> | ||
| + | node knoten1 \ | ||
| + | attributes standby=" | ||
| + | node knoten2 \ | ||
| + | attributes standby=" | ||
| + | node knoten3 \ | ||
| + | attributes standby=" | ||
| + | primitive Bind ocf: | ||
| + | params monitor_request=" | ||
| + | op monitor interval=" | ||
| + | meta target-role=" | ||
| + | primitive CLIP ocf: | ||
| + | params ip=" | ||
| + | meta target-role=" | ||
| + | colocation col_ClusterIP_Bind inf: Bind CLIP | ||
| + | order ord_ClusterIP_Bind inf: Bind CLIP | ||
| + | property $id=" | ||
| + | dc-version=" | ||
| + | cluster-infrastructure=" | ||
| + | expected-quorum-votes=" | ||
| + | stonith-enabled=" | ||
| + | no-quorum-policy=" | ||
| + | last-lrm-refresh=" | ||
| + | </ | ||
| + | |||
| + | Hier wird die Ressource " | ||
| + | Wenn dies gegeben ist, dann gild die Ressource " | ||
| + | |||
| + | ==== selbst gebautes OCF-Skript ==== | ||
| + | |||
| + | Wenn man die Konfiguration von Pacemaker nicht im Griff hat, kann man sich auch ein eigenes OCF-Skript schreiben, in dem die Abhängigkeiten der Ressourcen auf Skript-Ebene formuliert werden.\\ | ||
| + | In diesem Beispiel werden die Ressourcen IP-Adresse und MySQL-DB in Abhängigkeit zueinander gesetzt. Es darf die IP nur dann hochgefahren werden, wenn die DB läuft. | ||
| + | |||
| + | Prototyp: | ||
| + | > vi / | ||
| + | <file bash / | ||
| + | #!/bin/bash | ||
| + | |||
| + | VERSION=" | ||
| + | |||
| + | # | ||
| + | ### Parameterauswertung | ||
| + | |||
| + | if [ -z " | ||
| + | PARAMETER_1="" | ||
| + | PARAMETER_2=" | ||
| + | else | ||
| + | PARAMETER_1=" | ||
| + | PARAMETER_2=" | ||
| + | fi | ||
| + | |||
| + | # | ||
| + | ### Variablen | ||
| + | |||
| + | export OCF_ROOT=/ | ||
| + | ZUGANGSDATEN=" | ||
| + | BENUTZER=" | ||
| + | PASSWORT=" | ||
| + | DATUMZEIT=" | ||
| + | TESTDB=" | ||
| + | |||
| + | # | ||
| + | ### Funktion | ||
| + | |||
| + | MySQLABFRAGE() | ||
| + | { | ||
| + | unset DBSTATUS | ||
| + | #mysqlshow -t -u" | ||
| + | echo " | ||
| + | #mysqlshow -t -u" | ||
| + | mysqlshow -t -u" | ||
| + | echo "DROP DATABASE ${TESTDB};" | ||
| + | #mysqlshow -t -u" | ||
| + | } | ||
| + | |||
| + | # | ||
| + | ### Abarbeitung | ||
| + | |||
| + | case " | ||
| + | [Ss][Tt][Aa][Rr][Tt]) | ||
| + | MySQLABFRAGE | ||
| + | STATUSSTATUS=" | ||
| + | STATUSMONITOR=" | ||
| + | ;; | ||
| + | [Ss][Tt][Aa][Tt][Uu][Ss]) | ||
| + | MySQLABFRAGE | ||
| + | STATUSSTATUS=" | ||
| + | STATUSMONITOR=" | ||
| + | ;; | ||
| + | [Mm][Oo][Nn][Ii][Tt][Oo][Rr]) | ||
| + | MySQLABFRAGE | ||
| + | STATUSSTATUS=" | ||
| + | STATUSMONITOR=" | ||
| + | ;; | ||
| + | *) | ||
| + | DBSTATUS=" | ||
| + | STATUSSTATUS=" | ||
| + | STATUSMONITOR=" | ||
| + | ;; | ||
| + | esac | ||
| + | |||
| + | if [ " | ||
| + | echo " | ||
| + | elif [ " | ||
| + | echo " | ||
| + | fi | ||
| + | |||
| + | |||
| + | if [ " | ||
| + | #echo / | ||
| + | / | ||
| + | else | ||
| + | unset DBSTATUS | ||
| + | if [ " | ||
| + | exit 7; | ||
| + | else | ||
| + | exit 3; | ||
| + | fi | ||
| + | fi | ||
| + | unset DBSTATUS | ||
| + | |||
| + | # | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | Dieses OCF-Skript (// | ||
| + | Es überprüft erst die Erreichbarkeit des DBMS und wenn es nicht antwortet, wird die Maschine angehalten. | ||
| + | |||
| + | > vi / | ||
| + | <file bash / | ||
| + | #!/bin/bash | ||
| + | |||
| + | VERSION=" | ||
| + | |||
| + | # | ||
| + | ### Variablen | ||
| + | |||
| + | export OCF_ROOT=/ | ||
| + | ZUGANGSDATEN=" | ||
| + | BENUTZER=" | ||
| + | PASSWORT=" | ||
| + | DATUMZEIT=" | ||
| + | TESTDB=" | ||
| + | |||
| + | # | ||
| + | ### MySQL-Kontrolle | ||
| + | |||
| + | unset DBSTATUS | ||
| + | echo " | ||
| + | mysqlshow -t -u" | ||
| + | echo "DROP DATABASE ${TESTDB};" | ||
| + | |||
| + | if [ " | ||
| + | KONFIGURATION=" | ||
| + | IPA=" | ||
| + | NIC=" | ||
| + | IP_ADDR_AUSGABE=" | ||
| + | |||
| + | if [ -n " | ||
| + | unset DBSTATUS | ||
| + | IPNETZ=" | ||
| + | |||
| + | halt -p | ||
| + | fi | ||
| + | fi | ||
| + | |||
| + | # | ||
| + | ### IP-Management | ||
| + | |||
| + | . / | ||
| + | |||
| + | #echo / | ||
| + | / | ||
| + | |||
| + | # | ||
| + | </ | ||
| + | |||
| + | === bei Problemen mit Pacemaker === | ||
| + | |||
| + | hilft oft das: | ||
| + | > crm configure show > Pacemaker.xml | ||
| + | > service corosync stop | ||
| + | > rm -fr / | ||
| + | > aptitude reinstall pacemaker | ||
| + | > service corosync start | ||
| + | > crm configure load update Pacemaker.xml | ||
| + | |||
| + | |||
| + | ===== Monitoring ===== | ||
| + | |||
| + | # crm_mon | ||
| + | |||
| + | ============ | ||
| + | Last updated: Wed Jul 18 17:19:38 2012 | ||
| + | Stack: openais | ||
| + | Current DC: knoten01 - partition with quorum | ||
| + | Version: 1.0.8-042548a451fce8400660f6031f4da6f0223dd5dd | ||
| + | 2 Nodes configured, 2 expected votes | ||
| + | 1 Resources configured. | ||
| + | ============ | ||
| + | |||
| + | Online: [ knoten01 knoten02 ] | ||
| + | |||
| + | Ipadresse | ||
| + | |||
| + | |||
| + | ===== Schwenk ===== | ||
| + | |||
| + | zum schwenken muss man den aktiveb Knoten in den StandBy-Mode schicken: | ||
| + | # crm | ||
| + | crm(live)# | ||
| + | crm(live)# configure edit | ||
| + | |||
| + | node knoten01 attributes standby=" | ||
| + | node knoten02 | ||
| + | primitive Ipadresse ocf: | ||
| + | params ip=" | ||
| + | property $id=" | ||
| + | dc-version=" | ||
| + | cluster-infrastructure=" | ||
| + | stonith-enabled=" | ||
| + | expected-quorum-votes=" | ||
| + | |||
| + | |||
| + | ===== Debugging PACEMAKER Skripte ===== | ||
| + | |||
| + | > export OCF_ROOT=/ | ||
