Verbundstrukturen im Rechenzentrum Was ist ein Cluster?
In Rechenzentren tummeln sich vielfältige Arten von Cluster, „Verbünden“ aus Rechnern oder Storage-Geräten, die entweder einer Erhöhung der Verfügbarkeit oder der Rechen- , oder Speicherkapazität dienen. Hier ein Überblick.
Anbieter zum Thema

In der Informationstechnologie wird ein Verbund aus Computern „Cluster“ genannt, der englische Ausdruck für „Schwarm“. Es gibt unzählige Arten von Cluster, zum Beispiel Server-Cluster, Compute-Cluster in Cloud und Big-Data-Umgebungen, HPC-Cluster (HPC = High Performance Computing), Storage-Cluster, verteilter Object-Storage, Datenbank-Cluster, verteilte Datenbanken oder Anwendungs-Cluster. Auch Supercomputer sind im Prinzip ein Verbund aus Hochleistungsknoten, die ihrerseits unzählige Prozessoren vereinigen.
Im Bereich Cloud-Computing und Big Data geht ohne Clustering gar nichts. Eine Gruppe vernetzter Computer zählt indes nicht als Cluster, da das Computernetzwerk hier nur dem Datenaustausch oder der Verbindung zum Storage dient. Beschränkt man sich auf die gegenwärtige Praxis im lokalen Rechenzentrum und blendet Storage-Cluster, verteilte Datenbanken (Big Data), hyperkonvergente Systeme sowie HPC aus, wird es übersichtlicher. Dennoch: Eine Klassifizierung tut Not.
Cluster allgemein
Im Allgemeinen werden Cluster für folgende vier grundsätzliche verschiedene Arten von Aufgaben eingesetzt:
- Load-Balancing-Cluster
- High-Availabiliy-Cluster
- Storage-Cluster
- High-Performance-Computing-Cluster
So oder so heißen in einem Cluster-Verbund zusammengeschlossene Computer „Knoten“. Gelegentlich wird der gesamte Verbund auch als „Farm“ bezeichnet. Im Unterschied zu einem Computernetzwerk zeichnet sich der Verbund dadurch aus, dass sich die beteiligten Knoten untereinander über einen speziellen „Kanal“ über ihren gegenseitigen „Gesundheitszustand“ austauschen.
Dabei müssen nicht sämtliche „Baugruppen“ eine Cluster „in Hardware gegossen“ sein, es gibt auch rein Software-basierte Cluster-Lösungen. Da der Begriff Cluster aber in erster Linie für das architektonische Zusammenwirken der einzelnen Komponenten steht, sind Hardware- und Software-Cluster doch zwei verschiedene Paar Schuhe.
Cluster-Arten
Hardware-Cluster aus beispielsweise zwei „zusammengeschalteten“ Servern können in der Betriebsart „active/active“ oder „activ/passive“ betrieben werden. Letzteres kommt etwa beim klassischen Failover-Cluster zum Einsatz.
Während zum Beispiel „Windows-Server“-Failover-Cluster eine Eigenschaft (Rolle) des Betriebssystems darstellt, sind echte Hardware-Cluster im active-/active-Betrieb meist herstellerspezifische Lösungen wie „HP OpenVMS Cluster“.
Der vom „VAXCluster“ - die seinerzeit (1983) erste kommerziell verfügbare Cluster-Lösung von DEC - abstammende „VMS-Cluster“ wird von HPE noch heute noch für das Betriebssystem „OpenVMS“ und die Prozessoren „Alpha“ und „Itanium“ angeboten.
Setzt der Cluster-Stack etwa auf das vorhandene Betriebssystem auf, spricht man von einem Software-Cluster. Im Fall eines Anwendungs-Cluster ist die Applikation sogar selbst Cluster-fähig.
Ein Anwendungs-Cluster soll in erster Linie einen kontinuierlichen Betrieb gewährleisten, wie bei einem DNS-Server oder „Microsoft Exchange Server“. Ein „SQL-Server“ von Microsoft hingegen kann sowohl auf Verfügbarkeit als auch auf Leistungssteigerung ausgelegt sein.
Cluster-Stacks
Im Kern verantwortlich für den Cluster-Betrieb ist der so genannte Cluster-Stack, der zum Beispiel bei Windows-Server in das Betriebssystem integriert ist. Dieser unterstützt etwa im Windows Server eine ganze Reihe verschiedener „Cluster-Rollen“, wie DFS-Namespace-Server, DHCP-Server, Fileserver, iSCSI-Target, „Hyper-V“-Replication-Broker, WINS-Server oder „virtueller Computer“.
Die entsprechenden Services erfordern je nach Art (zum Beispiel bei virtuellen Maschinen) einen gemeinsam nutzbaren Storage und ein Cluster-fähiges Dateisystem wie Cluster Shared Volumes (CSV) oder VMFS (VMware). Dieses muss prinzipiell konkurrierende Zugriffe auf das gleiche Objekt erlauben, dabei aber kritische Operationen“ mit geeigneten Locking-Verfahren unterbinden, in Deutsch-Englisch: „schedulen“.
Bei Linux-Server sind verschiedene Cluster-Stacks „im Umlauf“ deren bekannteste Komponenten wie „Pacemaker“ (Cluster Manager), „Corosync“, „Heartbeat“, „DRDB“, „OpenAIS“ (Cluster-fähiges Dateisystem) oder „redhat-cluster-suite“ heißen. Zu den weiteren bekannten Vertretern gehören „Beowulf“ und „HP Serviceguard“.
VMware-vSpehre-Cluster
Eine spezielle Form von Cluster-Software bieten die Hersteller von Virtualisierungssoftware, wie VMware. Das Cluster-Objekt ist hier softwarebasiert und kann wahlweise die Funktion eines Load-Balancing- (DRS), High-Availability- (HA) oder Storage- (vSAN) Cluster übernehmen.
Im Fall des HA-Cluster werden die erforderlichen Heartbeat-Signale über ein spezielles, dediziertes Netzwerk ausgetauscht. Dieses setzt zwar auf Ethernet auf, ist aber von den übrigen virtuellen Maschinen (VMs), Storage- und Management-Netzwerken isoliert und für den Einsatz als Heartbeat-Netzwerk optimiert.
Die zugehörige HA-Software (Fault Domain Manager) läuft dabei im Kernel der „ESXi“-Hosts und übernimmt die Rolle des Cluster-Managers. Das Cluster-Konzept von VMware unterscheidet deutlich etwa von einem Windows-Server-Failover-Cluster. Es lässt sich jedoch einfacher einrichten, weil es technologisch simpler gestickt ist, denn die „einzige“ ernstzunehmende Cluster-Rolle ist hier das Virtual-Machine-Management.
Einsatzgebiete von Cluster
Im lokalen Rechenzentrum spielen vor allem der Lastverteilungs- und der Verfügbarkeits-Cluster eine wichtige Rolle, wobei Hochverfügbarkeits-Cluster allgemein zur Erhöhung der Ausfallsicherheit zu Einsatz kommen. Kommt es auf einem Knoten des Cluster zu einem Fehler oder fällt dieser komplett aus, werden die auf diesem Knoten laufenden Dienste von einem anderen Knoten übernommen. HA-Cluster kommen oft mit zwei Knoten aus. VMware unterstützt aber bis zu 64 Knoten.
Auch bei dieser „Konstruktion“ gibt es das Konzept des aktive-/active-Cluster. Hierbei laufen etwa bei VMware permanent auf sämtlichen Knoten des Cluster Dienste. Man spricht auch von symetrischem Clustering. Der Cluster-Manager muss lediglich berücksichtigen, auf den Einzel-Hosts ausreichend Failover-Kapazität zurück zu behalten. Man kann aber auch hier einen asymetrischen active-/passive-Betrieb mit dedizierten Failover-Knoten konfigurieren.
Müssen kritische Computersysteme im Rahmen von Katastrophenszenarien abgesichert werden, dehnt man den Failover-Cluster über mehrere Kilometer in verschiedenen Rechenzentren aus. Man spricht dann von einem „Stretched Cluster“. Auch bei Storage-Cluster gibt es das Konzept der Stretched Cluster.
Bei Load-Balancing-Cluster hingegen wird die Last für eine möglichst homogene Lastverteilung auf mehrere Knoten verteilt, wobei sich eine zentrale Instanz um die eigentliche Lastverteilung kümmert. Man spricht im Unterschied zur vertikalen Skalierung, bei der man die Ressourcen eines einzelnen Servers bei Bedarf aufrüstet auch von horizontaler Skalierung, da sich die Kapazität des Load-Balancing-Cluster (der Cluster fungiert hier quasi als Ressourcen-Pool) durch einfaches Hinzufügen weiterer Knoten vergrößern lässt.
Der Autor
Thomas Drilling ist freier Fachautor und IT-Berater. Auf Datacenter Insider schreibt er zudem seinen eignen Blog: „Drillings Open-Source-Eck“
(ID:44567240)