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.