Technologieführer

DRBD unter CentOS 6 installieren und einrichten

6 min read Systemadministration Aktualisiert 19 Oct 2025
DRBD unter CentOS 6: Installation & Setup
DRBD unter CentOS 6: Installation & Setup

Kurzüberblick

DRBD steht für Distributed Replicated Block Device. Es ist eine softwarebasierte Lösung zur Replikation von Blockgeräten (Festplatten, Partitionen, LVM‑Volumes). DRBD ermöglicht Hochverfügbarkeit (Failover, Disaster Recovery) durch Spiegeln von Blockdaten über das Netzwerk. Dieses Tutorial zeigt einen praktischen Ablauf auf zwei Servern (OEL641 und OEL642) mit CentOS/Oracle Linux 6 (32‑Bit) und verwendet /dev/sdb1 als zu spiegelndes Blockgerät.

Wichtig: Bevor Sie starten, sichern Sie alle wichtigen Daten. Die Demo formatiert Partitionen und überschreibt Metadaten.

Voraussetzungen und Architektur

  • Zwei Server im gleichen Netzwerk (Beispiel: 192.168.43.101 und 192.168.43.102).
  • Root‑Zugriff auf beide Server.
  • Freies Blockgerät auf beiden Servern, in diesem Beispiel /dev/sdb.
  • CentOS/Red Hat/Oracle Linux 6 (Anleitungen adaptierbar für andere Versionen, aber Paketnamen und Kernel‑ABI können abweichen).

Architektur (vereinfacht):

+———————————–+ +—————————–+ | [ DRBD Server A ] | 192.168.43.101 | 192.168.43.102 | [ DRBD Server B ] | | OEL641 +———————-+———————–+ OEL642 | | folderA | | folderB | +———————————–+ +—————————–+

1. Vorbereitung

  1. Aktualisieren Sie beide Systeme und installieren Sie die Build‑Abhängigkeiten:
yum -y update
yum -y install gcc make automake autoconf libxslt libxslt-devel flex rpm-build kernel-devel
  1. Diese Schritte führen Sie auf beiden Servern aus.

  2. Erstellen Sie Struktur für das RPM‑Buildsystem im root‑Verzeichnis:

mkdir -p /root/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}

2. DRBD-Quellen herunterladen und kompilieren

Laden Sie die passenden DRBD‑Quellen (Beispiel‑URLs):

wget http://oss.linbit.com/drbd/drbd-utils-latest.tar.gz http://oss.linbit.com/drbd/8.4/drbd-8.4.7-1.tar.gz

Packen Sie die Archive aus:

tar -zxvf drbd-8.4.7-1.tar.gz
tar -zxvf drbd-utils-latest.tar.gz

Kompilieren Sie den Kernel‑Modul‑RPM (km‑rpm):

cd drbd-8.4.7-1
make km-rpm

Nach erfolgreichem Build finden Sie RPMS in /root/rpmbuild/RPMS/i686.

Kompilieren Sie drbd‑utils und bauen ein RPM:

cd ../drbd-utils-8.9.6
./configure
make rpm

Installieren Sie die erzeugten RPM‑Pakete (auf beiden Servern):

cd /root/rpmbuild/RPMS/i686
rpm -Uvh drbd-xen* drbd-udev* drbd-pacemaker* drbd-bash-completion* drbd-utils-*.rpm drbd-km-*.rpm drbd-8*

Sie sollten Ausgaben sehen, die die Installation der verschiedenen Pakete bestätigen.

Wichtig: Kernel‑ABI und Kernel‑Header müssen zu Ihrem laufenden Kernel passen. Andernfalls schlägt das Kompilieren oder Laden des Moduls fehl.

3. Verifizieren und Kernel‑Modul laden

Auf beiden Servern prüfen Sie Hostname und laden das DRBD‑Modul:

uname -n

Beispielausgabe:

OEL641

Laden des Moduls:

modprobe drbd
lsmod | grep drbd

Beispielausgabe:

drbd 341783 0
libcrc32c 841 1 drbd

Wenn lsmod nichts zurückgibt, prüfen Sie dmesg und /var/log/messages auf Fehler.

4. Partition erstellen (auf beiden Servern)

Dieses Beispiel verwendet /dev/sdb und erstellt /dev/sdb1.

fdisk -l
fdisk /dev/sdb

In fdisk: n → p → 1 → Enter → Enter → w

Beispielausgaben (gekürzt):

Device Boot Start End Blocks Id System
/dev/sdb1 1 130 1044193+ 83 Linux

Wiederholen Sie die Partitionserstellung auf dem zweiten Server.

5. DRBD‑Ressource konfigurieren

Erstellen Sie die Ressourcen‑Datei /etc/drbd.d/s1.res auf beiden Servern. Der Inhalt:

resource s1 {
  on OEL641 {
    device /dev/drbd1;
    disk /dev/sdb1;
    address 192.168.43.101:7799;
    meta-disk internal;
  }
  on OEL642 {
    device /dev/drbd1;
    disk /dev/sdb1;
    address 192.168.43.102:7799;
    meta-disk internal;
  }
}

Kopieren Sie die Datei per scp auf den Peer:

scp /etc/drbd.d/s1.res root@OEL642:/etc/drbd.d/s1.res

Initialisieren Sie die DRBD‑Metadaten auf beiden Servern:

drbdadm create-md s1

Beispielausgabe:

initializing activity log
NOT initializing bitmap
Writing meta data...
New drbd meta data block successfully created.
success

6. DRBD starten und Primär/ Sekundär festlegen

Starten Sie den Service (zuerst auf einem Server, dann auf dem Peer):

/etc/init.d/drbd start
/etc/init.d/drbd status

Beim ersten Start wartet DRBD eventuell, bis der Peer verfügbar ist. Starten Sie auf beiden Hosts den Dienst, dann wechselt der Status zu Connected.

Setzen Sie anschließend auf dem gewünschten Initial‑Primary folgenden Befehl (hier OEL641):

drbdadm -- --overwrite-data-of-peer primary s1
/etc/init.d/drbd status

Sie sehen einen Synchronisationsfortschritt. Beispielstatus:

1:s1 SyncSource Primary/Secondary UpToDate/Inconsistent C

Auf dem Peer (OEL642) sehen Sie:

1:s1 SyncTarget Secondary/Primary Inconsistent/UpToDate C

Wenn die Synchronisation läuft, bleibt der Primary mountbar, der Secondary nicht.

7. Dateisystem anlegen und Test

Auf dem Primary (OEL641) formatieren und mounten:

mkfs.ext3 /dev/drbd1
mkdir /folderA
mount /dev/drbd1 /folderA
df -h

Erzeugen Sie eine Testdatei (30 MiB):

dd if=/dev/zero of=/folderA/testfile bs=1M count=30
ls -lh /folderA

Ergebnis: testfile sollte sichtbar sein.

Prüfen Sie das Umschalten auf Secondary und Mounten auf dem Peer:

Auf OEL641 (Primary):

umount /folderA
drbdadm secondary s1
/etc/init.d/drbd status

Beide Server sollten nun Secondary/Secondary zeigen. Auf OEL642 setzen Sie Primary und mounten:

mkdir /folderB
drbdadm primary s1
mount /dev/drbd1 /folderB
ls -lh /folderB

Die zuvor erstellte testfile sollte auf OEL642 sichtbar sein.

Fehlerbehebung und häufige Probleme

Wichtig: Prüfen Sie folgende Punkte, falls etwas nicht funktioniert:

  • Kernel‑Version vs. kompiliertes drbd‑Kernelmodul: uname -r und verwendete Header müssen übereinstimmen.
  • Firewall/Netzwerk: Port 7799 muss erreichbar sein. Prüfen Sie mit telnet oder nc.
  • Hostnames: DRBD verwendet die in der Ressource definierten Namen. uname -n muss mit den Namen in s1.res übereinstimmen.
  • Partitionen: /dev/sdb1 muss existieren und dieselbe Größe haben.
  • Logs: /var/log/messages oder journalctl prüfen.

Typische Kommandos zur Diagnose:

drbdadm status
cat /proc/drbd
dmesg | tail
iptables -L -n

Alternative Ansätze und Architekturhinweise

  • Verwenden Sie pacemaker/corosync für automatisches Failover und IP‑Floating. DRBD allein repliziert Daten, übernimmt aber kein automatisches Failover von Diensten.
  • Bei mehreren Replikaten (mehr als 2 Nodes) prüfen Sie DRBD‑Version und Protokolllevel (Primär/Primär erfordert Cluster‑Dateisysteme wie GFS2).
  • Für Cloud‑Umgebungen prüfen Sie statt lokaler Blockgeräte Cloud‑Volumes oder blockbasierte Replikationsfunktionen.

Sicherheits‑ und Betriebsnotizen

  • Verschlüsselung: DRBD repliziert unverschlüsselte Daten über das Netzwerk. Nutzen Sie VPN/TLS oder ein verschlüsseltes Netzwerksegment bei sensiblen Daten.
  • Backups: DRBD ersetzt Backup nicht. Führen Sie regelmäßige Backups durch.
  • Monitoring: Messen Sie Replizierungslatenz und Bandbreitennutzung. Setzen Sie Alarme, wenn Synchronisation ausfällt.

Checkliste für Administratoren (Schnellreferenz)

  • Beide Hosts haben passenden Kernel‑Header installiert
  • /dev/sdb existiert und ist partitioniert (/dev/sdb1)
  • DRBD‑Pakete installiert und Modul geladen (modprobe drbd)
  • /etc/drbd.d/s1.res auf beiden Hosts identisch
  • drbdadm create-md s1 auf beiden Hosts ausgeführt
  • DRBD auf beiden Hosts gestartet (/etc/init.d/drbd start)
  • Initialer Primary gesetzt (drbdadm – –overwrite-data-of-peer primary s1)
  • Filesystem auf /dev/drbd1 erstellt und gemountet
  • Testdatei mit dd erstellt und Replikation geprüft

Rollback‑ und Notfallplan (Kurz)

  • Wenn ein Modulfehler nach Installation auftritt, booten Sie in einen Kernel mit passenden Headern oder entfernen Sie die Pakete.
  • Um eine fehlerhafte Synchronisation abzubrechen: drbdadm disconnect s1; prüfen Sie Logs; führen Sie drbdadm create-md nur mit Vorsicht aus (überschreibt Metadaten).
  • Bei Datenverlust: Heben Sie vor Korrekturen Snapshots oder Backups auf und dokumentieren Sie jede Aktion.

Kurze Befehlsübersicht (Cheat‑Sheet)

# Paketinstallation
yum -y install gcc make automake autoconf libxslt-devel flex rpm-build kernel-devel

# RPM‑Build Ordner
mkdir -p /root/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}

# DRBD bauen
make km-rpm
make rpm (im drbd-utils Verzeichnis)

# DRBD initialisieren
modprobe drbd
drbdadm create-md s1
/etc/init.d/drbd start
/etc/init.d/drbd status

# Primary setzen
drbdadm -- --overwrite-data-of-peer primary s1

# Filesystem
mkfs.ext3 /dev/drbd1
mount /dev/drbd1 /folderA

# Wechsel Primary/Secondary
umount /folderA
drbdadm secondary s1
# auf Peer:
drbdadm primary s1
mount /dev/drbd1 /folderB

Akzeptanzkriterien und Testfälle

  1. Nach erfolgreicher Konfiguration ist /dev/drbd1 auf Primary mountbar.
  2. Dateien, die auf dem Primary erstellt wurden, erscheinen nach Umschalten auf den Peer ebenfalls.
  3. drbdadm status zeigt Connected und die erwarteten Primary/Secondary‑Zustände.

Entscheidungshilfe (Mermaid)

flowchart TD
  A[Start: zwei Server bereit?] --> B{Kernel und Header passen?}
  B -- Nein --> C[Installieren passende Header oder Kernel]
  B -- Ja --> D[DRBD kompilieren/installieren]
  D --> E[Metadaten erstellen 'create-md']
  E --> F[DRBD starten auf beiden Hosts]
  F --> G{Primary setzen?}
  G -- Nein --> H[Warten / Fehler beheben]
  G -- Ja --> I[mkfs und mount auf Primary]
  I --> J[Testdatei erstellen und Replikation prüfen]
  J --> K[Erfolg]

Glossar (1‑Zeiler)

  • Primary: Der DRBD‑Knoten, der das Blockgerät beschreiben und mounten darf.
  • Secondary: Repliziert Daten, ist aber nicht mountbar zum Schreiben.
  • drbdadm: Administrationswerkzeug für DRBD.
  • meta‑disk internal: Speichert DRBD‑Metadaten intern auf dem Blockgerät.

Zusammenfassung

Dieses Tutorial erklärt die nötigen Schritte, um DRBD auf zwei CentOS/Oracle Linux 6 Servern zu bauen, zu installieren und zu konfigurieren. Es zeigt das Erstellen der Partition, den RPM‑Build, die Konfiguration der Ressource, das Initialisieren der Metadaten, das Setzen des Primarys und einen vollständigen Funktionstest mittels einer 30‑MiB Testdatei. Nutzen Sie die Checkliste und die Troubleshooting‑Hinweise für den produktiven Einsatz.

Wichtig: Testen Sie diese Schritte zuerst in einer nicht‑produktiven Umgebung. Passen Sie Versionsnummern, Kernel‑ABI und Netzwerkeinstellungen an Ihre Umgebung an.

Fertig — Sie haben DRBD erfolgreich eingerichtet und getestet.

Autor
Redaktion

Ähnliche Materialien

360°-Fotos auf Facebook: Hochladen & ansehen
Social Media

360°-Fotos auf Facebook: Hochladen & ansehen

VLC: Videos in andere Formate konvertieren
Software

VLC: Videos in andere Formate konvertieren

Netflix-Profilbild ändern: Eigene Bilder & GIFs nutzen
Streaming

Netflix-Profilbild ändern: Eigene Bilder & GIFs nutzen

Smartcards in IPFire integrieren
Firewall

Smartcards in IPFire integrieren

OTRS 5 auf CentOS 7 installieren und konfigurieren
Anleitungen

OTRS 5 auf CentOS 7 installieren und konfigurieren

Netflix herunterladen: Offline schauen auf jedem Gerät
Anleitungen

Netflix herunterladen: Offline schauen auf jedem Gerät