Einführung in SUSE Linux Enterprise High Availability
- WAS?
In diesem Artikel werden die Funktionen, die Architektur, die Kernkonzepte und die Vorteile von SUSE Linux Enterprise High Availability erläutert.
- WARUM?
Erfahren Sie mehr über SUSE Linux Enterprise High Availability, um zu entscheiden, ob Sie es verwenden möchten, oder bevor Sie zum ersten Mal einen Cluster einrichten.
- AUFWAND
Etwa 20 Minuten Lesedauer.
1 Was ist SUSE Linux Enterprise High Availability? #
Bei SUSE® Linux Enterprise High Availability handelt es sich um eine integrierte Suite mit Open Source-Clustering-Technologien. Ein Hochverfügbarkeits-Cluster ist eine Gruppe von Servern (Knoten), die zusammenarbeiten, um die höchstmögliche Verfügbarkeit von Daten, Anwendungen und Diensten sicherzustellen. Fällt ein Knoten aus, werden die Ressourcen, die auf diesem Knoten ausgeführt wurden, mit geringer oder ohne Ausfallzeit auf einen anderen Knoten verschoben. Sie können auch manuell Ressourcen zwischen den Knoten verschieben, um die Last auszugleichen oder um Wartungsaufgaben mit minimaler Ausfallzeit auszuführen. Bei Clusterressourcen kann es sich um Websites, E-Mail-Server, Datenbanken, Dateisysteme, virtuelle Rechner und andere serverbasierte Anwendungen oder Dienste handeln, die dem Benutzer stets zur Verfügung stehen müssen.
1.1 Produktverfügbarkeit #
SUSE Linux Enterprise High Availability ist mit den folgenden Produkten verfügbar:
- SUSE Linux Enterprise Server
High Availability ist als Erweiterung verfügbar. Dafür ist ein zusätzlicher Registrierungscode erforderlich.
- SUSE Linux Enterprise Server für SAP-Anwendungen
High Availability ist als Modul enthalten. Es ist kein zusätzlicher Registrierungscode erforderlich.
1.2 Funktionen und Vorteile #
SUSE Linux Enterprise High Availability eliminiert Single Points of Failure und verbessert so die Verfügbarkeit und Verwaltbarkeit wichtiger Ressourcen. Dadurch gewährleisten Sie Geschäftskontinuität, schützen die Datenintegrität und reduzieren ungeplante Ausfallzeiten bei kritischen Workloads.
- Mehrere Clustering-Optionen
SUSE Linux Enterprise High Availability-Cluster können auf unterschiedliche Weise konfiguriert werden:
Lokale Cluster: Ein einzelner Cluster an einem Standort (z. B. alle Knoten befinden sich in einem Rechenzentrum). Die Netzwerklatenz ist minimal. Auf den Speicher wird in der Regel von allen Knoten synchron zugegriffen.
Metro-Cluster („ausgedehnte“ Cluster): Ein einzelner Cluster, der sich über mehrere Gebäude oder Rechenzentren erstrecken kann, wobei alle Standorte über Fibre Channel verbunden sind. Die Netzwerklatenz ist in der Regel gering. Der Speicher wird häufig durch Spiegelung oder synchrone Reproduktion reproduziert.
Hybride Cluster: Virtuelle Server können zusammen mit physischen Servern geclustert werden. Dies verbessert die Dienstverfügbarkeit und die Ressourcennutzung.
Wichtig: Keine Unterstützung für gemischte ArchitekturenCluster mit gemischten Architekturen werden nicht unterstützt. Alle Knoten im selben Cluster müssen dieselbe Prozessorplattform haben: AMD64/Intel 64, IBM Z oder POWER.
- Flexibles und skalierbares Ressourcenmanagement
SUSE Linux Enterprise High Availability unterstützt Cluster mit bis zu 32 Knoten. Ressourcen können automatisch auf einen anderen Knoten verschoben werden, wenn der aktuelle Knoten ausfällt, oder sie können manuell verschoben werden, um Hardwarefehler zu beheben oder die Workload auszugleichen. Ressourcen können auch so konfiguriert werden, dass sie zu einem bestimmten Zeitpunkt wieder auf die reparierten Knoten verschoben werden. Der Cluster kann Ressourcen auf der Grundlage konfigurierbarer Regeln anhalten und starten.
- Breite Palette an Ressourcenagenten
Der Cluster verwaltet die Ressourcen über Ressourcenagenten (RAs). SUSE Linux Enterprise High Availability unterstützt viele verschiedene Ressourcenagenten, die für die Verwaltung bestimmter Anwendungs- oder Diensttypen konzipiert sind, einschließlich Apache, IPv4, IPv6, NFS und viele mehr. Im Lieferumfang sind auch Ressourcenagenten für Anwendungen von Drittanbietern wie IBM WebSphere Application Server enthalten.
- Speicher- und Datenreproduktion
SUSE Linux Enterprise High Availability unterstützt Fibre Channel- oder iSCSI-SANs (Storage Area Networks), sodass Sie Serverspeicher bei Bedarf dynamisch oder neu zuweisen können. Außerdem ist er mit GFS2 und dem Cluster-Logical Volume Manager (Cluster-LVM) ausgestattet. Verwenden Sie zur Datenreproduktion DRBD*, um die Daten einer Ressource vom aktiven Knoten auf einen Standby-Knoten zu spiegeln.
- Unterstützung für virtualisierte Umgebungen
SUSE Linux Enterprise High Availability unterstützt das gemischte Clustering von physischen und virtuellen Linux-Servern. Der Cluster kann Ressourcen erkennen und verwalten, die auf virtuellen Servern und physischen Servern ausgeführt werden, und er kann auch virtuelle KVM-Rechner als Ressourcen verwalten.
- Fehlerbehebungsfunktionen
Im Lieferumfang von SUSE Linux Enterprise High Availability ist Relax-and-Recover (ReaR) enthalten, ein Fehlerbehebungs-Framework, mit Sie Systeme sichern und wiederherstellen können.
- Benutzerfreundliche Verwaltungswerkzeuge
SUSE Linux Enterprise High Availability umfasst Werkzeuge für die Konfiguration und Verwaltung:
Die CRM-Shell (
crmsh) ist eine Befehlszeilenschnittstelle für die Installation und Einrichtung von High Availability-Clustern, die Konfiguration von Ressourcen und die Ausführung von Überwachungs- und Verwaltungsaufgaben.Hawk ist eine webbasierte grafische Oberfläche zur Überwachung und Verwaltung von High Availability-Clustern. Darauf kann mit einem grafischen Webbrowser von jedem Linux- oder Nicht-Linux-Rechner aus, der eine Verbindung mit den Clusterknoten herstellen kann, zugegriffen werden.
1.3 Wie funktioniert High Availability? #
Die folgende Abbildung zeigt einen Cluster mit drei Knoten. Auf jedem der Knoten ist ein Webserver installiert, der zwei Websites hostet. Alle Daten, Grafiken und Inhalte für diese Websites sind auf einem freigegebenen Festplatten-Subsystem gespeichert, das mit allen Knoten verbunden ist.
Im normalen Clusterbetrieb befindet sich jeder Knoten in ständiger Kommunikation mit den anderen Knoten im Cluster und überprüft zur Fehlererkennung in regelmäßigen Abständen die Ressourcen.
Die folgende Abbildung zeigt, wie der Cluster Ressourcen verschiebt, wenn Webserver 1 aufgrund von Hardware- oder Softwareproblemen ausfällt.
Website A wird auf Webserver 2 und Website B auf Webserver 3 verschoben. Die Websites sind weiterhin verfügbar und werden gleichmäßig auf die verbleibenden Clusterknoten verteilt.
Als Webserver 1 ausfiel, hat die High Availability-Software die folgenden Aufgaben ausgeführt:
Es wurde ein Fehler festgestellt und überprüft, ob Webserver 1 wirklich ausgefallen ist.
Die gemeinsam genutzten Datenverzeichnisse, die auf Webserver 1 eingebunden waren, wurden auf Webserver 2 und 3 neu eingebunden.
Die auf Webserver 1 ausgeführten Anwendungen wurden auf Webserver 2 und Webserver 3 neu gestartet.
Die Zertifikate und IP-Adressen wurden an die Webserver 2 und 3 übertragen.
In diesem Beispiel erfolgte der Failover schnell und die Benutzer konnten innerhalb von Sekunden wieder auf die Websites zugreifen – und zwar in der Regel, ohne sich erneut anmelden zu müssen.
Wenn Webserver 1 in den normalen Betriebszustand zurückkehrt, können Website A und Website B automatisch wieder auf Webserver 1 verschoben werden „(Failback“). Dadurch entsteht eine gewisse Ausfallzeit. Alternativ können Sie die Ressourcen so konfigurieren, dass nur zu einem bestimmten Zeitpunkt ein Failback erfolgt, der eine minimale Unterbrechung des Diensts verursacht.
2 Kernkonzepte #
In diesem Abschnitt werden die Kernkonzepte von SUSE Linux Enterprise High Availability erläutert.
2.1 Cluster und Knoten #
Ein Hochverfügbarkeits-Cluster ist eine Gruppe von Servern, die zusammenarbeiten, um die Verfügbarkeit von Anwendungen oder Diensten sicherzustellen. Server, die als Mitglieder des Clusters konfiguriert sind, werden als Knoten bezeichnet. Fällt ein Knoten aus, können die auf ihm ausgeführten Ressourcen auf einen anderen Knoten im Cluster verschoben werden. SUSE Linux Enterprise High Availability unterstützt Cluster mit bis zu 32 Knoten. Cluster fallen jedoch in der Regel in eine von zwei Kategorien: Cluster mit zwei Knoten oder Cluster mit einer ungeraden Anzahl von Knoten (in der Regel drei oder fünf).
2.2 Kommunikationskanäle #
Die interne Clusterkommunikation wird von Corosync übernommen. Die Corosync Cluster Engine ist ein Gruppenkommunikationssystem, das Messaging-, Mitgliedschafts- und Quorum-Informationen zum Cluster bereitstellt. In SUSE Linux Enterprise High Availability 16 verwendet Corosync „kronosnet“ (knet) als Standard-Transportprotokoll.
Es wird dringend empfohlen, mindestens zwei Kommunikationskanäle für den Cluster zu konfigurieren. Die bevorzugte Methode ist die Verwendung von Netzwerkgeräte-Bonding. Wenn Sie kein Netzwerk-Bonding verwenden können, können Sie in Corosync einen redundanten Kommunikationskanal einrichten (auch bekannt als zweiter „Ring“).
2.3 Ressourcenmanagement #
In einem High Availability-Cluster werden die Anwendungen und Dienste, die hochverfügbar sein müssen, als Ressourcen bezeichnet. Bei Clusterressourcen kann es sich um Websites, E-Mail-Server, Datenbanken, Dateisysteme, virtuelle Rechner und andere serverbasierte Anwendungen oder Dienste handeln, die Sie den Benutzern stets zur Verfügung stellen möchten. Sie können Ressourcen bei Bedarf starten, anhalten, überwachen und verschieben. Sie können auch angeben, ob bestimmte Ressourcen zusammen auf demselben Knoten ausgeführt werden sollen oder ob sie nacheinander gestartet und angehalten werden sollen. Wenn ein Clusterknoten ausfällt, gehen die auf ihm ausgeführten Ressourcen nicht verloren, sondern werden auf einen anderen Knoten verschoben (Failover).
In SUSE Linux Enterprise High Availability ist der Cluster-Ressourcenmanager (CRM) Pacemaker, der alle Clusterdienste verwaltet und koordiniert. Pacemaker verwendet Ressourcenagenten (RAs), um Ressourcen zu starten, anzuhalten und zu überwachen. Ein Ressourcenagent abstrahiert die von ihm verwaltete Ressource und präsentiert dem Cluster ihren Status. SUSE Linux Enterprise High Availability unterstützt viele verschiedene Ressourcenagenten, die für die Verwaltung bestimmter Anwendungs- oder Diensttypen konzipiert sind.
2.4 Knoten-Fencing #
Bei einem Split Brain-Szenario werden Clusterknoten in zwei oder mehr Gruppen (oder Partitionen) unterteilt, die sich gegenseitig nicht erkennen können. Dies kann beispielsweise durch einen Hardware- oder Softwarefehler oder eine fehlerhafte Netzwerkverbindung erfolgen. Ein Split Brain-Szenario kann durch das Fencing (Zurücksetzen oder Ausschalten) eines oder mehrerer Knoten aufgelöst werden. Beim Fencing auf Knotenebene wird verhindert, dass ein ausgefallener Knoten auf gemeinsam genutzte Ressourcen zugreift und dass Clusterressourcen auf einem Knoten mit unsicherem Status ausgeführt werden.
SUSE Linux Enterprise High Availability verwendet STONITH als Fencing-Mechanismus für Knoten. Damit sie unterstützt werden, müssen alle SUSE Linux Enterprise High Availability-Cluster über mindestens ein STONITH-Gerät verfügen. Für kritische Workloads wird die Verwendung von zwei oder drei STONITH-Geräten empfohlen: Als STONITH-Gerät kann entweder ein physisches Gerät (ein Netzschalter) oder ein Softwaremechanismus (SBD in Kombination mit einem Watchdog) verwendet werden.
2.5 Quorum-Bestimmung #
Wenn die Kommunikation zwischen einem oder mehreren Knoten und dem Rest des Clusters ausfällt (ein Split Brain-Szenario, entsteht eine Clusterpartition. Die Knoten können nur mit anderen Knoten in derselben Partition kommunizieren und erkennen die anderen Knoten nicht. Eine Clusterpartition hat ein Quorum (oder ist „quorumfähig“), wenn sie über die Mehrheit der Knoten (oder „Stimmen“) verfügt. Dies wird durch die Berechnung des Quorums bestimmt. Das Quorum muss berechnet werden, um das Fencing von nicht quorumfähigen Knoten zu ermöglichen.
Corosync berechnet das Quorum anhand der folgenden Formel:
N ≥ C/2 + 1 N = minimum number of operational nodes C = number of cluster nodes
Ein Cluster mit fünf Knoten benötigt beispielsweise mindestens drei betriebsbereite Knoten, um das Quorum aufrechtzuerhalten.
Bei Clustern mit einer geraden Anzahl von Knoten, insbesondere bei Clustern mit zwei Knoten, kann es sein, dass die Anzahl der Knoten in jeder Partition gleich ist und daher keine Mehrheit besteht. Um diese Situation zu vermeiden, können Sie den Cluster so konfigurieren, dass er QDevice in Kombination mit QNetd verwendet. QNetd ist ein Vermittler, der außerhalb des Clusters ausgeführt wird. Er kommuniziert mit dem QDevice-Daemon, der auf den Clusterknoten ausgeführt wird, um eine konfigurierbare Anzahl von Stimmen für die Berechnung des Quorums bereitzustellen. Dadurch kann ein Cluster mehr Knotenausfälle verkraften, als die Standard-Quorum-Regeln zulassen.
2.6 Speicher- und Datenreproduktion #
High Availability-Cluster können ein gemeinsam genutztes Festplatten-Subsystem enthalten, das über Fibre Channel oder iSCSI verbunden ist. Bei Ausfall eines Knotens werden die zuvor auf diesem ausgefallenen Knoten eingebundenen Festplattenverzeichnisse automatisch auf einem anderen Knoten im Cluster eingebunden. Auf diese Weise können die Benutzer kontinuierlich auf die Verzeichnisse des gemeinsamen genutzten Festplatten-Subsystems zugreifen. Zu den auf der gemeinsam genutzten Festplatte gespeicherten Inhalten können Daten, Anwendungen und Dienste gehören.
Die folgende Abbildung zeigt, wie eine typische Konfiguration eines Fibre Channel-Clusters aussehen könnte. Die grünen Linien stellen Verbindungen mit einem Ethernet-Netzschalter dar, der einen Knoten neu starten kann, wenn bei einer Ping-Anfrage ein Fehler auftritt.
Die folgende Abbildung zeigt, wie eine typische Konfiguration eines iSCSI-Clusters aussehen könnte.
Obwohl die meisten Cluster ein gemeinsam genutztes Festplatten-Subsystem enthalten, können Sie auch einen Cluster ohne ein gemeinsam genutztes Festplatten-Subsystem erstellen. Die folgende Abbildung zeigt, wie ein Cluster ohne ein gemeinsam genutztes Festplatten-Subsystem aussehen könnte.
3 Überblick über die Architektur #
In diesem Abschnitt werden die Architektur eines SUSE Linux Enterprise High Availability-Clusters und die Interoperabilität der verschiedenen Komponenten erläutert.
3.1 Architekturschichten #
SUSE Linux Enterprise High Availability verfügt über eine mehrschichtige Architektur. Die folgende Abbildung zeigt die verschiedenen Schichten und ihre jeweiligen Komponenten.
- Mitgliedschaft und Messaging (Corosync)
Die Corosync Cluster Engine ist ein Gruppenkommunikationssystem, das Messaging-, Mitgliedschafts- und Quorum-Informationen zum Cluster bereitstellt.
- Cluster-Ressourcenmanager (Pacemaker)
Pacemaker ist der Cluster-Ressourcenmanager, der auf Ereignisse im Cluster reagiert. Ereignisse können Knoten sein, die dem Cluster beitreten oder ihn verlassen, der Ausfall von Ressourcen oder geplante Aktivitäten wie Wartungen. Der Daemon
pacemakerdstartet und überwacht alle anderen zugehörigen Daemons.Die folgenden Komponenten sind auch Teil der Pacemaker-Schicht:
Cluster-Informationsdatenbank (CIB)
Pacemaker verwaltet die Cluster-Informationsdatenbank (CIB) auf jedem Knoten. Dies ist eine XML-Darstellung der gesamten Clusterkonfiguration (einschließlich Clusteroptionen, -knoten, -ressourcen, -einschränkungen und der Beziehungen zueinander). Die CIB spiegelt auch den aktuellen Clusterstatus wider. Der CIB-Manager (
pacemaker-based) sorgt dafür, dass die CIB im gesamten Cluster synchron bleibt, und verarbeitet das Lesen und Schreiben der Clusterkonfiguration und den Status.Designierter Koordinator (DC, Designated Coordinator)
Der Daemon
pacemaker-controldist der Cluster-Controller, der alle Aktionen koordiniert. Dieser Daemon verfügt über eine Instanz auf jedem Clusterknoten, aber nur eine Instanz wird als designierter Koordinator gewählt. Der designierte Koordinator wird gewählt, wenn die Clusterdienste starten oder wenn der aktuelle designierte Koordinator ausfällt oder den Cluster verlässt. Der designierte Koordinator entscheidet, ob eine clusterweite Änderung vorgenommen werden muss, z. B. das Fencing eines Knotens oder das Verschieben von Ressourcen.Scheduler
Der Scheduler wird auf jedem Knoten als Daemon
pacemaker-schedulerdausgeführt, ist aber nur auf dem designierten Koordinator aktiv. Wenn ein Clusterwechsel erforderlich ist, berechnet der Scheduler den erwarteten nächsten Status des Clusters und bestimmt, welche Aktionen geplant werden müssen, um diesen Status zu erreichen.
- Lokaler Executor
Der lokale Executor befindet sich zwischen der Pacemaker-Schicht und der Ressourcenschicht auf jedem Knoten. Mit dem Daemon
pacemaker-execdkann Pacemaker Ressourcen starten, anhalten und überwachen.- Ressourcen und Ressourcenagenten
In einem High Availability-Cluster werden die Dienste, die hochverfügbar sein müssen, als Ressourcen bezeichnet. Ressourcenagenten (RAs) sind Skripte, die Clusterressourcen starten, anhalten und überwachen.
3.2 Prozessfluss #
Viele Aktionen, die im Cluster ausgeführt werden, führen zur einer clusterweiten Änderung, z. B. das Hinzufügen oder Entfernen einer Clusterressource oder das Ändern von Ressourcenbeschränkungen. Im folgenden Beispiel wird erläutert, was im Cluster geschieht, wenn Sie eine solche Aktion ausführen:
Sie verwenden die CRM-Shell oder Hawk, um eine neue Clusterressource hinzuzufügen. Sie können dies von jedem Knoten im Cluster aus vornehmen. Durch das Hinzufügen der Ressource wird die CIB geändert.
Die Änderung der CIB wird auf allen Clusterknoten reproduziert.
Anhand der Informationen in der CIB berechnet
pacemaker-schedulerdden idealen Status des Clusters und wie dieser erreicht werden sollte. Es gibt eine Liste mit Anweisungen an den designierten Koordinator weiter.Der designierte Koordinator sendet Befehle über Corosync, die von den
pacemaker-controld-Instanzen auf den anderen Knoten empfangen werden.Jeder Knoten verwendet seinen lokalen Executor (
pacemaker-execd), um Änderungen an den Ressourcen vorzunehmen. Der Daemonpacemaker-execderkennt Cluster nicht und interagiert direkt mit den Ressourcenagenten.Alle Knoten melden die Ergebnisse ihrer Vorgängen wieder an den designierten Koordinator.
Wenn ein Fencing erforderlich ist, ruft
pacemaker-fencedden Fencing-Agenten auf, um das Fencing für den Knoten vorzunehmen.Nachdem der designierte Koordinator zu dem Schluss gekommen ist, dass alle erforderlichen Vorgänge erfolgreich ausgeführt wurden, kehrt der Cluster in den Leerlauf zurück und wartet auf weitere Ereignisse.
Wenn ein Vorgang nicht wie geplant ausgeführt wurde, wird
pacemaker-schedulerderneut aufgerufen, wobei die neuen Informationen in der CIB gespeichert werden.
4 Installationsoptionen #
Dieser Abschnitt beschreibt die verschiedenen Optionen zum Installieren eines SUSE Linux Enterprise High Availability-Clusters und enthält Links zu den verfügbaren Installationshandbüchern.
In den folgenden Kurzanleitungen wird erklärt, wie Sie einen minimalen Cluster mit Standardeinstellungen einrichten:
- Installing a basic two-node High Availability cluster
In dieser Kurzanleitung wird erklärt, wie Sie einen einfachen High Availability-Cluster mit zwei Knoten mit QDevice, festplattenlosem SBD und Software-Watchdog einrichten. Für diese Einrichtung ist QDevice erforderlich, damit festplattenloses SBD Split Brain-Szenarien für den Cluster mit zwei Knoten verarbeiten kann.
- Installing a basic three-node High Availability cluster
In dieser Kurzanleitung wird erklärt, wie Sie einen einfachen High Availability-Cluster mit drei Knoten mit festplattenlosem SBD und Software-Watchdog einrichten. Für diese Einrichtung sind drei Knoten erforderlich, damit festplattenloses SBD Split Brain-Szenarien ohne Hilfe von QDevice verarbeiten kann.
5 Weitere Informationen #
Weitere Informationen zu SUSE Linux Enterprise High Availability finden Sie in den folgenden Ressourcen:
- https://clusterlabs.org/
Das Upstream-Projekt für viele der Komponenten von SUSE Linux Enterprise High Availability.
- https://www.clusterlabs.org/pacemaker/doc/
Dokumentation zu Pacemaker. Informationen zu SUSE Linux Enterprise High Availability 16 finden Sie in der Dokumentation zu Pacemaker 3.
6 Rechtliche Hinweise #
Copyright © 2006–2025 , SUSE LLC und Mitwirkende. Alle Rechte vorbehalten.
Es wird die Genehmigung erteilt, dieses Dokument unter den Bedingungen der GNU Free Documentation License, Version 1.2 oder (optional) Version 1.3 zu vervielfältigen, zu verbreiten und/oder zu verändern; die unveränderlichen Abschnitte hierbei sind der Urheberrechtshinweis und die Lizenzbedingungen. Eine Kopie dieser Lizenz (Version 1.2) finden Sie in Abschnitt „GNU Free Documentation License“.
Die SUSE Marken finden Sie in https://www.suse.com/company/legal/. Alle anderen Marken von Drittanbietern sind Besitz ihrer jeweiligen Eigentümer. Markensymbole (®, ™ usw.) kennzeichnen Marken von SUSE und ihren Tochtergesellschaften. Sternchen (*) kennzeichnen Marken von Drittanbietern.
Alle Informationen in diesem Buch wurden mit größter Sorgfalt zusammengestellt. Auch hierdurch kann jedoch keine hundertprozentige Richtigkeit gewährleistet werden. Weder SUSE LLC noch ihre Tochtergesellschaften noch die Autoren noch die Übersetzer können für mögliche Fehler und deren Folgen haftbar gemacht werden.