# Cluster Interconnect

Der Cluster Interconnect dient für Management-, Datenübertragungs- und Lastverteilungszwecke in einem Computercluster und ist eine Komponente des Cluster Managers. In der Literatur wird der Cluster Interconnect manchmal auch sinnreduzierend als Cluster Heartbeat bezeichnet, wobei diese Funktion des „Herzschlages“ nur eine von mehreren ist.

## Verwendung

Der Interconnect eines Clusters ist eine Verbindung zwischen den Cluster-Membern, über die alle Arten von relevanten Daten ausgetauscht werden. Sie wird in aller Regel als privates Netzwerksegment konzipiert, um höchstmögliche Betriebssicherheit zu gewährleisten oder auch andere Netzwerkarchitekturen abbilden zu können. Denn diese Zwischenverbindung ist – in Abhängigkeit von der Größe des Clusters – mit möglichst geringer Latenz und hoher Datenübertragungsrate auszustatten, um keinen Flaschenhals zu schaffen. Dazu häufig verwendete Technologien sind Gigabit-Ethernet oder auch das teurere InfiniBand.
Wie eingangs erwähnt, dient der Cluster Interconnect mehreren Zwecken:

### Heartbeat (Cluster Heartbeat)

Unter Heartbeat (deutsch „Herzschlag“) versteht die Computertechnik ein periodisch zwischen zusammengehörigen Systemen ausgetauschtes Signal, analog dem Fühlen des menschlichen Pulses. Dieses Signal dient zur gegenseitigen Überwachung: Bleibt der Heartbeat eines Systems aus, wird ein Ereignis ausgelöst auf welches die anderen entsprechend reagieren können. Der Cluster Interconnect dient hier der reinen Signalübertragung. Wird die gegenseitige Verfügbarkeitsüberwachung nicht durch eine kommerzielle Clusterware realisiert, stehen auch Software-Pakete wie LinuxHA für die Absicherung einzelner Dienste bereit.
Für einen reinen Heartbeat-Interconnect wurde bis vor einiger Zeit auch oft nur ein serielles Kabel verwendet.

### Cluster-Steuerung

Eine weitere wesentliche Aufgabe des Interconnects ist das Management des Clusters. Beispielsweise muss das gezielte Umstellen eines Dienstes von einem Knoten auf den anderen koordiniert und mit möglichst geringer Ausfallzeit geschehen. Jede Clusterware verwendet dazu produktspezifisch standardisierte Telegramme von unterschiedlicher Größe.

### Datenübertragung / Datenausgleich

Bei Nutzung des Clusters für die Lastverteilung bei Anwendungs- oder Datenbankservern ist es darüber hinaus wichtig, in bestimmten Situationen auch Benutzerdaten über den Cluster Interconnect weiterzugeben. Auch hier werden durch die Clusterware spezielle Telegramme mit dem entsprechenden Nutzinhalt übertragen, und für die darüberliegende Applikation eine API angeboten.
Beispiel: Oracle RAC 10g verwendet die sogenannte Cache-Fusion-Technologie. Sie baut darauf auf, dass schon einmal in den Cache eines Clusterknotens eingelesene Blöcke über den Interconnect schneller beschafft werden können als durch erneutes Einlesen vom Massenspeicher. Auch setzt die Hoheitskontrolle für Datenbank-Blöcke dieses Datenbankmanagementsystems auf das hier Blockshipping genannte Übertragen der Daten über die Zwischenverbindung.

### Probleme und Lösungen

* Eine Unterbrechung des Cluster Interconnects ist unbedingt zu verhindern. Denn aus Sicht eines Cluster-Members kann nicht unterschieden werden, ob eine Unterbrechung oder ein Verlust der anderen Seite vorliegt. Das Risiko einer Unterbrechung sucht die Technik grundlegend durch Redundanz, in der Regel durch Bündelung (auch Bonding oder Trunking) der verwendeten Netzwerkschnittstellen zu verringern. Das im Extremfall auftretende Split-Brain-Problem kann durch den Einsatz eines oder mehrerer Quoren (Voting Disks) aufgelöst werden.
* Eine Überlastsituation auf dem Interconnect-Medium kann dem Cluster Manager einen Ausfall suggerieren, wenn die Funktion des Heartbeats durch zu hohes Transferaufkommen über gewisse definierte Zeiten hinweg beeinträchtigt wird. Da wie oben besprochen je nach System der Cluster Interconnect auch für den Transfer von Applikationsdaten verwendet wird, ist auf ausreichende Dimensionierung zu achten. Auch hier kann Bonding/Trunking hilfreich sein, da sich im entsprechenden B.-Modus die Bandbreite der verwendeten Schnittstellen addiert. Grundlegend sind nicht von der Clusterware initiierte Datenströme auf dem Interconnect möglichst zu vermeiden.