Website-Suche

Einführung und Vor-/Nachteile des Clusterings unter Linux – Teil 1


Hallo zusammen, dieses Mal habe ich beschlossen, mein Wissen über Linux-Clustering in einer Reihe von Leitfäden mit dem Titel „Linux-Clustering für ein Failover-Szenario“ mit Ihnen zu teilen.

Im Folgenden finden Sie die 4-teilige Serie zum Thema Clustering unter Linux:

Zunächst müssen Sie wissen, was Clustering ist, wie es in der Industrie eingesetzt wird und welche Vor- und Nachteile es hat usw.

Was ist Clustering?

Beim Clustering wird die Konnektivität zwischen zwei oder mehr Servern hergestellt, damit diese wie ein einziger Server funktionieren. Clustering ist eine unter Sys-Ingenieuren sehr beliebte Technik, mit der sie Server als Failover-System, Lastausgleichssystem oder Parallelverarbeitungseinheit gruppieren können.

Mit dieser Reihe von Anleitungen möchte ich Sie dabei unterstützen, einen Linux-Cluster mit zwei Knoten auf RedHat/CentOS für ein Failover-Szenario zu erstellen.

Da Sie nun eine grundlegende Vorstellung davon haben, was Clustering ist, wollen wir herausfinden, was es bedeutet, wenn es um Failover-Clustering geht. Ein Failover-Cluster ist eine Gruppe von Servern, die zusammenarbeiten, um die hohe Verfügbarkeit von Anwendungen und Diensten aufrechtzuerhalten.

Wenn beispielsweise ein Server irgendwann ausfällt, übernimmt ein anderer Knoten (Server) die Last und der Endbenutzer erfährt keine Ausfallzeit. Für ein solches Szenario benötigen wir mindestens 2 oder 3 Server, um die richtigen Konfigurationen vorzunehmen.

Ich bevorzuge die Verwendung von 3 Servern; Ein Server fungiert als Red-Hat-Cluster-fähiger Server und andere als Knoten (Back-End-Server). Schauen wir uns zum besseren Verständnis das folgende Diagramm an.

Cluster Server: 172.16.1.250
Hostname: clserver.test.net

node01: 172.16.1.222
Hostname: nd01server.test.net

node02: 172.16.1.223
Hostname: nd02server.test.net   

Im obigen Szenario erfolgt die Clusterverwaltung durch einen separaten Server, der zwei Knoten verwaltet, wie im Diagramm dargestellt. Der Clusterverwaltungsserver sendet ständig Heartbeat-Signale an beide Knoten, um zu prüfen, ob jemand ausfällt. Wenn einer ausgefallen ist, übernimmt der andere Knoten die Last.

Vorteile von Clustering-Servern

  1. Das Clustering von Servern ist eine vollständig skalierbare Lösung. Anschließend können Sie dem Cluster Ressourcen hinzufügen.
  2. Wenn ein Server im Cluster Wartungsarbeiten benötigt, können Sie dies tun, indem Sie ihn stoppen und gleichzeitig die Last an andere Server übergeben.
  3. Unter den Hochverfügbarkeitsoptionen nimmt Clustering eine besondere Stellung ein, da es zuverlässig und einfach zu konfigurieren ist. Sollte ein Server außerdem Probleme bei der Bereitstellung der Dienste haben, können andere Server im Cluster die Last übernehmen.

Nachteile von Clustering-Servern

  1. Die Kosten sind hoch. Da der Cluster eine gute Hardware und ein gutes Design erfordert, ist er im Vergleich zu einem nicht geclusterten Serververwaltungsdesign kostspielig. Ein Hauptnachteil dieses speziellen Designs ist, dass es nicht kostengünstig ist.
  2. Da für die Clusterbildung mehr Server und Hardware erforderlich sind, ist die Überwachung und Wartung schwierig. So erhöhen Sie die Infrastruktur.

Sehen wir uns nun an, welche Art von Paketen/Installationen wir benötigen, um dieses Setup erfolgreich zu konfigurieren. Die folgenden Pakete/RPMs können von rpmfind.net heruntergeladen werden.

  1. Ricci (ricci-0.16.2-75.el6.x86_64.rpm)
  2. Luci (luci-0.26.0-63.el6.centos.x86_64.rpm)
  3. Mod_cluster (modcluster-0.16.2-29.el6.x86_64.rpm)
  4. CCS (ccs-0.16.2-75.el6_6.2.x86_64.rpm)
  5. CMAN(cman-3.0.12.1-68.el6.x86_64.rpm)
  6. Clusterlib (clusterlib-3.0.12.1-68.el6.x86_64.rpm)

Schauen wir uns an, was die einzelnen Installationen für uns tun und welche Bedeutung sie haben.

  1. Ricci ist ein Daemon, der für die Clusterverwaltung und -konfiguration verwendet wird. Es verteilt/versendet Empfangsnachrichten an die konfigurierten Knoten.
  2. Luci ist ein Server, der auf dem Cluster-Management-Server läuft und mit mehreren anderen Knoten kommuniziert. Es bietet eine Weboberfläche, um die Arbeit zu vereinfachen.
  3. Mod_cluster ist ein Load-Balancer-Dienstprogramm, das auf httpd-Diensten basiert und hier verwendet wird, um die eingehenden Anforderungen mit den zugrunde liegenden Knoten zu kommunizieren.
  4. CCS wird verwendet, um die Clusterkonfiguration auf Remote-Knoten über Ricci zu erstellen und zu ändern. Es wird auch zum Starten und Stoppen der Clusterdienste verwendet.
  5. CMAN ist neben Ricci und Luci eines der wichtigsten Dienstprogramme für dieses spezielle Setup, da es als Cluster-Manager fungiert. Eigentlich steht cman für CLUSTER MANAGER. Es handelt sich um ein Hochverfügbarkeits-Add-on für RedHat, das auf die Knoten im Cluster verteilt wird.

Lesen Sie den Artikel, verstehen Sie das Szenario, für das wir die Lösung erstellen werden, und legen Sie die Voraussetzungen für die Implementierung fest. Kommen wir zu Teil 2 in unserem kommenden Artikel, in dem wir lernen, wie man den Cluster für das gegebene Szenario installiert und erstellt.

Verweise:

  1. ch-cman-Dokumentation
  2. Mod-Cluster-Dokumentation

Bleiben Sie mit Tecmint in Verbindung, um praktische und aktuelle Anleitungen zu erhalten. Seien Sie gespannt auf Teil 02 (Linux-Server-Clustering mit 2 Knoten für ein Failover-Szenario auf RedHAT/CentOS – Erstellen des Clusters).