GlusterFS auf AlmaLinux 9 installieren
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, sich mit dem GlusterFS-Volumen zu verbinden und es einzuhängen.
GlusterFS ist ein modernes Dateisystem, das Petabytes an Daten verarbeiten kann. Außerdem ist es einfach zu installieren und zu warten, und das Dateisystem lässt sich leicht skalieren.
In dieser Anleitung führen wir dich durch den Installationsprozess von GlusterFS Cluster auf AlmaLinux 9 Servern. Du wirst ein hochverfügbares Dateisystem mit GlusterFS auf AlmaLinux 9 Servern einrichten.
Voraussetzung
Bevor du fortfährst, solltest du sicherstellen, dass du über folgende Voraussetzungen verfügst
- Zwei oder mehr AlmaLinux 9 Server – Diese Demo verwendet zwei AlmaLinux Server srv1 mit der IP-Adresse 192.168.10.41 und srv2 mit der IP-Adresse 192.168.10.42.
- Ein Nicht-Root-Benutzer mit Root-Administrator-Rechten.
- Eine neue Festplatte wird von GlusterFS verwendet.
Vorbereiten von Festplatte und Partition
Es wird empfohlen, eine separate Festplatte für die Erstellung des GlusterFS-Clusters zu verwenden. Auf diese Weise sind deine Daten immer sicher. In der folgenden Demonstration werden zwei verschiedene Server verwendet, wobei jeder Server über eine zusätzliche Festplatte /dev/sdb verfügt.
In diesem Abschnitt erstellst du eine neue Partition auf der Festplatte /dev/sdb, die von GlusterFS verwendet wird.
Führe den folgenden Befehl aus, um die Liste der verfügbaren Festplatten auf deinem System zu überprüfen. In diesem Fall haben wir zwei Festplatten , /dev/sda und /dev/sdb, und die Platte /dev/sdb wird für GlusterFS verwendet werden.
sudo fdisk -l
Gib den folgenden Befehl ein, um eine neue Partition auf der Platte /dev/sdb zu erstellen.
sudo fdisk /dev/sdb
- Gib n ein, um eine neue Partition zu erstellen.
- Wähle den Partitionstyp p für primär.
- Gib als Partitionsnummer 1 ein, um 1 Partition zu erstellen.
- Für den ersten und letzten Sektor der Partition gibst du die Standardwerte ein und drückst ENTER.
- Zum Schluss gibst du w ein, um die Änderungen zu speichern.
Die neue Partition /dev/sdb1 wird erstellt.
Führe nun den folgenden Befehl aus, um die Partition /dev/sdb1 mit dem Dateisystem ext4 zu formatieren.
sudo mkfs.ext4 /dev/sdb1
Danach führst du den folgenden Befehl aus, um ein neues Verzeichnis zu erstellen, das als Ziel-Mount-Verzeichnis für /dev/sdb1 verwendet werden soll.
# Run this on srv1 sudo mkdir -p /data/vol1
# Run this on srv2
sudo mkdir -p /data/vol2
Als Nächstes führst du den folgenden Befehl aus, um /dev/sdb1 in das Verzeichnis /data/vol1 einzuhängen. Überprüfe dann die Liste der eingehängten Dateisysteme und das neue Verzeichnis /data/vol1/brick0.
# Run this on srv1 sudo mount /dev/sdb1 /data/vol1 sudo df -h sudo mkdir -p /data/vol1/brick0
Wiederhole den Befehl auf dem srv2-Server wie folgt:
# Run this on srv2 sudo mount /dev/sdb1 /data/vol2 sudo df -h sudo mkdir -p /data/vol2/brick0
FQDN konfigurieren
In diesem Abschnitt richtest du den FQDN (Fully Qualified Domain Name) für jeden AlmaLinux-Server ein, der für die Erstellung des GlusterFS-Clusters verwendet werden soll,
Führe den folgenden Befehl aus, um den fqdn für jeden Server einzurichten. In diesem Fall hat der srv1-Server den fqdn srv1.hwdomain.lan und der srv2-Server den fqdn srv2.hwdomain.lan.
sudo hostnamectl set-hostname srv1.hwdomain.lan sudo hostnamectl set-hostname srv2.hwdomain.lan
Öffne die Datei /etc/hosts mit dem folgenden Befehl des nano Editors.
sudo nano /etc/hosts
Füge die folgende Konfiguration ein und achte darauf, dass du die Details der einzelnen IP-Adressen änderst.
192.168.10.41 srv1.hwdomain.lan srv1 192.168.10.42 srv2.hwdomain.lan srv2
Speichere und beende die Datei, wenn du fertig bist.
Als Nächstes führst du den folgenden Befehl aus, um den fqdn auf jedem Server zu überprüfen und sicherzustellen, dass der fqdn auf die richtige IP-Adresse zeigt.
sudo hostname -f ping -c3 srv1.hwdomain.lan ping -c3 srv2.hwdomain.lan
Installation von GlusterFS
Jetzt installierst du das GlusterFS-Paket auf allen deinen AlmaLinux-Servern und fügst den GlusterFS-Dienst zur Firewalld hinzu. Für RHEL-basierte Distributionen sind die GlusterFS-Pakete im CentOS SIG (SpecialInterestGroup) Repository verfügbar.
Führe zunächst den folgenden dnf-Befehl aus, um das GlusterFS-Repository zu deinen Servern hinzuzufügen. Gib y ein, wenn du dazu aufgefordert wirst, und drücke ENTER zur Bestätigung.
sudo dnf install centos-release-gluster9
Führe nun den folgenden Befehl aus, um die Liste der Repositories auf deinem System zu überprüfen. Wenn dies erfolgreich war, solltest du sehen, dass das GlusterFS-Repository hinzugefügt wurde.
sudo dnf repolist
Als nächstes führst du den folgenden dnf-Befehl aus, um die GlusterFS-Pakete auf jedem Server zu installieren. Wenn du dazu aufgefordert wirst, gib y zur Bestätigung ein und drücke ENTER.
sudo dnf install glusterfs glusterfs-libs glusterfs-server
Gib außerdem erneut y ein, um den GPG-Schlüssel des GlusterFS-Repositorys hinzuzufügen.
Nachdem GlusterFS installiert ist, führe den folgenden systemctl-Befehl aus, um den glusterfsd-Dienst zu starten und zu aktivieren.
sudo systemctl enable glusterfsd.service sudo systemctl start glusterfsd.service
Überprüfe dann den glusterfsd-Dienst, um sicherzustellen, dass der Dienst läuft.
sudo systemctl status glusterfsd.service
Wenn glusterfsd läuft, solltest du eine aktive (laufende) Ausgabe erhalten.
Führe nun den Befehl firewall-cmd aus, um den GlusterFS-Port hinzuzufügen und lade die Firewalld neu, um die Änderungen zu übernehmen.
sudo firewall-cmd --add-service=glusterfs --permanent sudo firewall-cmd --reload
Überprüfe die Liste der verfügbaren Dienste in der Firewalld mit dem folgenden Befehl. Wenn dies erfolgreich war, solltest du den Dienst glusterfs in der Liste der Firewalld-Dienste sehen.
sudo firewall-cmd --list-all
Initialisierung des GlusterFS-Clusters
Wenn der GlusterFS-Dienst läuft und die Firewalld konfiguriert ist, wirst du als Nächstes den GlusterFS-Cluster initialisieren.
Auf srv1 führst du den unten stehenden gluster-Befehl aus, um den GlusterFS-Cluster zu initialisieren. Achte darauf, dass du srv2.hwdomain.lan mit dem fqdn deines zweiten Servers änderst.
sudo gluster peer probe srv2.hwdomain.lan
Wenn die Initialisierung erfolgreich war, solltest du die Meldung„peer probe success“ erhalten.
Führe nun den folgenden Befehl aus, um den Status des GlusterFS-Clusters zu überprüfen. Du solltest sehen, dass der aktuelle GlusterFS-Cluster mit dem Mitglied srv2.hwdomain.lan Server.
sudo gluster peer status
Wechsle schließlich zum Server srv2.hwdomain.lan und führe den folgenden Gluster-Befehl aus, um den Status des GlusterFS-Clusters zu überprüfen.
sudo gluster peer status
Wenn die Installation erfolgreich war, solltest du sehen, dass das Mitglied des GlusterFS-Clusters der srv1.hwdomain.lan-Server ist.
An diesem Punkt hast du die Installation des GlusterFS-Clusters abgeschlossen. Im nächsten Schritt erstellst du das GlusterFS-Volumen, das von den Client-Rechnern gemountet werden soll.
GlusterFS-Volumen erstellen
Im folgenden Abschnitt erstellst du das GlusterFS-Volumen, das deine Daten automatisch zwischen den Servern innerhalb des GlusterFS-Clusters replizieren wird.
Führe den folgenden Befehl aus, um ein neues GlusterFS-Volume testvol zu erstellen. Gib y ein und bestätige mit ENTER.
sudo gluster volume create testvol replica 2 srv1.hwdomain.lan:/data/vol1/brick0 srv2.hwdomain.lan:/data/vol2/brick0
Nachdem das Volume testvol erstellt wurde, führe den folgenden Befehl aus, um das Volume testvol zu starten.
sudo gluster volume start testvol
Überprüfe nun den Status des GlusterFS-Volumes mit folgendem Befehl. Du solltest das testvol-Volume mit zwei GLusterFS-Servern srv1.hwdomain.lan und srv2.hwdomain.lan sehen.
sudo gluster volume status
Schließlich kannst du mit folgendem Befehl detaillierte Informationen über das GlusterFS-Volume abrufen.
sudo gluster volume info
Einbinden des GlusterFS-Volumes in den Client
Nachdem du das GlusterFS-Volume erstellt hast, musst du es im nächsten Schritt auf dem Client-Rechner einbinden. Dazu musst du das GlusterFS-Client-Paket auf deinen Client-Rechnern installieren.
Füge auf deinem Client-Rechner das GlusterFS-Repository mit dem unten stehenden dnf-Befehl hinzu.
sudo dnf install centos-release-gluster9
Führe nun den folgenden dnf-Befehl aus, um das Paket glusterfs-client zu installieren.
sudo dnf install glusterfs-client
Wenn der Glusterfs-client installiert ist, kannst du das GlusterFS-Volume mounten.
Erstelle ein neues Verzeichnis-Backup mit dem folgenden Befehl. Dieses wird als Zielverzeichnis für das Einhängen des GlusterFS-Volumes verwendet.
sudo mkdir -p /backup
Führe nun den folgenden Befehl aus, um das GlusterFS-Volume testvol vom Server srv1.hwdomain.lan einzuhängen.
sudo mount.glusterfs srv1.hwdomain.lan:/testvol /backup
Überprüfe die Liste der gemounteten Dateisysteme auf deinem System mit dem unten stehenden df-Befehl.
sudo df -h
Du solltest sehen, dass das Volume testvol vom GlusterFS-Server srv1.hwdomain.lan in das Zielverzeichnis /backup eingehängt ist.
Als Nächstes wechselst du in das Verzeichnis /backup und erstellst neue Testdateien, um den Lese- und Schreibzugriff sicherzustellen. Außerdem werden neue Dateien, die du erstellt hast, automatisch auf den GlusterFS-Cluster repliziert.
cd /backup
touch file{1..5}.md ls
Führe auf dem Server srv1 den folgenden Befehl aus, um die Liste der verfügbaren Dateien im Verzeichnis /data/vol1/brick0 zu überprüfen.
ls /data/vol1/brick0
Wenn die Daten repliziert werden, solltest du die neuen Dateien sehen, die du zuvor erstellt hast.
Für den srv2-Server führst du den Befehl ls wie folgt aus. Wenn die Replikation erfolgreich war, solltest du sehen, dass auch auf dem srv2-Server neue Dateien verfügbar sind.
ls /data/vol2/brick0
Fazit
Gute Arbeit! Du hast GlusterFS erfolgreich auf deinen AlmaLinux-Rechnern installiert und einen GlusterFS-Cluster mit zwei Servern erstellt. Außerdem hast du gelernt, wie du Partitionen über die Kommandozeile erstellst, GlusterFS-Volumes erstellst und verwaltest und das GlusterFS-Volume auf dem Client-Rechner einhängst.
Du kannst jetzt damit beginnen, Dateien auf deinem GlusterFS-Cluster zu speichern, und deine Daten werden automatisch auf mehrere Server repliziert.