Tutorials - Heartbeat
Sprachenübersicht/Betriebssysteme/Linux/Internet & Netzwerk
Heartbeat
Diese Seite wurde 16523 mal aufgerufen.
Dieser Artikel wurde in einem Wikiweb System geschrieben, das heißt, Sie können die Artikel jederzeit editieren, wenn Sie einen Fehler gefunden haben, oder etwas hinzufügen wollen.
Editieren Versionen Linkpartnerschaft Bottom Printversion
Keywords: heartbeat hochverfügbarkeit hight availability failover
Inhaltsverzeichnis
Heartbeat ist ein relativ einfach zu konfigurierendes Werkzeug, welches sich selbstständig um Anwesendheitskontrolle der Nodes sowie der IP- und Service-Übernahme im Fehlerfall kümmert.
Um die Sache noch einfacher zu machen, bringt Heartbeat out-of-the-box viele fertige Skripte mit.
Unter Debian genügt ein schnelles apt-get install heartbeat-2.
Als erstes müssen wir noch vorher die Clients in die hosts-Datei der beiden Nodes eintragen.
/etc/hosts:
127.0.0.1 localhost
192.168.0.50 client1
192.168.0.51 client2
Hauptkonfigurationsdatei von Heartbeat:
/etc/ha.d/ha.cf:
node client1 client2
ucast eth0 192.168.0.50 # wird auto. von client1 ignoriert
ucast eth0 192.168.0.51 # wird auto. von client2 ignoriert
auto_failback off # verhindert das auto. rückschalten auf den primary node, wenn dieser wieder online kommt
ping 192.168.0.101 # gemeinsame ip der nodes
debugfile /var/log/ha-debug
logfile /var/log/ha-log
deadtime 10 # sekunden bis ein node als tot erklärt wird
Authentifizierungsdatei zwischen den Nodes:
/etc/ha.d/authkeys:
auth 1
1 crc # keine sicherheit
#2 sha1 HI! # oder ein gemeinsamer sha1-hash
#3 md5 Hello! # oder md5-hash
Die Datei haresources gibt die Services an, die zwischen den Nodes umgeschaltet werden. Als erstes wird der primäre Host definiert, dann die gemeinsam genützte IP und dann die Skripte in der zu startenden Reihenfolge. Beim Zurückschalten von Heartbeat werden die Skripte in der umgekehrten Reihenfolge gestoppt.
Heartbeat sucht zuerst im /etc/ha.d/resource.d- und danach im /etc/init.d/-Verzeichnis nach den entsprechenden Skripten. Die Parameter werden dabei durch zwei Doppeltpunkte getrennt übergeben.
/etc/ha.d/haresources:
client1 192.168.0.101 drbddisk::r0 Filesystem::/dev/drbd0::/mnt/drbd::xfs
Dieses Beispiel dient der Device-Übernahme von DRBD (siehe DRBD-Tutorial).
Hinweis:
Auf keinen Fall vergessen, dass die Konfigurationsdateien auf beiden Nodes identisch sein müssen.
Möchte man manuell den aktiven Server wechseln (z.B. aufgrund von Wartungsarbeiten) so erreicht man dies mit den Befehlen hb_standby und hb_takeover. Diese finden sich meist unter /usr/lib/heartbeat/. Mit hb_standby werden Dienste abgegeben, mit hb_takeover übernommen.
Beide Befehle verstehen drei Argumente:
- local - die Dienste, für die der aktuelle Rechner Primary ist
- foreign - die Dienste, für die der aktuelle Rechner Fallback ist
In einem Produktiv-Netzwerk wird zwischen den Nodes ein Crossover-Kabel-Ethernet und ein Nullmodem-Kabel angebracht. Ein vorhandenes Stonith-Device sollte auch über eine eigene Verbindung den den jeweils anderen Host angeschlossen werden.
Um im Fehlerfall die Konsistenz des Dateisystems sicherzustellen, wird im Produktiv-Betrieb ein Stonith-Device verwendet. Bei manchen Servern ist dies bereits Serienmäßig eingebaut (beispielsweise manche Dell-Server - z.b. drac5), andernfalls muss ein Powerswitch zwischen Steckdose/USV und Server eingeschleift werden.
Über das Stonith-Device killt der Failover-Host den fehlerhaften Bruder (daher der Name: shoot the other node in the head).
Nähere Erläuterungen dazu finden sich auf der Heartbeat-Homepage.
Gibt es noch irgendwelche Fragen, oder wollen Sie über den Artikel diskutieren?
Editieren Versionen Linkpartnerschaft Top Printversion
Haben Sie einen Fehler gefunden? Dann klicken Sie doch auf Editieren, und beheben den Fehler, keine Angst, Sie können nichts zerstören, das Tutorial kann wiederhergestellt werden
Sprachenübersicht/Betriebssysteme/Linux/Internet & Netzwerk/Heartbeat