Mit GlusterFS kann man einen Hochverfügbaren Speicher aufbauen. Für den Versuch brauchen wir drei Server mit Ubuntu 18.04 (bionic). Ubuntu ist auf Laufwerk /dev/sda1 installiert und eine Datenpartition /dev/sdb1.
Wir erstellen eine GPT Partitionstabelle.
sudo parted /dev/sdb mklabel gpt
Legen ein Primäre Patition an.
sudo parted -a opt /dev/sdb mkpart primary ext4 0% 100%
Formatieren diese mit dem Dateisystem Ext4.
sudo mkfs.ext4 /dev/sdb1
Legen zwei Verzeichnisse an.
sudo mkdir /mnt/{data,gluster}
Fügen den Mount hinzu.
echo "/dev/sdb1 /mnt/data ext4 defaults 0 0" | sudo tee -a /etc/fstab
Unsere drei Server können wir in der Hosts Datei hinterlegen.
sudoedit /etc/hosts
192.168.56.101 hostA 192.168.56.102 hostB 192.168.56.103 hostC |
Jetzt kann die Installation von GlusterFS beginnen.
sudo apt-get install glusterfs-server
Der Dienst sollte jetzt laufen.
sudo systemctl status glusterfs-server
Jetzt verbinden wir HostA mit HostB und HostC.
hostA$ sudo gluster peer probe hostB
hostA$ sudo gluster peer probe hostC
Die Anzahl der Peers ist jetzt zwei Stück.
sudo gluster peer status
Auf dem Datenlaufwerk legen wir ein Verzeichnis für das Gluster Volume an.
sudo mkdir -p /mnt/data/gv0
Jetzt erzeugen wir von HostA auf allen drei Server (A,B,C) das Gluster Volume.
hostA$ sudo gluster volume create gv0 192.168.56.101:/mnt/data/gv0 192.168.56.102:/mnt/data/gv0 192.168.56.103:/mnt/data/gv0
Das Volume gv0 müssen wir nur noch starten.
sudo gluster volume start gv0
Jetzt können wir uns weitere Informationen zu dem Volume ansehen.
sudo gluster volume info
Oder den Status überprüfen.
sudo gluster volume status
Oder ansehen, ob Dateien geöffnet sind.
sudo gluster volume top gv0 open
Der Mount von dem Gluster Volume erfolgt in das Verzeichnis /mnt/gluster.
sudo mount -t glusterfs 192.168.56.101:/gv0 /mnt/gluster/
Die Eintragung in Fstab macht es permanent.
hostA$ sudo vim /etc/fstab
192.168.56.101:/gv0 /mnt/gluster glusterfs defaults,_netdev 0 0 |
Auf den Peers von HostB und HostC sieht die Konfiguration etwas anders aus.
hostB$ sudo vim /etc/fstab
192.168.56.101:/gv0 /mnt/gluster glusterfs defaults,_netdev,backupvolfile-server=192.168.56.102 0 0 |
hostC$ sudo vim /etc/fstab
192.168.56.101:/gv0 /mnt/gluster glusterfs defaults,_netdev,backupvolfile-server=192.168.56.103 0 0 |
Man kann auf jedem Host (A,B,C) lesen und schreiben. Die Daten werden zwischen allen Server syncron gehalten.
Man kann auch einen Peer wieder auf dem Cluster entfernen.
sudo gluster volume remove-brick gv0 192.168.0.102:/mnt/data/gv0
sudo gluster peer remove 192.168.56.102
Das ausgleichen von Daten im Volume kann man manuell starten.
sudo gluster volume rebalance gv0 start
Oder man Synchronisiert von einem Host alle anderen Peers.
sudo gluster volume sync 192.168.56.101 all
Quelle: Gluster Docs, Architektur
Schreibe einen Kommentar