High Availability lässt sich heute mit günstiger Hardware und einer großen Auswahl an kommerzieller sowie freier Software realisieren. ADMIN erklärt die ... (mehr)

Pacemaker, Open AIS und Corosync

Die Geschichte hatte das Heartbeat-Projekt zu diesem Zeitpunkt längst überholt. Bereits 2001 hatte sich das Service Availability Forum (SAF, [4]) gegründet – ein Konsortium aus vielen Branchengrößen, das sich auf einheitliche Standards für die Definition von Hochverfügbarkeit geeinigt hat. Das SAF publizierte sehr konkrete Spezifikationen, die teilweise sogar auf Code-Ebene die HA-Ideen des Konsortiums erläuterten. Der SAF-Standard trägt den Namen Application Interface Specification (AIS).

2005 veröffentlichte das Open-AIS-Projekt die ersten Versionen seiner Implementation dieses Standards. Open AIS [5] ist also ein Cluster Communication Layer zusammen mit einigen Plugins, die in der AIS vorgegebene Funktionen anbieten.

Im Jahr 2007 lösten die Heartbeat-Entwickler, vorrangig der damals in Diensten von Novell stehende Andrew Beekhof, den Cluster Resource Manager aus Heartbeat heraus und fingen an ihn so zu modifizieren, dass er auch mit dem OpenAIS-Communication-Layer funktioniert. Um keine Verwirrung aufkommen zu lassen, nannten sie den Heartbeat-Spinoff kurz und knackig Pacemaker ([6], Abbildung 2). Open AIS durchlief im Jahre 2008 einen erneuten Split, bei dem die Entwickler den Cluster Communication Layer von den vormals erwähnten Plugins für die Clusterdienste abspalteten. Der Communication Layer heißt seither Corosync [7].

Abbildung 2: In einem laufenden Pacemaker-Cluster hilft das Werkzeug crm_mon dabei, einen Überblick über die Lage zu bekommen – in diesem Cluster ist alles in Ordnung.

Pacemaker lässt sich prinzipiell sowohl mit dem alten Cluster Communication Layer aus Heartbeat 1 als auch mit Corosync oder der Legacy-Version von Open AIS betreiben – also dem Open AIS aus der Zeit vor der Corosync-Abspaltung, die nach wie vor weitergepflegt wird.

Wer lieber mit der Zeit geht und aktuelle Software will, muss Open AIS zusammen mit Corosync als Basis für Pacemaker verwenden. Open AIS stellt tatsächlich nur mehr einzelne Services der AIS-Spezifikation bereit. Wer Dienste wie CLVM, das Cluster-basierte LVM, oder OCFS2 verwenden möchte, kommt um das Duo aus Corosync und Open AIS nebst Pacemaker ohnehin nicht herum.

Die Zukunft

Das Gespann aus Pacemaker und Corosync (bei dem unter Umständen auch Open AIS zum Einsatz kommt) bietet alle Eigenschaften, die einen modernen Clustermanager ausmachen. Die Entwicklungszweige von Red Hats Cluster Suite und Pacemaker laufen derzeit aufeinander zu: In naher Zukunft soll Pacemaker offizieller Clustermanager in der RHCS werden. Andrew Beekhof arbeitet mittlerweile übrigens bei Red Hat.

Was den produktiven Einsatz von Corosync und Open AIS selbst angeht, ist aber Vorsicht geboten. Novells HA-Erweiterung kommt mit einer alten Version von Open AIS und einer aktuellen Pacemaker-Version, für Red Hat Enterprise Linux 5.4 und Centos 5.4 gibt es Pakete von Andrew Beekhof selbst. Auch Pakete für Debian 5 (Lenny) sind im Netz zu finden.

Die Kombination von Pacemaker, Corosync und Open AIS hat sich in der jüngsten Vergangenheit aber als anfällig für Kinderkrankheiten gezeigt. So kommt es vor, dass der Open-AIS-Daemon »aisexec« bisweilen Zombie-Prozesse produziert und selbst einen Kill mit anschließendem Neustart überlebt. Wer bei Andrew Beekhof einen Bugreport über solches Verhalten einwirft, bekommt die Antwort jedoch meist prompt und kompetent. Wem der Gedanke, seinen Cluster mit Corosync und Open AIS zu betreiben, partout nicht gefallen möchte, kann Pacemaker nach wie vor mit dem Communication Layer von Heartbeat 1 betreiben, wenn Dienste wie CLVM oder OCFS2 nicht verlangt sind.

Abbildung 3: Die Entwicklung von Heartbeat – unten die Schicht für die Kommunikation im Cluster, oben der Cluster Resource Manager.

Kurz vor der Publikation dieses Artikels haben beide Projekte neue Versionen veröffentlicht; sie verfügen überdies über eine aktive Community. Last but not least geht im Augenblick auch die Entwicklung von Heartbeat in eine neue Runde, nachdem sie über Jahre hinweg ganz zum Erliegen gekommen war: Die Heartbeat-Version 3.0 steht in den Startlöchern und wird viele Bugfixes enthalten. Hochverfügbarkeit mit Linux bleibt ein spannendes Thema.

Der Autor

Martin Loschwitz ist Debian-Entwickler und arbeitet bei der Linbit GmbH in Wien. Er beschäftigt sich dort intensiv mit den verschiedenen Clusterstacks für Linux.

comments powered by Disqus
Mehr zum Thema

HA-Serie, Teil 1: Grundlagen von Pacemaker und Co.

Unverzichtbarer Bestandteil eines Hochverfügbarkeits-Clusters ist ein Cluster-Manager, der im Problemfall weiß, was zu tun ist. Mit Pacemaker liegt zum ersten Mal überhaupt ein brauchbarer Cluster-Manager für Linux auf der Grundlage von Open Source vor.

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019