Ich habe gerade ein wenig mit Gluster-FS herum gespielt, damit kann man ja extrem einfach ein Cluster-Filesystem aufsetzen – allerdings hat’s mit einem Linux im LXC Container nicht wirklich so funktioniert wie es sollte.
Nach etlichen misslungenen Mount Versuchen habe ich im Logfile folgende Fehlermeldung gefunden:
[2022-09-22 06:41:20.617350] E [mount.c:468:gf_fuse_mount] 0-glusterfs-fuse: cannot open /dev/fuse (No such file or directory)
Das passiert dann wohl nur in einem LXC Container… 🙂
Es fehlt also /dev/fuse – das Einfachste führt oft zur Lösung – also einfach mal anlegen versuchen…:
mknod /dev/fuse c 10 229
Und schon klappt der Mount Befehl „mount -t glusterfs wg-cl01:/vol01 /srv/samba“ auf Anhieb.
Nochmal kurz die Befehle zum anlegen des Cluster Filesystems:
# IP Adressen in /etc/hosts auf allen Systemen eintragen:
10.0.1.2 wg-srv
10.0.1.3 wg-cl01
10.0.1.4 wg-cl02
# auf den beiden Daten-Server (wg-cl01 und wg-cl02) den glusterfs-Server installieren
apt install glusterfs-server -y
sudo systemctl start glusterd
sudo systemctl enable glusterd
systemctl status glusterd
glusterfsd --version
# nun verbinden wir die beiden server -
gluster peer probe wg-cl02
# Der Befehl muss nur auf einem Server aufgerufen werden damit sind die beiden dann verbunden! Die nächsten beiden Befehle liefern dann den Status bzw. eine Liste der Cluster Knoten:
gluster peer status
gluster pool list
# am wg-cl01 und wg-cl02 das Datenverzeichnis anlegen: /data
mkdir /data
# und das eigentliche cluster-Volume erstellen:
gluster volume create vol01 replica 2 transport tcp wg-cl01:/data wg-cl02:/data force
# status des volumes prüfen:
gluster volume start vol01
gluster volume info vol01
# am wg-srv zum Mounten den glusterfs-client installieren
apt install glusterfs-client
mkdir /srv/samba
mount -t glusterfs wg-cl01:/vol01 /srv/samba
Jetzt ist das Volumen vol01 am wg-srv gemountet und alle Daten die dort im /srv/samba Verzeichnis landen sollten am wg-cl01 und wg-cl02 im /data Verzeichnis zu finden sein.
Das Ganze kombiniert mit Samba, LXC und zwei physischen Servern kann ein Linux-AD schnell deutlich sicherer machen als nur auf einem System…
Als Beispiel:
Server1 -> LXC Container mit dem AD-Server und einem LXC Container mit File-Server, GlusterFS liefert die Grundlage für’s Datenverzeichnis welches im File-Server via GlusterFS gemountet und freigegeben ist. Der LXC Container des File-Servers liegt auch im GlusterFS und ist somit auf beiden Systemen identisch.
Server2 -> zweiter Konten im GlusterFS – LXC Container mit dem zweiten AD-Server. Mit keepalived auf beiden Servern wird geprüft welcher Server aktuell den File-Server gestartet hat bzw. wenn Server1 aktiv ist läuft dieser immer dort.