So installierst du GlusterFS unter Rocky Linux

GlusterFS oder Gluster File System ist ein freies und quelloffenes verteiltes Dateisystem, das von RedHat entwickelt wurde. GlusterFS ist ein skalierbares Dateisystem, das sich aus mehreren Servern zu einem einzigen Dateisystem zusammensetzt, das es den Nutzern ermöglicht, das GlusterFS-Volumen zu verbinden und zu mounten.

GlusterFS ist ein modernes Dateisystem, das Petabytes an Daten bewältigen kann. Außerdem ist es einfach zu installieren und zu warten und kann leicht skaliert werden.

In diesem Lernprogramm lernst du, wie du GlusterFS auf zwei Rocky Linux-Systemen installierst und das Clustering zwischen zwei Servern einrichtest. Außerdem erfährst du, wie du ein GlusterFS-Volume auf dem Client-Rechner einhängst.

Voraussetzung

  • Zwei Rocky Linux Server mit einer zusätzlichen Festplatte auf jedem Server.
  • Ein Root-Passwort ist auf beiden Servern eingerichtet

Einrichten von FQDN und /etc/hosts

Bevor du beginnst, musst du auf jedem Server den FQDN und die Datei /etc/hosts einrichten.

Im Folgenden findest du den detaillierten Server, den wir für die Erstellung des GlusterFS-Clusters verwenden werden:

  • server1.localdomain.lan mit der IP-Adresse 192.168.10.15
  • server2.localdomain.lan mit der IP-Adresse 192. 168.10.20

Um den FQDN auf jedem Server einzurichten, führe den folgenden Befehl hostnamectl aus.

Auf Server1 führst du den folgenden Befehl hostnamectl aus.

sudo hostnamectl set-hostname server1.localdomain.lan

Und auf Server2 führst du den folgenden Befehl aus.

sudo hostnamectl set-hostname server2.localdomain.lan

Als nächstes bearbeitest du die Konfiguration /etc/hosts mit dem Editor nano.

sudo nano /etc/hosts

Füge die folgende Konfiguration ein.

192.168.10.15 server1.localdomain.lan
192.168.10.20 server2.localdomain.lan

Speichere die Datei, indem du Strg+X drückst und zur Bestätigung Y eingibst.

Teste nun die Verbindung zwischen Server1 und Server2 mit dem unten stehenden Ping-Befehl.

ping -c3 server1.localdomain.lan
ping -c3 server2.localdomain.lan

Jeder lokale Domainname wird in die richtige IP-Adresse des Servers aufgelöst.

fqdn und hosts-Datei konfigurieren

Einrichten der Partition

Für den Einsatz von GlusterFS wird empfohlen, verschiedene Festplattenspeicher zu verwenden, insbesondere für die Produktionsumgebung.

Für dieses Lernprogramm haben sowohl Server1 als auch Server2 eine sekundäre Festplatte /dev/vdb1 mit einer Größe von 5 GB.

Bearbeite nun die /etc/fstab-Konfiguration mit dem nano-Editor, um deine Festplatte hinzuzufügen.

sudo nano /etc/fstab

Für Server1 wird die Platte /dev/vda1 in das Verzeichnis /data/vol1 eingehängt.

/dev/vda1 /data/vol1 ext4 default 0 0

Für Server2 wird die Festplatte /dev/vda1 in das Verzeichnis /data/vol2 eingehängt.

/dev/vda1 /data/vol2 ext4 default 0 0

Als Nächstes mountest du die Festplatte /dev/vda1 mit dem unten stehenden Befehl.

sudo mount -a

Wenn keine Fehlermeldung angezeigt wird, überprüfe die Liste der gemounteten Festplatten auf jedem System, indem du den Befehl df wie folgt ausführst.

sudo df -h

Du solltest sehen, dass die Festplatte /dev/vda1 in das Verzeichnis /data eingebunden ist.

Bevor du mit der Installation und Konfiguration des GlusterFS-Clusters beginnst, führe den folgenden Befehl aus, um das Verzeichnis brick0 innerhalb des Verzeichnisses /data zu erstellen.

Auf Server1 führst du den unten stehenden Befehl aus.

sudo mkdir -p /data/vol1/brick0

Für Server2 führst du den unten stehenden Befehl aus.

sudo mkdir -p /data/vol2/brick0

Hinzufügen des GlusterFS-Repositorys für Rocky Linux

Nachdem du die Festplatte erfolgreich eingerichtet hast, installierst du nun die GlusterFS-Pakete auf deinen Rocky Linux-Servern.

Das aktuelle Rocky Linux stellt noch keine GlusterFS-Serverpakete bereit, aber du kannst die CentOS-Release-GlusterFS-Pakete verwenden.

Füge das GlusterFS-Repository mit folgendem Befehl zu deinem Rocky Linux-System hinzu.

sudo dnf install centos-release-gluster9

Gib y ein, um die Installation zu bestätigen und drücke ENTER, um fortzufahren.

glusterfs Repository hinzufügen

Als nächstes gehst du in das Verzeichnis /etc/yum.repos.d/ und bearbeitest die Repository-Konfioguration CentOS-Gluster-9.repo mit dem Editor nano.

cd /etc/yum.repos.d/
sudo nano CentOS-Gluster-9.repo

Ändere die baseurl Zeile mit dem Rocky Linux Repository und kommentiere die mirrorlist Zeile wie folgt

# CentOS-Gluster-9.repo
#
# Please see http://wiki.centos.org/SpecialInterestGroup/Storage for more
# information

[centos-gluster9]
name=CentOS-$releasever – Gluster 9
#mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=$releasever&repo=storage-gluster-9
baseurl=https://dl.rockylinux.org/vault/centos/8.5.2111/storage/x86_64/gluster-9/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage

[centos-gluster9-test]
name=CentOS-$releasever – Gluster 9 Testing
baseurl=http://buildlogs.centos.org/centos/$releasever/storage/$basearch/gluster-9/
gpgcheck=0
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage

Speichere die Datei mit Strg+X und Y zur Bestätigung.

Überprüfe nun das verfügbare Repository auf deinem Rocky Linux System mit dem folgenden Befehl.

sudo dnf repolist

Du wirst das CentOS Release Repository für GlusterFS 9 sehen.

Repository konfigurieren

Installation von GlusterFS Server

Installiere nun die GlusterFS Pakete auf dem Rocky Linux System mit dem folgenden dnf Befehl.

sudo dnf install glusterfs glusterfs-libs glusterfs-server

Gib Y ein, um die Installation zu bestätigen und drücke ENTER, um fortzufahren.

glusterfs Server installieren

Nachdem die Installation abgeschlossen ist, starte den glusterfsd-Dienst und füge ihn mit dem folgenden Befehl zum Systemstart hinzu.

sudo systemctl enable glusterfsd.service
sudo systemctl start glusterfsd.service

Überprüfe nun den Status des glusterfsd-Dienstes mit dem folgenden Befehl.

sudo systemctl status glusterfsd.service

Du wirst sehen, dass der glusterfsd-Dienst mit dem Status exited aktiv ist, was bedeutet, dass er zwar läuft, aber der systemd-Manager keinen Daemon zur Überwachung findet.

glusterfs starten und verifizieren

Port mit Firewalld öffnen

Bevor du mit der Konfiguration des GlusterFS-Clusters beginnen kannst, musst du den Port für den GlusterFS-Dienst öffnen.

Auf RHEL Linux-basierten Betriebssystemen ist die Standard-Firewall-Anwendung firewalld, die das Kommandozeilen-Tool firewall-cmd zur Verwaltung der Firewall bereitstellt.

Füge den Dienst glusterfs zu deiner Firewalld-Konfiguration hinzu und lade die Firewalld mit dem unten stehenden Befehl neu.

sudo firewall-cmd --add-service=glusterfs --permanent
sudo firewall-cmd --reload

Überprüfe danach die Liste der Dienste auf der Firewalld mit dem folgenden Befehl.

sudo firewall-cmd --list-services

Du wirst sehen, dass der glusterfs-Dienst zur Firewalld hinzugefügt wurde.

firewalld einrichten

Initialisierung des GlusterFS-Clusters

Der nächste Schritt ist die Initialisierung und Einrichtung des GlusterFS-Clusters auf den Rocky Linux-Systemen.

Zunächst initialisierst du den GlusterFS-Cluster mit dem folgenden Befehl. Dieser Befehl muss auf dem Server1 ausgeführt werden und kann nur einmal ausgeführt werden.

Mit diesem Befehl fügst du server2.localdomain.lan zum GlusterFS-Peer auf Server1 hinzu. Außerdem wird Server2 automatisch initialisiert, nachdem der folgende Befehl ausgeführt wurde.

sudo gluster peer probe server2.localdomain.lan

Jetzt solltest du die Meldung „peer probe: success“sehen .

Als nächstes überprüfst du den Peer-Status auf Server1 mit dem folgenden Befehl.

sudo gluster peer status

Du solltest sehen, dass es nur einen Peer auf Server1 gibt.

Peer glusterfs initialisieren und Peer überprüfen

Führe auch den folgenden Befehl auf Server2 aus, um die verfügbaren Peers auf Server2 zu überprüfen.

sudo gluster peer status

Du solltest sehen, dass es nur einen Peer auf Server2 gibt.

Peer-Status prüfen server2

GlusterFS-Volumen erstellen

Nachdem du den GlusterFS-Cluster erfolgreich initialisiert hast, erstellst du ein neues GlusterFS-Volume, das von den Client-Rechnern genutzt werden soll.

In diesem Lernprogramm erstellst du ein neues Volume mit dem Namen myvolume und dem Typ Replikat von 2 Festplatten von Server1 und Server2.

sudo gluster volume create myvolume replica 2 server1.localdomain.lan:/data/vol1/brick0 server2.localdomain.com:/data/vol2/brick0

Bestätige nun mit y und drücke ENTER, um das GlusterFS-Volume zu erstellen.

Wenn der Vorgang erfolgreich war, siehst du eine Ausgabe wie im folgenden Screenshot.

glusterfs-Volume erstellen

Als nächstes startest du das Glusterfs-Volume myvolume mit dem folgenden Befehl.

sudo gluster volume start myvolume

Du siehst die Meldung „volume start: myvolume: success“, was bedeutet, dass das myvolume gestartet ist.

Führe nun den folgenden Befehl aus, um den Status des GlusterFS-Volumes zu überprüfen.

sudo gluster volume status

Unten siehst du, dass der Status von myvolume online ist und von den Clients genutzt werden kann.

glusterfs-Volumen starten

Optional kannst du den Status des GlusterFS-Volumes auch mit dem folgenden Befehl überprüfen.

sudo gluster volume info

Du siehst, dass das Volume myvolume mit dem Typ replicate und dem Status gestartet ist. Das myvolume basiert auf der Festplatte auf Server1 und Server2.

check glusterfs volume

Einhängen des GlusterFS-Volumes auf dem Client-Rechner

Jetzt hast du das GlusterFS-Volume myvolume erstellt. Als Nächstes erfährst du, wie du den Client-Rechner einrichtest und das GlusterFS-Volume mountest.

In diesem Lernprogramm verwenden wir den Client-Rechner mit dem Namen client.

Bearbeite die Konfiguration /etc/hosts auf deinem Client-Rechner mit dem Editor nano.

sudo nano /etc/hosts

Füge die folgende Konfiguration ein.

192.168.10.15 server1.localdomain.lan
192.168.10.20 server2.localdomain.lan

Speichere die Datei mit Strg+X und gib zur Bestätigung Y ein.

Um die Verbindung zwischen dem Client-Rechner und dem GlusterFS-Server zu überprüfen, führe den folgenden Ping-Befehl aus.

ping -c3 server1.localdomain.lan

Du wirst sehen, dass der Client-Befehl sich mit dem GlusterFS-Server verbinden kann.

Überprüfen der Client-Verbindung zum glusterfs-Server

Als Nächstes installierst du das GlusterFS-Clientpaket aus dem AppStream Rocky Linux Repository mit dem folgenden Befehl.

sudo dnf install glusterfs-client

Gib y ein, um die Installation zu bestätigen und drücke ENTER, um fortzufahren.

glusterfs client installieren

Nachdem die Installation abgeschlossen ist, erstelle ein neues Mount-Verzeichnis /data mit dem folgenden Befehl.

sudo mkdir /data

Hänge das GlusterFS-Volume myvolume mit dem unten stehenden Mount-Befehl in das /data-Verzeichnis ein.

sudo mount.glusterfs server1.localdomain.lan:/myvolume /data

Wenn keine Fehlermeldung angezeigt wird, wurde das GlusterFS-Volume erfolgreich in den Client-Rechner eingebunden.

Führe den folgenden Befehl aus, um das GlusterFS-Volume zu überprüfen.

df -h

Du wirst sehen, dass das GlusterFS-Volumen myvolume erfolgreich in das Verzeichnis /data auf dem Client-Rechner eingehängt wurde.

glusterfs-Volumen einhängen

Testen des Schreibzugriffs und der Hochverfügbarkeit

Wechsle auf dem Client-Rechner in das Verzeichnis /data und erstelle mit dem folgenden Befehl eine neue Datei.

Mit diesem Befehl erstellst du 5 Dateien im /data-Verzeichnis.

cd /data
touch file{1..5}.md

Test neue Dateien erstellen

Gehe nun zu Server1 und überprüfe das Verzeichnis /data/vol1/brick0 mit dem folgenden Befehl.

ls /data/vol1/brick0

Du solltest sehen, dass die Datei auf Server1 verfügbar ist.

Datei von Server1 prüfen

Als nächstes schaltest du Server1 mit folgendem Befehl aus oder fährst ihn herunter.

sudo shutdown -r now

Wechsle wieder zu Server2 und überprüfe den Status von GlusterFS auf Server2 mit dem folgenden Befehl.

sudo gluster peer status

Du wirst sehen, dass der Status von Peer Server1 “ disconnected“ ist.

Peer nicht verbunden

Überprüfe die verfügbaren Dateien im Verzeichnis /data/vol2/brick0 von Server2.

ls /data/vol2/brick0

Du wirst sehen, dass alle Dateien vom Client auch auf Server2 verfügbar sind, was bedeutet, dass die Daten vom Peer-Server repliziert wurden.

Datei von Server2 prüfen

Wenn du jetzt zum Client-Rechner zurückkehrst, siehst du, dass der Status der Verbindung zum GlusterFS-Server immer noch aktiv ist und läuft, auch wenn Server1 ausgefallen ist. Das bedeutet, dass die Hochverfügbarkeit von GlusterFS erfolgreich ist.

Fazit

Herzlichen Glückwunsch! Du hast nun erfolgreich den GlusterFS Clusterspeicher auf Rocky Linux Systemen installiert und konfiguriert. Außerdem hast du gelernt, wie du ein GlusterFS-Volume einrichtest und das GlusterFS-Volume auf dem Client-Rechner einhängst.

Das könnte dich auch interessieren …