DRBD-Kochbuch. Jörg Seubert. Читать онлайн. Newlib. NEWLIB.NET

Автор: Jörg Seubert
Издательство: Bookwire
Серия:
Жанр произведения: Математика
Год издания: 0
isbn: 9783754954133
Скачать книгу
wurde über einen einfachen LAN-Adapter mit der Geschwindigkeit von 10 Mb/s aufgebaut - für zu Hause reicht das gerade, für einen Server …naja….

      Mein Sohn hat sich vor Kurzem beklagt, dass sein Laptop für HomeSchooling mit 8 GB-RAM etwas „schwachbrüstig“ ausgestattet wäre.

      Für eine Serverumgebung, die lediglich die Aufgabe hat über apache „it works“ auszugeben, mag diese Hardwareausstattung als mager gelten. Aber um zu zeigen, dass die Grundfunktionen von DRBD arbeiten, ist diese Konfiguration immer noch ausreichend.

      Je nach Größe der Festplattenpartitionen, die Sie in dieses RAID 1 einbeziehen möchten, sollten Sie die Einrichtung eines separaten LAN für die Festplattensynchronisierung (Backend-LAN) in Betracht ziehen. Sie sollten jedoch auf die Geschwindigkeit der Synchronisierung achten, da Ihre Computer sonst nur mit der Festplattensynchronisierung beschäftigt sein werden. Aber dazu später mehr.

      Ich möchte hier auch keine Abhandlung über die Minimalanforderungen von Hosts schreiben, das haben andere vor mir getan und ich weiß auch, dass für manchen Privatanwendern 10 Mb/s eindeutig zu langsam für das heimatliche Netzwerk sind.

      Was ich dagegen zeigen will, ist dass DRBD mit einer wirklich minimalen Ausstattung sauber arbeitet, was uns wieder zurück auf den Punkt der Kosteneinsparung, speziell bei kleineren Unternehmen bringt.

      3 Vorüberlegungen

      Bevor wir uns die Grundkonfiguration eines Zwei-Knoten-Clusters genauer ansehen, gibt es einige grundlegende Überlegungen.

      Wenn Sie Ihre Auswahl bereits getroffen haben oder spezielle Anforderungen haben, können Sie dieses Kapitel getrost überspringen - allerdings auf eigene Gefahr.

      Ich lese mir selbst nicht gerne endlose Einführungen durch, und ich kenne Kollegen, die die Einführungen sehr sorgfältig gelesen haben und dann nicht wussten, was sie tun sollten, wenn es an die Umsetzung ging.

      Wichtig bei den Vorüberlegungen ist für mich, unnötige Arbeit zu vermeiden, damit man am Ende eines Testlaufs oder auch in einem laufenden, produktiven Cluster keine Ausfallzeiten hat.

      Und nichts ist tödlicher für einen Cluster als nicht verfügbar zu sein.

      Deshalb gilt auch hier das alte Heimwerker-Motto:

      Erst messen - dann schneiden!

      3.1 Festplattenlaufwerke – physikalisch im Vergleich zu LVM

      Werfen wir also zunächst einen Blick darauf, wie das Laufwerk „konzipiert“ werden sollte.

      Nehmen wir zunächst ein „physisches Festplattengerät“, d.h. eine zusätzliche Festplattenpartition, zusätzlich zu den „klassischen“ Partitionen wie swap, root (/) und /home.

      Diese Lösung hat den Vorteil, dass es keine zusätzliche „Virtualisierungsschicht“ gibt, die die Verarbeitungsvorgänge aufhält, was im Zweifelsfall zu Leistungseinbußen führen könnte.

      Der Nachteil ist, dass eine nachträgliche Vergrößerung oder Verkleinerung nur mit erhöhtem Aufwand durchgeführt werden kann, wenn tatsächlich Hardware ausgetauscht werden muss.

      Die Verwendung von Logical Volume Manager, kurz LVM, verschafft mehr Spielraum, fügt aber eine Virtualisierungsschicht hinzu, was auf sehr engen Systemen zu den oben erwähnten Leistungseinbußen führen kann.

      DRBD kann mit beiden Varianten arbeiten!

      In den Systemen, die ich eingerichtet habe, verwende ich in der Regel den Logical Volume Manager, da der Vorteil des nachträglichen Hinzufügens von Festplatten den Nachteil der Leistungsverschlechterung überwiegt.

      3.2 Auswahl der Filesysteme

      Im Prinzip könnte ein DRBD auch als RAW-Gerät verwendet werden. Ob und welches Dateisystem auf dem DRBD-Gerät „läuft“, spielt eigentlich keine Rolle. Dennoch möchte ich die unterschiedlichen Arbeitsweisen der verwendeten Dateisysteme näher beleuchten, um Ihnen die Entscheidung zu erleichtern. Alle Dateisysteme haben ihre spezifischen Vor- und Nachteile, die auf ihrer Arbeitsweise beruhen.

      Aus vielleicht verständlichen Gründen werde ich an dieser Stelle nicht näher auf Baumstrukturen oder Ähnliches eingehen. Wenn Sie sich für diese speziellen Punkte interessieren, sollten Sie die einschlägige Fachliteratur oder https://www.wikipedia.com zu Rate ziehen.

      3.2.1 UFS / ext2

      Das gute alte „UNIX File System“ - denn dafür steht UFS - wurde in den frühen 1980er Jahren entwickelt und war bis Anfang der 1990er Jahre das Standard-Dateisystem für alle UNIX-Derivate. Heute wird es jedoch nur noch in Einzelfällen verwendet.

      Das Grundkonzept wurde jedoch an die folgenden Dateisystemgenerationen weitergegeben:

       Alle Daten werden in Blöcken auf der Festplatte gespeichert und

       um zu einem Datenblock zu gelangen, wird die Adresse des Speicherblocks in einem „Superblock“ genannten Bereich gespeichert, auf den das Betriebssystem zuerst zugreift.

      Auf diese Weise erhält man eine Baumstruktur, da jeder gespeicherten Datei eine bestimmte „Inode-Nummer“ zugewiesen wird.

      Wird nach einer bestimmten Datei innerhalb des Dateisystems gesucht, muss immer der gesamte Dateibaum durchsucht werden, was bei größeren Dateibäumen mit vielen Unterstrukturen vergleichsweise lange dauern kann.

      Das „zweite erweiterte Dateisystem“ („second extended filesystem“ ext2) übernimmt im Wesentlichen diese Struktur, doch können so genannte „Plugins“ - d. h. Erweiterungen - hinzugefügt werden, um die Fragmentierung, Komprimierung und Wiederherstellung gelöschter Daten zu ermöglichen.

      3.2.2 ext3 / ext4

      Die Dateisysteme ext3 und ext4 haben sich aus dem Dateisystem ext2 weiterentwickelt, indem ein so genanntes journal hinzugefügt wurde und die Möglichkeit besteht, die Größe des Dateisystems zu ändern, während das Dateisystem in Gebrauch ist.

      In einem Journaling-Dateisystem werden alle Änderungen in einem speziellen Speicherbereich namens journal aufgezeichnet, bevor der eigentliche Schreibvorgang in den ausgewählten Block stattfindet. Dies erleichtert die Rekonstruktion der Schreibvorgänge, wenn z. B. das System abstürzt oder der Strom während des Schreibvorgangs ausfällt.

      Ein weiterer Punkt der Verbesserung von ext3 bzw. ext4 gegenüber ext2 war die Erhöhung der verwendbaren Dateisystempartitionen von 16 TB auf 32 TB für ext3 und 1 EB (= Exabyte) für ext4. Solche Gerätegrößen konnte man sich bei der Entwicklung des UFS noch gar nicht vorstellen.

      Hinzu kommen die Erweiterungen hinsichtlich der Anzahl der Dateien und Verzeichnisse sowie der Größe der einzelnen Dateien, die bei ext2 noch auf 2 TB begrenzt war, bei ext3 zwischen 16 GB und 2 TB liegen konnte und bei ext4 schließlich nur durch die Größe der Festplattenpartition begrenzt ist.

      3.2.3 xfs

      Das Dateisystem xfs, ursprünglich von Silicon Graphics (SGI) exklusiv für das hauseigene UNIX-System ÏRIXëntwickelt, ist eines der ältesten Dateisysteme. Aber nur weil etwas in die Jahre gekommen ist, heißt das nicht, dass es „schlecht“ sein muss. Mit Maximalwerten von 16 EB pro Dateisystem, einer maximalen Anzahl von 263 Dateien und einer Größe pro Datei von 8 EB setzt es Maßstäbe.

      Es hat auch deutliche Vorteile gegenüber ext3 und BtrFS, insbesondere in Bezug auf die Geschwindigkeit.

      Vor einiger Zeit hatte ich einen Fall, bei dem etwa 100 GB von einem Host auf einen anderen kopiert werden mussten. Das Quelldateisystem war ein BtrFS und die