So richten Sie DRBD ein, um den Speicher auf zwei CentOs 7 -Servern zu replizieren
- 4012
- 325
- Susanne Stoutjesdijk
Der DRBD (steht für Verteilt repliziertes Blockgerät) ist eine verteilte, flexible und vielseitige replizierte Speicherlösung für Linux. Es spiegelt den Inhalt von Blockgeräten wie Festplatten, Partitionen, logischen Bänden usw. wider. zwischen Servern. Es umfasst eine Kopie von Daten auf zwei Speichergeräten, sodass die Daten auf den anderen verwendet werden können, wenn einer fehlschlägt, verwendet werden.
Sie können es sich als eine Konfiguration von Netzwerk -RAID 1 mit den Disketten vorstellen, die über die Server spiegelt werden. Es arbeitet jedoch ganz anders als RAID- und sogar Netzwerk -RAID.
Ursprünglich, DRBD wurde hauptsächlich in Computerclustern mit hoher Verfügbarkeit (HA) verwendet. Beginnend mit Version 9 kann es zum Bereitstellen von Cloud -Speicherlösungen verwendet werden.
In diesem Artikel werden wir zeigen. Dies ist der perfekte Artikel, um die Verwendung von DRBD unter Linux zu beginnen.
Testumgebung
Für den Zweck dieses Artikels verwenden wir zwei Knotencluster für dieses Setup.
- Node1: 192.168.56.101 - Tecmint.Tecmint.Lan
- Node2: 192.168.56.102 - Server1.Tecmint.Lan
Schritt 1: Installieren von DRBD -Paketen
DRBD wird als Linux -Kernel -Modul implementiert. Es bildet genau einen Treiber für ein virtuell.
DRBD kann aus dem installiert werden Elrepo oder Epel Repositorys. Beginnen wir mit dem Importieren des Elrepo -Paket -Signierschlüssels und aktivieren Sie das Repository, wie auf beiden Knoten gezeigt.
# RPM -Import https: // www.Elrepo.org/rpm-gpg-key-elrepo.org # rpm -uvh http: // www.Elrepo.org/elrepo-release-7.0-3.EL7.Elrepo.Keinarch.Drehzahl
Anschließend können wir das DRBD -Kernel -Modul und die Dienstprogramme auf beiden Knoten installieren, indem wir ausführen:
# yum install -y kmod-drbd84 DRBD84-utils
Wenn Sie haben Selinux Aktiviert, müssen Sie die Richtlinien ändern, um DRBD -Prozesse von der Selinux -Steuerung auszunehmen.
# Semanage tour.a drbd_t
Wenn Ihr System über eine Firewall -Aktivierung (Firewalld) verfügt, müssen Sie die hinzufügen, die Sie hinzufügen müssen DRBD Hafen 7789 in der Firewall, um die Synchronisation von Daten zwischen den beiden Knoten zu ermöglichen.
Führen Sie diese Befehle im ersten Knoten aus:
# Firewall-CMD --permanent --add-Rich-RULE = 'Rule Family = "IPv4" Quelladress = "192.168.56.102 "Port Port =" 7789 "Protocol =" TCP "Akzeptieren Sie ' # Firewall-CMD-Reload
Führen Sie dann diese Befehle auf dem zweiten Knoten aus:
# Firewall-CMD --permanent --add-Rich-RULE = 'Rule Family = "IPv4" Quelladress = "192.168.56.101 "port port =" 7789 "Protocol =" TCP "Akzeptieren Sie ' # Firewall-CMD-Reload
Schritt 2: Vorbereitung auf niedrigerer Speicher
Jetzt, wo wir haben DRBD An den beiden Clusterknoten installiert, müssen wir auf beiden Knoten einen ungefähren Speicherbereich mit identisch großer Größe vorbereiten. Dies kann eine Festplattenpartition (oder eine vollständige physische Festplatte), ein Software -RAID.
Für den Zweck dieses Artikels erstellen wir ein Dummy -Block -Gerät mit Größe 2GB Verwendung der DD -Befehl.
# dd if =/dev/null von =/dev/sdb1 bs = 2024k count = 1024
Wir werden annehmen, dass dies eine nicht verwendete Partition ist (/dev/sdb1) auf einem zweiten Blockgerät (/dev/sdb) an beide Knoten angehängt.
Schritt 3: DRBD konfigurieren
Die Hauptkonfigurationsdatei von DRBD befindet sich unter /etc/drbd.Conf und zusätzliche Konfigurationsdateien finden Sie in der /etc/drbd.D Verzeichnis.
Um den Speicher zu replizieren, müssen wir die erforderlichen Konfigurationen in die hinzufügen /etc/drbd.D/global_common.Conf Datei, die die globalen und gemeinsamen Abschnitte der DRBD -Konfiguration enthält, und wir können Ressourcen in definieren .res Dateien.
Lassen Sie uns eine Sicherung der Originaldatei auf beiden Knoten erstellen und dann eine neue Datei zum Bearbeiten öffnen (verwenden Sie einen Texteditor Ihres Geschmacks).
# MV /etc /drbd.D/global_common.conf /etc /drbd.D/global_common.Conf.orig # vim /etc /drbd.D/global_common.Conf
Fügen Sie in beiden Dateien die folgenden Zeilen hinzu:
Global Nutzungscount Ja; Common net Protocol c;
Speichern Sie die Datei und schließen Sie dann den Editor.
Schatten wir kurz mehr Licht auf der Linie Protokoll c. DRBD unterstützt drei unterschiedliche Replikationsmodi (also drei Grad der Replikationssynchronizität), nämlich:
- Protokoll a: Asynchrone Replikationsprotokoll; Es wird am häufigsten in Langstreckenreplikationsszenarien verwendet.
- Protokoll b: Semi-synchrones Replikationsprotokoll aka-Speicher-Synchronprotokoll.
- Protokoll c: üblicherweise für Knoten in kurzen distanzierten Netzwerken verwendet; Es ist bei weitem das am häufigsten verwendete Replikationsprotokoll in DRBD -Setups.
Wichtig: Die Auswahl des Replikationsprotokolls beeinflusst zwei Faktoren für Ihren Einsatz: Schutz Und Latenz. Und Durchsatz, Im Gegensatz dazu ist weitgehend unabhängig vom ausgewählten Replikationsprotokoll.
Schritt 4: Hinzufügen einer Ressource
A Ressource ist der kollektive Begriff, der sich auf alle Aspekte eines bestimmten replizierten Datensatzes bezieht. Wir werden unsere Ressource in einer Datei namens definieren /etc/drbd.D/Test.res.
Fügen Sie der Datei den folgenden Inhalt auf beiden Knoten hinzu (denken Sie daran, die Variablen im Inhalt durch die tatsächlichen Werte für Ihre Umgebung zu ersetzen).
Beachten Hostnamen, Wir müssen den Netzwerk -Hostnamen angeben, der durch Ausführen des Befehls erhalten werden kann Uname -n.
Ressourcentest auf Tecmint.Tecmint.LAN Device /Dev /DRBD0; Disk /Dev /SDB1; Meta-Scheibeninner; Adresse 192.168.56.101: 7789; auf Server1.Tecmint.LAN Device /Dev /DRBD0; Disk /Dev /SDB1; Meta-Scheibeninner; Adresse 192.168.56.102: 7789;
Wo:
- auf Hostname: In dem Abschnitt heißt.
- prüfen: ist der Name der neuen Ressource.
- Gerät /dev /dRBD0: Gibt das neue von DRBD verwaltete neue virtuelle Blockgerät an.
- Festplatte /Dev /SDB1: Ist die Block -Gerätepartition, die das Backing -Gerät für das DRBD -Gerät ist.
- Meta-Scheibe: Definiert, wo DRBD seine Metadaten speichert. Die Verwendung interner Mittel bedeutet, dass DRBD seine Meta-Daten auf demselben physischen Gerät mit unterer Ebene wie die tatsächlichen Produktionsdaten speichert.
- Adresse: Gibt die IP -Adresse und die Portnummer des jeweiligen Knotens an.
Beachten Sie auch, dass Sie diese direkt im Ressourcenabschnitt direkt angeben können, wenn die Optionen gleichwerte Werte auf beiden Hosts haben.
Beispielsweise kann die obige Konfiguration umstrukturiert werden auf:
Ressourcentest Device /Dev /DRBD0; Disk /Dev /SDB1; Meta-Scheibeninner; auf Tecmint.Tecmint.Lan Adresse 192.168.56.101: 7789; auf Server1.Tecmint.Lan Adresse 192.168.56.102: 7789;
Schritt 5: Initialisieren und Aktivieren von Ressourcen
Interagieren mit DRBD, Wir werden die folgenden Verwaltungswerkzeuge verwenden, die mit dem Kernel -Modul kommunizieren, um DRBD -Ressourcen zu konfigurieren und zu verwalten:
- DRBDADM: Ein hochrangiges Verabreichungsinstrument der DRBD.
- drbdsetup: Ein Tool auf niedrigerer Ebene, um DRBD-Geräte mit ihren Blockblockgeräten anzuhängen, DRBD-Gerätepaare einzustellen.
- Drbdmeta: Ist das Meta -Datenmanagement -Tool.
Nachdem wir alle anfänglichen Ressourcenkonfigurationen hinzugefügt haben, müssen wir die Ressourcen auf beiden Knoten ansprechen.
# DRBDADM CREATE-MD-TestInitialisieren Sie die Meta -Datenspeicherung
Als nächstes sollten wir das aktivieren Ressource, Dadurch wird die Ressource mit dem Backing -Gerät angeschlossen, dann Replikationsparameter festgelegt und die Ressource mit dem Peer verbunden:
# DRBDADM UP -Test
Wenn Sie nun den Befehl LSBLK ausführen, werden Sie feststellen, dass das DRBD -Gerät/das Volumen der DRBD DRBD0 ist mit dem Backing -Gerät verbunden /dev/sdb1:
# LSBLKListen Sie Blockgeräte auf
Um die Ressource zu deaktivieren, rennen Sie:
# DRBDADM Down Test
Führen Sie den folgenden Befehl aus (beachten Sie, dass die Inkonsistent/inkonsistent Der Festplattenstaat wird zu diesem Zeitpunkt erwartet):
# DRBDADM -Statusstest oder # DRBDSetup -Statusstest --verbose -Statistik # für einen detaillierteren StatusÜberprüfen Sie den Ressourcenstatus auf Knoten
Schritt 6: Setzen Sie primäre Ressourcen/Quelle der anfänglichen Gerätesynchronisation
In diesem Stadium, DRBD ist jetzt bereit für den Betrieb. Wir müssen nun sagen, welcher Knoten als Quelle der anfänglichen Gerätesynchronisation verwendet werden soll.
Führen Sie den folgenden Befehl nur auf einem Knoten aus, um die anfängliche vollständige Synchronisation zu starten:
# DRBDADM Primär -Force -Test # DRBDADM -StatusstestStellen Sie den Primärknoten für das Anfangsgerät ein
Sobald die Synchronisation abgeschlossen ist, sollte der Status beider Festplatten sein Auf dem Laufenden.
Schritt 7: Testen des DRBD -Setups
Schließlich müssen wir testen, ob das DRBD -Gerät für replizierte Datenspeicher gut funktioniert. Denken Sie daran, wir haben ein leeres Festplattenvolumen verwendet, deshalb müssen wir ein Dateisystem auf dem Gerät erstellen und montieren, um zu testen, ob wir es für replizierte Datenspeicher verwenden können.
Wir können ein Dateisystem auf dem Gerät mit dem folgenden Befehl erstellen, auf dem Knoten, in dem wir die anfängliche vollständige Synchronisation gestartet haben (die die Ressource mit primärer Rolle spielt):
# MKFS -t ext4 /dev /drbd0Erstellen Sie das Dateisystem auf dem DRBD -Volumen
Machen Sie es dann wie gezeigt (Sie können dem Mountspunkt einen entsprechenden Namen geben):
# MKDIR -p/MNT/DRDB_PRI/ # MOUNT/DRBD0/MNT/DRDB_PRI/
Kopieren oder erstellen Sie nun einige Dateien im obigen Mountspunkt und führen Sie eine lange Auflistung mit LS -Befehl durch:
# cd/mnt/drdb_pri/ # ls -lListen Sie die Inhalte des DRBD -Primärvolumens auf
Nächste, unmontal Das Gerät (stellen Sie sicher, dass die Halterung nicht geöffnet ist, ändern Sie Verzeichnis primär Zu sekundär:
# Umount/Mnt/DRDB_PRI/ # CD # DRBDADM Sekundärtest
Machen Sie auf dem anderen Knoten (der die Ressource mit einer sekundären Rolle spielt) primär, dann montieren Sie das Gerät darauf und führen Sie eine lange Auflistung des Mountspunkts durch. Wenn das Setup gut funktioniert, sollten alle in der Lautstärke gespeicherten Dateien vorhanden sein:
# DRBDADM Primärtest # MKDIR -p/MNT/DRDB_SEC/ # MOUNT/DRBD0/MNT/DRDB_SEC/ # CD/MNT/DRDB_SEC/ # LS -L -lTesten Sie das DRBD -Setup, der am Sekundärknoten arbeitet
Weitere Informationen finden Sie auf den Man -Seiten der Benutzerraumverwaltungs -Tools:
# Mann DRBDADM # MAN DRBDSETUP # MAN DRBDMETA
Referenz: Die DRBD -Benutzerhandbuch.
Zusammenfassung
DRBD ist äußerst flexibel und vielseitig, was es zu einer Speicherreplikationslösung macht, die zum Hinzufügen von HA zu nahezu jeder Anwendung geeignet ist. In diesem Artikel haben wir gezeigt, wie man installiert DRBD In Centos 7 und kurz demonstriert, wie man es verwendet, um den Speicher zu replizieren. Fühlen Sie sich frei, Ihre Gedanken über das Feedback -Formular unten mitzuteilen.
- « Installieren von CentOs 7.1 Doppelstart mit Windows 8.1 auf UEFI -Firmware -Systemen
- Die 8 besten kostenlosen Antivirenprogramme für Linux »