/media/sda-magnetic/david/Extern-Magnetic-2022-06-29/Extern01/Dokumente-2020-11-16/disk10-ab-2020-01-10/02-debian-pc2-work/informatik/learn-2020-08-02/drbd.txt


Jetzt zu heartbeat

Jetzt lese ich hier, heartbeat ist für den Webserver zuständig. Das ist natürlich auch interessant, wenn der eine abstürzt - danach suche ich schon lange. Das andere für die Platte ist:

drbd

Distributed Replicated Block Device

Das wäre jetzt trotzdem das, was ich primär als erstes ausprobieren will.

Jetzt probiere ich trotzdem erst heartbeat aus.

Leute, freudige Nachricht - ich habe es hinbekommen!

drbd 

funktioniert! Yeaah! Yeaah! Yeaah!

Folgen Sie diesen Anleitungen:

https://wiki.debian.org/DrBd

https://www.antary.de/2009/05/18/linux-cluster-minihowto/

Die erstere ist die bessere - aber die zweitere gibt kreative Ideen, wenn man erstere versteht!

Ich poste im nächsten Beitrag das Konfigurationsskript meines einen drbd-nodes.

Was die zweite Anleitung sagen will, ist, dass wir ein Dateisystem namens ocfs2 verwenden. Oracle Cluster File System. Das ist nicht nötig. Wie uns erstere Anleitung klar macht, können wir

xfs 

verwenden. Und das installiert sich mit

apt-get install xfsprogs



# cat drbd-demo.res 
resource r0 {
  meta-disk internal;
  device /dev/drbd1;
  syncer {
    verify-alg sha1;
  }
  net {
    allow-two-primaries;
  }
  on ituenix {
    disk /dev/loop1;
    address 192.168.178.26:1111;
  }
  on 3.ituenix.de {
    disk /dev/loop1;
    address 192.168.178.28:1111;
  }
}


Man muss nicht viel machen. Man muss letzteres Konfigurationsskript auf jeden Fall, auf beiden nodes erstellen.

Wichtig ist - auf beiden Servern ausführen:

# apt-get install drbd8-utils
# apt-get install xfsprogs

# dd if=/dev/zero of=nextclouddrbd.img bs=1024k count=1024
# losetup /dev/loop1 nextclouddrbd.img

# kate /etc/drbd.d/nextclouddrbd.res

Node1:

# modprobe drbd
# drbdadm up r0
# cat /proc/drbd

Node2:

# modprobe drbd
# drbdadm up r0
# drbdadm -- --overwrite-data-of-peer primary r0
# cat /proc/drbd

Erklärung: Erst installieren wir die entsprechenden Pakte - drbd und xfs

Dann erstellen wir ein Image - ein Loopback-Device:

# dd if=/dev/zero of=nextclouddrbd.img bs=1024k count=1024

Der Name ist egal. Aus dem Bauch heraus ist die Endung *.img und der Name des Image der Name der Verwendung

Was wir hier eingeben:

# kate /etc/drbd.d/nextclouddrbd.res

Wenn wir mit KDE arbeiten, nehmen wir kate als Editor und starten ihn als root aus der Konsole heraus

Das Skript

/etc/drbd.d/nextclouddrbd.res

existiert noch nicht. Wir legen es an. Es muss die Endung *.res haben und in /etc/drbd.d/ liegen. Aber der Name ist nachher egal.

Hier schreiben wir rein:

# cat drbd-demo.res 
resource r0 {
  meta-disk internal;
  device /dev/drbd1;
  syncer {
    verify-alg sha1;
  }
  net {
    allow-two-primaries;
  }
  on ituenix {
    disk /dev/loop1;
    address 192.168.178.26:1111;
  }
  on ituenix3 {
    disk /dev/loop1;
    address 192.168.178.28:1111;
  }
}

Dabei ist wichtig dass die IP-Adressen stimmen. Und dass die Namen stimmen. 

Wichtig ist der Name r0. In der ersten geposteten Quelle aus dem WWW heißt dieser

drbddemo

Das ist aber unser Problem, wie wir den nennen, ich würde ihn "r0" nennen.

Jetzt kommen ein paar kleine Schritte:

# modprobe drbd
# drbdadm up r0
# drbdadm -- --overwrite-data-of-peer primary drbddemo
# cat /proc/drbd

Wichtig ist das - das können wir immer nur auf dem primary ausführen:

# mkfs.xfs /dev/drbd1
# mount /dev/drbd1 /mnt

Da wir aber primary und secondary nachher vertauschen können, können wir feststellen, Dateien wurden auf beiden Platten identisch angelegt.