Linux HA-Cluster DRBD OCFS2 :: Heartbeat HowTo Teil 1
Linux HA-Cluster DRBD – OCFS2 and Heartbeat HowTo Teil 1
Clustersysteme und Hochverfügbarkeit mit DRBD.
Um sich vor Ausfällen zu schützen.
Ausfälle von IT-Systemen können gravierende Folgen nach sich ziehen.
Grundgedanke:
- 2 Server mit einer Debian Grundinstallation
- eine leere Partition oder Festplatte je Server
- Optional: 2 Netzwerkkarten je Server (für DRBD)
- Die beiden Nodes müssen sich über den Hostnamen ansprechen können
- Unsere beiden Nodes hier als Servernamen Node-Server1 und Node-Server2
Konfiguration von DRBD:
Kurz zu Drbd (Distributed Replicated Block Device).
DRBD ist eine Netzwerkspeicherlösungs-Software. Mit dieser ist es möglich gleichzeitig auf die lokale Festplatte und einer entfernten Festplatte zu speichern. Vergleichbar mit einem RAID 1 (Mirroring) über TCP/IP.
Wir arbeiten mit root Rechten. Installieren werden wir DRBD über das Debian Paketmanagementsystem:
Zuerst installieren wir die DRBD utils. Das Zweite Paket enthält ein Kernelmodul.
Welches für den Betrieb von DRBD erforderlich ist.
Damit das Kernelmodul beim Systemstart geladen wird, muss es zur /etc/modules hinzugefügt werden.
Wenn das Modul sofort geladen werden soll, muss es mit modprobe geladen werden.
Konfiguriert wird DRBD über die drbd.conf
Als nächstes sichern wir die alte DRBD-Konfigurationsdatei
Nun erstellen wir uns eine neue drbd.conf. Man nehme seinen Lieblings-Editor.
Ich bevorzuge nano.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | # Ein yes erlaubt hier die Erfassung von Statistiken seitens Linbit. # Ein no ist hier genauso zulässig. global { usage-count yes; } # Unsere Resource bekommt den Namen drbd0 resource drbd0 { protocol C; # protocol C Bestimmt die Replikationsmethode für unser DRBD Device. # A: Asynchrones Replikationsprotokoll # B: Memory synchrones (semi-synchrones) Replikationsprotokoll # C: Synchrones Replikationsprotokoll # Gibt die Netzwerkgeschwindigkeit der HA-Verbindung an syncer { rate 10M; } startup { # Timeout (in Sekunden) für Verbindungsherstellung beim Start wfc-timeout 15; # Timeout (in Sekunden) für Verbindungsherstellung beim Start # nach vorheriger Feststellung von Dateninkonsistenz # ("degraded mode") degr-wfc-timeout 120; # beide Nodes registrieren sich beim Starten als Primary become-primary-on both; } disk { # Aktion bei EA-Fehlern: Laufwerk aushängen on-io-error detach; } net { # Beide Nodes dürfen Primary sein. Ist Wichtig für ein Primary/Primary Setup allow-two-primaries; } on Node-Server1 { # Name des bereitgestellten Blockdevices device /dev/drbd0; # dem DRBD zugrunde liegendes Laufwerk disk /dev/sda1; # Adresse und Port, über welche die Synchronisation läuft address 10.0.10.4:7788; # Speicherort der Metadaten, hier im Laufwerk selbst meta-disk internal; } on Node-Server2 { # Name des bereitgestellten Blockdevices device /dev/drbd0; # dem DRBD zugrunde liegendes Laufwerk disk /dev/sda1; # Adresse und Port, über welche die Synchronisation läuft address 10.0.10.5:7788; # Speicherort der Metadaten, hier im Laufwerk selbst meta-disk internal; } } |
Speichern.
Die Konfigurationsdateien müssen identisch auf beiden Nodes vorhanden sein.
Damit DRBD mit der Partion etwas anfangen kann, müssen diese initialisiert werden.
Nun können wir die beiden Partionen synchronisieren.
Den folgenden Befehl nur auf einem Node ausführen.
(Die Daten werden während der Synchronisierung des Nodes überschrieben.)
Je nach dem wie groß die Partionen sind, kann die Synchronisation etwas Zeit beanspruchen.
Der Synchronisation-Fortschritt kann überprüft werden mit
Unter ‘ds’ müssen beide Nodes als ‘UpToDate’ ausgewiesen sein.
In etwa so:
Mit folgendem Befehl können wir nun Node-Server2 auch zum Primary machen
Kurz zusammengefasst:
Jetzt haben wir auf Node-Server1 und Node-Server2 ein Device
Namens ‘/dev/drbd0′. Sobald einer der beiden Nodes auf dieses Device schreibt,
wird der Schreibvorgang auf der lokalen Festplatte Node-Server1 und auf der
fernen Festplatte des Node-Server2 durchgeführt.
Achtung, /dev/drbd0 darf nicht in /etc/fstab eingetragen werden. Das mounten und umounten wird später Heartbeat übernehmen.
Im HowTo Teil 2 beschreiben wir euch, wie wir ein ocfs2-Dateisystem/Clusterdateisystem auf unser Device aufbringen.
Linux HA-Cluster DRBD – OCFS2 and Heartbeat HowTo Teil 2
Für Fragen und Anregungen bitte die Kommentar Funktion nutzen. Wir freuen uns auf euch.
Einen Kommentar dazu schreiben:
Sie müssen eingelogged sein, um einen Kommentar schreiben zu können.