Corosync Cluster Engine
# Corosync Cluster Engine

Die Corosync Cluster Engine ist ein quelloffenes und verteiltes System für das Management von Computerclustern und Hochverfügbarkeitsclustern basierend auf dem Betriebssystem Linux. Die Software steht unter der freien BSD-Lizenz und ist in der Programmiersprache C geschrieben.

Die Corosync Cluster Engine ist aus dem OpenAIS Projekt abgeleitet, die erste Version entstand im Jahr 2008 infolge des Ottawa Linux Symposium in Kanada. Die zweite Version erschien im Jahr 2012 und ist seit damals Bestandteil von verschiedenen Linux-Distributionen wie Debian, Fedora und RHEL.

## Aufbau

Die Corosync Cluster Engine besteht im Aufbau aus vier Kernkomponenten:

* Einer zwischen den einzelnen Nodes verteilten Zustandsmaschine, deren Zustände und gespeicherte Information virtuell synchronisiert sind.
* Einer Instanz zum Starten, Stoppen und Verteilen der jeweiligen Anwendungen auf die einzelnen Nodes.
* Einem Quorum, das über die Anzahl der verfügbaren Nodes im Verbund informiert und dazu dient, bei Teilausfällen die Datenintegrität im Cluster sicherzustellen.
* Einer Datenbank zum Sammeln von Zustandsinformationen und deren zeitlichen Verlauf und Konfigurationseinstellung des Clusters. Inhalte dieser Datenbank können bei entsprechender Auswertung beispielsweise Auskunft über verschiedene Betriebsparameter wie die Ausfallzeiten einzelner Nodes liefern.

Die Verbindungsschnittstelle auf Ebene der Hardware zwischen den einzelnen Nodes, die aus handelsüblichen Rechnermodulen wie Bladeserver bestehen können, wird entweder mittels dem Netzwerkprotokoll UDP oder alternativ mit InfiniBand realisiert.

