Lesezeit
2 Minuten
Bis jetzt gelesen

Cluster

21.11.2014 - 09:00
Veröffentlicht in:
Als Cluster bezeichnen wir im Folgenden einen Verbund von vernetzten Rechnern, die nach außen hin als ein einziger Rechner erscheinen. Die in einem Cluster befindlichen Computer werden auch Knoten (Nodes) genannt. Eine alternative Bezeichnung für die Summe dieser Knoten lautet Serverfarm. Eine derartige Zusammenschaltung von Rechnern verfolgt in der Regel eines der folgenden drei Ziele: Hochverfügbarkeit (HA), High Performance Computing (HPC) oder Load Balancing (LB), wobei die Grenzen zwischen den beiden letztgenannten Varianten eher fließend sind.
Wichtige Begrifflichkeiten im Zusammenhang mit Clustern sind "shared-nothing" und "shared-all". In einer shared-nothing-Architektur ist jeder Knoten autonom, das heißt er verfügt über alle für den Betrieb nötigen Hardware-Komponenten und ein eigenes Betriebssystem. Das betrifft besonders Storage und Arbeitsspeicher; beides wird nicht mit anderen Nodes geteilt. Diese Ausprägung findet sich besonders oft im Bereich der HPC-Cluster. Von Vorteil ist hier die hohe Skalierbarkeit. Damit ist gemeint, dass sich die Leistungsfähigkeit der gesamten Umgebung durch das Hinzufügen neuer Nodes quasi beliebig nach oben steigern lässt.

Anders stellt sich dies bei einem shared-all-Cluster dar. Diese Architektur ist besonders oft in Storage-Netzwerken (SAN) anzutreffen und garantiert durch einen konkurrierenden Zugriff auf Shared Storage, dass alle Nodes auf den gesamten Datenbestand zugreifen können. In diesem Zusammenhang kommen dann auch Cluster-Dateisysteme ins Spiel: Da beim gleichzeitigen Zugriff von mehreren Quellen auf einen gemeinsamen Datenbestand Inkonsistenzen auftreten können. Um dies zu verhindern, müssen die Metadaten wie etwa Verzeichnisse, Attribute und Speicherplatzzuweisungen koordiniert abgelegt werden. Zu diesem Zweck kommt im Regelfall innerhalb eines Fibre Channel- oder iSCSI-Netzwerks ein Metadaten-Server zum Einsatz.

Hochverfügbarkeitscluster
Das Ziel von Hochverfügbarkeitsclustern (HA-Cluster) ist es, für eine erhöhte Ausfallsicherheit zur sorgen. Tritt auf einem Cluster-Knoten ein Fehler auf oder fällt er gar komplett aus, werden die dort laufenden Dienste auf einen anderen Knoten migriert. Die meisten HA-Cluster besitzen zwei Knoten. Dabei handelt es sich meist um eine Aktiv/Passiv-Konstruktion, das heißt, der Ersatz-Knoten befindet sich lediglich im Standby, solange der erste Knoten ohne Probleme funktioniert. Eine derartige Übernahme von Diensten wird auch als Failover bezeichnet – im Fehlerfall wird die Anwendung auf einem anderen Rechner im Cluster neu gestartet. Takeover hingegen bedeutet, dass die Dienste auf zwei oder mehreren Servern gleichzeitig aktiv sind. In diesem Fall spricht man von einem Aktiv/Aktiv-Cluster, in dem die Nodes stets simultan aktiv sind.

Dienste müssen speziell für ihre Verwendung auf einem Cluster programmiert sein. Dies wird mit dem Begriff "cluster aware" beschrieben. Für den Betrieb eines HA-Clusters ist es extrem wichtig, dass sowohl die Hardware als auch die Software des Rechnerverbunds frei von Single-Point-of-Failures sind. Über eine spezielle Heartbeat-Verbindung informieren sich ein Knoten über den Zustand des / der anderen Nodes. Nicht zuletzt sollte der Cluster im Katastrophenfall weiter funktionieren. Dies ist durch eine räumliche Trennung zu erreichen. Im Extremfall werden die Cluster-Knoten dabei mehrere Kilometer voneinander entfernt in verschiedenen Rechenzentren platziert. Hierbei ist zu wiederrum zu beachten, dass für eine Failover/Takeover schnelle WAN-Leitungen benötigt werden, was neben den Mehrfach-Kosten für die einzelnen Knoten die für einen Cluster nötigen Investitionen weiter in die Höhe treibt.

HPC- und Load Balancing-Cluster
Eine weitere Cluster-Form sind High Performance Computing-Cluster, die oft auch als Superrechner bezeichnet werden. Ziel einer derartigen Konstruktion ist es, extrem anspruchsvolle Rechenaufgaben in einzelne Bestandteile zu zerlegen, auf die Knoten zu verteilen und dort gleichzeitig ausführen zu lassen. Zu diesem Zweck ist ein extrem schnelles Netzwerk vonnöten, so dass hier oft InfiniBand zum Einsatz kommt. Die meisten der auf einem HPC-Cluster basierenden Supercomputer werden derzeit unter Linux betrieben. Derart leistungsfähige, geclusterte Infrastrukturen kommen bei großen Suchmaschinen- und Cloud-Anbietern wie Google oder Amazon zum Einsatz. Bei Google etwa bestehen die einzelnen Knoten aus handelsüblichen PCs, die mit Hilfe des Google File Systems (GFS) für einen hohen Datendurchsatz sorgen.

Load Balancing-Cluster haben ähnlich wie HPC-Cluster die Lastverteilung auf mehrere Maschinen zum Ziel. Auch hier sind mögliche Einsatzgebiete Umgebungen mit sehr hohen Anforderungen an Computerleistung. Oft kommen derartige Cluster bei Webservern zum Einsatz, wenn es darum geht, Anfragen anderer Rechner aus dem Internet simultan mit hohem Tempo zu verarbeiten – ein einzelner Host kann nur eine limitierte Menge an HTTP-Anfragen auf einmal beantworten und stellt somit einen Flaschenhals dar. Mögliche Prozeduren bei LB-Clustern sind das Vorschalten eines Systems, etwa eines Load Balancers oder Frontend Servers, der die Anfragen aufteilt, oder die Nutzung von DNS mit dem Round-Robin-Verfahren.

ln

Ähnliche Beiträge

Backup und Recovery

In unserer Grundlagen-Rubrik erklären wir wichtige Aufgaben und Technologien aus dem Arbeitsalltag eines Netzwerk- und Systemadministrators. Hier erfahren Sie anhand prägnanter Erklärungen zu den wichtigsten Begriffen des jeweiligen Themenfeldes Hintergründe und Zusammenhänge in kompakter, praxisnaher Form.

Backups spielen eine zentrale Rolle in der Datensicherheit. Nur mit ihrer Hilfe lassen sich Datenverluste zuverlässig vermeiden, die etwa durch technische Defekte oder Bedienfehler entstehen. Je nach Art der Daten, den laufenden Änderungen an ihnen und der benötigten Wiederherstellzeit im Fall eines Recovery bieten sich unterschiedliche Backup-Methoden an. Nicht zuletzt spielt die Kostenfrage eine Rolle, wenn es um die Wahl von Backup-Medien und -Methoden geht.

Leitfaden Storage-Virtualisierung

Storage-Virtualisierung entkoppelt Speicherhardware von ihrer tatsächlichen Nutzung. Dieser praktische Leitfaden zeigt die Funktionsweise, Virtualisierungs-Modelle und bewährte Schritte zur erfolgreichen Implementierung. Eine Softwareschicht abstrahiert Speicherhardware und stellt virtuelle Speicherpools bereit. Dadurch wird die Speicherverwaltung vereinfacht, Kapazität dynamisch bereitgestellt und die Ausfallsicherheit erhöht.

Storage-Virtualisierung

In unserer Grundlagen-Rubrik erklären wir wichtige Aufgaben und Technologien aus dem Arbeitsalltag eines Netzwerk- und Systemadministrators. Ziel der Storage-Virtualisierung ist es, im Rechenzentrum für Konsolidierung zu sorgen, Ressourcen effizient auszunutzen und die Verwaltung komplexer Speicherlandschaften zu vereinfachen.