Das Distributed Replicated Block Device (DRBD) ist ein verteiltes Blockdevice mit Spiegelung (RAID1) auf zwei unterschiedliche Server. Für die Installation verwenden wir zwei Server (hostA,hostB) mit Ubuntu 18.04 (bionic) auf Laufwerk (/dev/sda1) und einer Datenplatte (/dev/sdb1).
Wir setzten jeweil den Hostnamen auf hostA und hostB.
echo 'hostA' |sudo tee /etc/hostname
Wir können die Hostnamen auf beiden Servern hinterlegen.
sudo vim /etc/hosts
192.168.56.104 hostA 192.168.56.109 hostB |
Die Installation von DRBD ist einfach.
sudo apt-get install drbd-utils
Jetzt sollen wir das Kernel Modul laden.
sudo modprobe drbd
Das DRBD Modul sollte erfolgreich geladen sein.
lsmod |grep drbd
Nach einem Neustart soll das Modul automatisch geladen werden.
echo 'drbd' | sudo tee -a /etc/modules
Beispiele für die Konfiguration liegen hier:
– /etc/drbd.d/global_common.conf
– /usr/share/doc/drbd-utils/examples/drbd.conf.example.gz
Wir legen uns eine neue Konfiguration auf beiden Servern an.
sudo vim /etc/drbd.d/sdb.res
resource r0 { protocol C; startup { wfc-timeout 15; degr-wfc-timeout 60; } on hostA { device /dev/drbd0; disk /dev/sdb1; address 192.168.56.104:7788; meta-disk internal; } on hostB { device /dev/drbd0; disk /dev/sdb1; address 192.168.56.109:7788; meta-disk internal; } } |
Wir erzeugen auf beiden Servern ein Meta-Device.
sudo drbdadm create-md r0
Und starten den Service auf beiden Servern.
sudo systemctl start drbd.service
Bis jetzt sieht alles gleich aus, ab jetzt arbeiten wir nur auf Host A.
cat /proc/drbd
Wir machen Server (hostA) zum Primary.
hostA$ sudo drbdadm -- --overwrite-data-of-peer primary all
Jetzt werden die Daten von hostA zu hostB übertragen.
hostA$ watch -n1 cat /proc/drbd
Wir erzeugen das Filesystem.
hostA$ sudo mkfs.ext4 /dev/drbd0
Und mounten das DRBD Device in unsere Filesystem.
hostA$ sudo mkdir /mnt/data
hostA$ sudo mount -t ext4 /dev/drbd0 /mnt/data/
sudo drbd-overview
Damit ist die Installation beendet.
Kommen wir zum Funktionstest.
Wir hängen das Dateisystem aus und machen Host A zum Secondary.
hostA$> sudo umount /mnt/data
hostA$> sudo drbdadm secondary r0
Host B wird jetzt um Primary und kann eingehängt werden.
hostB$> sudo drbdadm primary r0
hostB$> sudo mount /dev/drbd0 /mnt/data/
Die Daten sind jetzt auf Host B zu sehen.
Quellen: UbuntuUsers, Serverguide
Schreibe einen Kommentar