Heartbeat (Informatik)

aus Wikipedia, der freien Enzyklopädie

Ein Heartbeat (engl. für „Herzschlag“) ist eine Netzwerkverbindung zwischen zwei (oder mehr) Rechnern in einem Cluster, um sich gegenseitig darüber zu benachrichtigen, dass sie betriebsbereit sind und ihre Aufgaben noch erfüllen können, also „am Leben“ sind. Im Umfeld von Netzwerkprotokollen, wie z. B. HSRP oder OSPF, beschreiben "keepalive" und "hello"-Nachrichten diese Funktion.

Wenn die Benachrichtigungen eines anderen Rechners ausbleiben, geht ein Programm auf dem „überlebenden“ Rechner davon aus, dass dieser Partner-Pendant nicht mehr verfügbar ist (z. B. durch einen Defekt oder einen Programmfehler) und dass es dafür sorgen soll, dass diese Aufgaben von einem noch funktionierenden Rechner übernommen werden.

Er findet auf Netzzugangsschicht, meist über Nullmodem-Kabel, Ethernet oder Fibre Channel, statt.

Außerhalb der Clustertechnik wurde der Begriff auch für eine zur Fehleranalyse verwendete Funktion bei der Ethernet-Verkabelung über Yellowcable (10 Mbit/s) verwendet. Der Heartbeat konnte für jeden Transceiver ein- oder ausgeschaltet werden.

Split-Brain-Situationen

Split Brain ist eine Situation, wenn die Heartbeat-Verbindung zwischen den Rechnern (etwa via Ethernet oder serieller Schnittstelle) unterbrochen wird und nicht innerhalb der benötigen Zeit wieder zustande kommt. Obwohl die Rechner jeder für sich einwandfrei funktionieren, müssen die Kontrollprogramme auf diesen Rechnern davon ausgehen, dass der jeweils andere ausgefallen ist.

Danach weiß kein Knoten, welche Rolle er aktuell spielen soll und macht sich automatisch selbst zum Primärknoten. Dies führt bei Aktiv-/Passiv-Konfigurationen zum Ausfall des Clusters, der angebotenen Dienste und kann beim Einsatz eines gemeinsam genutzten Datenspeichers (Storage Backends wie zum Beispiel DRBD) dazu führen, dass beide Systeme versuchen, gleichzeitig auf denselben Speicher zu schreiben.

Gegenseitiger Ausschluss

Wenn zwei oder mehr Rechner dasselbe Betriebsmittel benötigen, um eine Aufgabe zu erfüllen, zum Beispiel eine Netzwerk-Adresse, MAC-Adresse oder ein Dateisystem, besteht unter Umständen die Notwendigkeit sicherzustellen, dass dieses Betriebsmittel nie von mehr als einem Rechner gleichzeitig benutzt wird. In der englischsprachigen Literatur ist hierfür der Begriff Node Fencing gebräuchlich, was so viel bedeutet wie Rechner-Abzäunung.

STONITH ist eine Möglichkeit dieses Ausschlusses. Wenn beide Rechner an ein STONITH-Gerät angebunden sind (in der Regel über eine serielle Schnittstelle), kann ein Rechner in einer Splitbrain-Situation den gegenüberliegenden Rechner abschalten. Es gibt zwei Arten, das STONITH-Prinzip einzusetzen: Auf Applikations- oder Hardware-Ebene. Letzteres hat den Vorteil, dass es nicht auf eine Software (zum Beispiel einen SSH-Daemon) angewiesen ist. Um die Auswirkung von Hardware-Ausfällen zu minimieren sind Heartbeat-Netze häufig mit redundanten Switches aufgebaut und jedes beteiligte System mit zwei oder mehr Netzwerkkarten angebunden.

Trivia

Die Benennung der bis dahin massivsten Sicherheitslücke im Internet beruhte auf einem Wortspiel. Da diese Sicherheitslücke, von der Anfang 2014 zwei Drittel aller Websites weltweiten betroffen waren, zu einem Herausfließen – also im übertragenen Sinn Herausbluten – von vitalen Nutzerdaten während der Heartbeat-Funktionalität führt, etablierte sich der Begriff heartbleed bug.[1]

Siehe auch

Einzelnachweise

  1. Bundesamt für Sicherheit in der Informationstechnik: BSIFB - Informationen - Informationen zu der Sicherheitslücke "Heartb…. 13. Januar 2016. Archiviert vom Original am 13. Januar 2016.

Weblinks