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



Vorwort Top


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.

Installation Top


Unter Debian genügt ein schnelles apt-get install heartbeat-2.

Konfiguration Top


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



Resources Top


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.

Manueller Failover Top


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


  • all - alle Dienste



Produktiv-Umgebung Top


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.

Stonith Top


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.

Weblinks Top


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