Clusterbau: Hochverfügbarkeit mit Linux - Michael Schwarzkopff - E-Book

Clusterbau: Hochverfügbarkeit mit Linux E-Book

Michael Schwarzkopff

5,0

Beschreibung

Von modernen IT-Diensten wird erwartet, dass sie ohne wahrnehmbare Ausfallzeit kontinuierlich zur Verfügung stehen. Wie Systemadministratoren dies mit Hilfe des leistungsfähigen Systems aus pacemaker und corosync erreichen können, zeigt Clusterprofi Michael Schwartzkopff in diesem Handbuch. Das Standardwerk zur Hochverfügbarkeit wurde für die 3. Auflage aktualisiert und um ein Kapitel zur geeigneten Infrastruktur von Clustern ergänzt. Das zentrale Prinzip: Redundanz, Redundanz, Redundanz: Das Buch erläutert, was Hochverfügbarkeit eigentlich bedeutet, führt die zentralen Begriffe ein und erklärt, worauf es beim Einrichten von Clustern ankommt. Sie erfahren dann, wie corosync und pacemaker funktionieren und welche Aufgaben diese für Sie lösen können. Alles ist eine Ressource: Nach der Installation und Konfiguration der Software geht es um die Einrichtung und Verwaltung Ihrer Ressourcen. Gemäß dem Motto "If we can manage it, it's a resource" tragen Sie in der zentralen Cluster Information Base (CIB) alle Dienste ein und legen Verknüpfungen fest. Sei es mit der GUI oder über die Kommandozeile -- nun haben Sie Ihre Ressourcen und die Knoten des Clusters fest im Griff. Der Experte zeigt, wie's geht: Grau ist alle Theorie! Am meisten lernt man doch von Menschen mit reicher Praxiserfahrung: Neben den Tipps und Tricks zu Planung und Betrieb ist das Kapitel mit typischen konkreten Szenarien besonders wertvoll: - Distributed Redundant Block Devices (DRBD) als Grundlage der Datenspeicherung im Cluster - DRBD in einem NFSv4-Dateiserver oder einem iSCSI-SAN - Cluster als Basis für virtuelle Rechner, die als komplette Einheit verschoben werden können - Eine hochverfügbare Firewall

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 575

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
5,0 (16 Bewertungen)
16
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Clusterbau: Hochverfügbarkeit mit Linux

Michael Schwarzkopff

Published by O’Reilly Media Germany

Vorwort

Hochverfügbarkeit ist eine inzwischen ganz übliche und wichtige Anforderung an die IT-Abteilung oder den Dienstleister, der im Kundenauftrag ein neues System plant und aufbaut. Dieses Buch soll den Administratoren, Planern und dem Betrieb einen Leitfaden an die Hand geben, um dieser Anforderung mithilfe der Clustersoftware aus entsprechenden Projekten der Open-Source-Community gerecht zu werden.

Der Leser soll nach der Lektüre dieses Buchs in der Lage sein, solche Clustersysteme so zu entwerfen, aufzubauen und zu betreiben, dass eine Verfügbarkeit von 99,99 % oder mehr kein schönes Versprechen ist, sondern eine belastbare Zahl, die in Vereinbarungen mit Kunden überprüft werden kann. Außerdem kann der Referenzteil dieses Buchs immer wieder Verwendung als Nachschlagewerk finden.

Viele Administratoren setzen die Version 1 von heartbeat noch heute ein und sind bisher vor der scheinbar komplexen Konfiguration mit pacemaker zurückgeschreckt, weil sie dort ihre einfachen Konfigurationsdateien vermissen. Diesen Administratoren soll das vorliegende Werk helfen, den ersten Schritt zu einer Konfiguration mit dem neuen Cluster-Manager zu wagen. Es wird sich nämlich zeigen, dass man die Einstellungen auch hier in Dateien mittels einer einfachen Skriptsprache erstellt und der Administrator somit weiterhin die volle Kontrolle über den Cluster behält. Auch soll dieses Buch dabei helfen, diverse Missverständnisse im Hinblick auf den Übergang von Linux-HA mit heartbeat hin zu pacemaker mit corosync auszuräumen. In Kapitel 2, wird sich zeigen, dass sich die Verwaltung im Cluster aus dem Manager von heartbeat entwickelt hat.

Die Motivation, dieses Buch zu schreiben, ergab sich für mich aus der schieren Notwendigkeit, selbst solche Cluster zu entwerfen und zu betreiben. Ein Großteil der verfügbaren Dokumentationen und Beispielkonfigurationen im Internet bezog sich allerdings auf die Version 1 der Software, und die entsprechenden Beschreibungen für Version 2 waren noch nicht so ausgereift, wie ich mir sie gewünscht hätte. Da die Möglichkeiten, die die Nachfolgepakete bieten, aber so interessant sind, ergab sich aus der Projektdokumentation erst ein kleinerer Artikel, der sich dann zu einem ganzen Buch entwickelte. Ich hoffe, mit diesem Buch nun die durchgehende Dokumentation liefern zu können, die notwendig ist, um alle Feinheiten von pacemaker zu nutzen.

Clusterbau ist eine hohe Kunst, vor allem wenn der Cluster auch in nicht vorhergesehenen kritischen Situationen seinen Dienst ohne Unterbrechung verrichten soll. Deshalb werden an den Leser keine geringen Ansprüche gestellt. Natürlich sollte er sich im Netzwerk hinreichend auskennen und mit tcpdump umgehen können, um auf dieser Ebene einen Fehler finden zu können. Zudem sollte er mit der Applikation, die sein Cluster hochverfügbar im Netz anbieten soll, ebenfalls gut vertraut sein. Nur ein gutes Verständnis von den Applikationen bietet die Grundlage, diese Anwendung auch im Cluster zum Leben zu erwecken. Gerade bei Applikationen, die Benutzerdaten dynamisch verwalten, also bei denen diese Daten auf alle Knoten des Clusters repliziert werden müssen, ist dieser Überblick notwendig, damit es nicht zum GAU des totalen Datenverlusts kommt. Aber damit wird natürlich nicht vorausgesetzt, dass der Leser jede der beschriebenen Applikationen beherrscht. Nicht zuletzt kann man auch die Kunst, ein Logfile richtig zu lesen und zu interpretieren, nicht hoch genug einschätzen.

In der 3. Auflage des Buchs ist ein eigenes Kapitel für die Infrastruktur um einen Cluster herum dazugekommen. Es reicht nicht, wenn der Computercluster zwar die hohe Verfügbarkeit bietet, aber die Umgebung noch einige Schwachstellen aufweist. So soll dieses Kapitel dem Administrator helfen, auch diese Probleme anzugehen.

Aufbau des Buchs

Ich habe versucht, die trockene Theorie von Ressourcen und Bedingungen mit Beispielen so weit wie möglich aufzulockern. Da diese Theorie jedoch notwendig ist, mag es mir nicht überall gelungen sein. Es lassen sich außerdem nicht alle Situationen und Probleme mit Beispielen abdecken – ich hoffe allerdings, dass ein tiefes Verständnis der vermittelten Grundlagen den Administrator befähigt, seine speziellen Aufgaben erfolgreich zu lösen.

Aus diesem Grund habe ich folgende Struktur für das Buch gewählt:

In Kapitel 1, werden die Grundlagen der Theorie von Hochverfügbarkeit dargestellt und dem Planer die Mittel an die Hand gegeben, die Verfügbarkeit eines komplexen Systems zu berechnen, indem er es in einfache Einheiten zerlegt. Am Ende des Kapitels stelle ich die zwei bekanntesten Projekte zur Hochverfügbarkeit vor.

Kapitel 2, beschreibt allgemein die Funktionsweise von Clustern und welche Probleme neu auftreten, die es bei Einzelsystemen nicht gibt. Zu nennen ist hier vor allem der eventuell notwendige Datenaustausch zwischen den Knoten eines Clusters. Dazu werden die Lösungen, die die Clustersoftware für die einzelnen Probleme bietet, dargestellt. Der zweite Teil des Kapitels beschreibt die interne Architektur des Programmpakets, die Bedeutung und das Zusammenspiel der einzelnen Server, die notwendig sind, um die hohe Verfügbarkeit zu erreichen.

In Kapitel 3, wird die Installation der Software auf den gängigsten Linux-Distributionen erklärt. Der Administrator, der die volle Kontrolle über das Programmpaket haben will, erfährt im Anschluss, wie er den Quellcode selbst übersetzen kann. Eine Anfangskonfiguration, der erste Programmstart und die Konfiguration einer Ressource bilden den Abschluss dieses Kapitels. Beim Schreiben des Abschnitts über die Konfiguration der ersten Ressource habe ich den ungeduldigen Administrator vor Augen gehabt. Deshalb erfolgt die Konfiguration an dieser Stelle ohne Erläuterung der Grundlagen. Methodisch veranlagte Leser mögen mir diesen Abschnitt bitte verzeihen und können ihn überspringen.

Kapitel 4, liefert die Grundlagen zu Ressourcen und Bedingungen. In den ersten Versionen des Buchs war dieses Kapitel relativ theoretisch gehalten, aber meine Lektorin hat mich überzeugt, den Stoff mit reichlich Beispielen aufzulockern. Diese Teile, die immer den gerade besprochenen Aspekt der Konfiguration noch einmal verdeutlichen, bilden keine komplette Konfiguration, die sofort ausprobiert werden soll. Vielmehr sind diese Beispiele kleine Abschnitte, die der Leser später zur Konfiguration seines eigenen Projekts verwenden kann. Komplette Konfigurationen stelle ich im Kapitel 9, weiter unten vor.

Kapitel 5, enthält die Beschreibung der verschiedenen Werkzeuge, die dem Administrator zu Verfügung stehen, angefangen bei der GUI. Nachdem der Leser im vorhergehenden Kapitel die textbasierte Konfiguration kennengelernt hat, kann er hier viele Aspekte grafisch konfigurieren. Den zweiten Abschnitt des Kapitels bilden die Werkzeuge der Kommandozeile. Mithilfe dieser Werkzeuge können die oben vorgestellten Konfigurationsschnipsel eingegeben werden – nun haben wir alles zusammen, was wir brauchen, um loslegen zu können.

Nachdem in den vorherigen Kapiteln die Grundlagen der Clustersoftware besprochen wurden, kann der Leser mithilfe der Ratschläge aus Kapitel 6, sein eigenes Projekt planen, umsetzen und betreiben. Hier erhält der Administrator die Mittel, seinen Aufbau zu testen und bei Problemen die Ursachen der Fehler zu suchen.

Das nächste Kapitel, Kapitel 7, beschreibt die Infrastruktur, in der sich ein Cluster richtig wohlfühlt. Nur wenn die Umgebung auch die hohe Verfügbarkeit bietet, können Server und Software ihre Arbeit verrichten.

Sogenannte Agenten bilden die Schnittstelle zwischen der Clustersoftware und den eigentlichen Applikationen. In Kapitel 8, werden die einzelnen Arten detailliert besprochen. Alle Agenten, die in der Software des Projekts enthalten sind, werden individuell behandelt.

In Kapitel 9, werden mit den bisher besprochenen Werkzeugen die Konfigurationen folgender Anwendungsfälle vollständig erklärt:

Distributed Redundant Block Devices (DRBD) als eine Grundlage der Datenspeicherung im Cluster.

Die DRBDs finden Anwendung in einem NFSv4-Dateiserver und einem iSCSISAN.

Ein Cluster als Basis für virtuelle Rechner, die im Fehlerfall als komplette Einheit auf den anderen Knoten verschoben werden.

Eine redundant aufgebaute Firewall, die im Fehlerfall die Tabelle der bestehenden Verbindungen mit übernehmen kann und somit eine echte Hochverfügbarkeit bietet. Die zwei VPN-Lösungen, die am weitesten verbreitet sind (OpenVPN und OpenS/WAN), werden im Rahmen dieses Beispiels mit einbezogen.

Das vorletzte Kapitel 10, beschreibt die Kombination von Linux-HA mit der Software des Linux Virtual Server (LVS), sodass ein hochverfügbarer, also hoch skalierbarer Servercluster aufgebaut werden kann. Da dieses Beispiel ein bisschen ausführlicher auf die Aspekte von LVS eingeht, habe ich hier ein eigenes Kapitel eingefügt.

Kapitel 11, beschäftigt sich abschließend mit der optimalen Überwachung des Clusters und einigen Sicherheitsaspekten, die im Betrieb zu beachten sind.

Im Anhang A werden alle Optionen der zentralen Konfigurationsdatei ha.cf von heartbeat bzw. corosync.conf aufgeführt und einzeln erklärt.

An dieser Stelle möchte ich den Lesern viel Vergnügen bei der Lektüre und viel Erfolg bei der Umsetzung der eigenen Projekte wünschen!

Die in diesem Buch verwendeten Konventionen

In diesem Buch werden die folgenden typografischen Konventionen verwendet:

Nichtproportionalschrift

Wird innerhalb der Textabschnitte für Programmelemente wie Variablen- oder Funktionsnamen und für Programmlistings benutzt. Konfigurationsbeispiele, die einen Teil der Konfiguration eines Clusters darstellen, sind ebenfalls in dieser Schrift gesetzt.

Nichtproportionalschrift kursiv

Wird verwendet, um variable Eingaben anzuzeigen. Sie sollten sie durch einen Wert Ihrer eigenen Wahl ersetzen.

Kursiv

Wird für URLs, Hostnamen, Namen von Verzeichnissen und Dateien, und gelegentlich zur Hervorhebung eingesetzt.

Befehle werden oft mit einem Prompt dargestellt, um zu erläutern, in welchem Kontext sie verwendet werden. Unix-Benutzer sind es gewohnt, diesen Prompt zu sehen. Da Sie die meisten Befehle als root-Benutzer ausführen müssen, ist der Prompt durchgängig »#«.

Tipp

Dieses Icon zeigt einen Tipp, einen Vorschlag oder eine allgemeine Bemerkung an.

Warnung

Die Falle kennzeichnet eine Warnung oder ein Thema, bei dem man Vorsicht walten lassen sollte.

Danksagung

Für die Geduld, die meine Familie während der Zeit aufgebracht hat, in der ich an diesem Buch gearbeitet habe, möchte ich mich ganz herzlich bedanken: Danke Julia, Mark und Peter!

Die Hilfe bei Nachfragen und die Kontrolle des Texts durch Lars Marowsky-Brée und Andrew Beekhof war sehr hilfreich und hat viele Missverständnisse ausgeräumt. Deshalb an dieser Stelle auch noch mal ein herzliches Danke nicht nur für die Arbeit an der Software, sondern auch für die Hilfestellung beim Einsatz der Programme.

Kapitel 2. Grundlagen

Was ist ein Cluster? Wie funktioniert ein Cluster in der Praxis? Welche Probleme kann ich damit lösen, und wo sind die verborgenen Fallstricke, die man unbedingt vermeiden muss, damit das Gesamtsystem auch in kritischen Situationen noch wie erwartet funktioniert? Wie die Linux-Clustersoftware diese Fragen angeht, soll in diesem Kapitel ebenso erklärt werden wie die Veränderungen, die Linux-HA bzw. die Nachfolgeprojekte in den letzten Jahren erfahren haben. Im letzten Teil wird noch auf die innere Architektur der Clustersoftware eingegangen.

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!