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

Checklisten-Diskette

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.

neue Partition erstellenm

Führe nun den folgenden Befehl aus, um die Partition /dev/sdb1 mit dem Dateisystem ext4 zu formatieren.

sudo mkfs.ext4 /dev/sdb1

Partiturformat

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

Dateisysteme einhängen

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

Dateisysteme einhängen

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

fqdn einrichten

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

glusterfs Repository hinzufügen

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

Auflistung der Repositories

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

glusterfs installieren

Gib außerdem erneut y ein, um den GPG-Schlüssel des GlusterFS-Repositorys hinzuzufügen.

gpg-Schlüssel akzeptieren

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.

glusterfs re service prüfen

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

firewalld einrichten

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

glusterfs initialisieren

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.

glusterfs-Status prüfen

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

Volume glusterfs erstellen

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

Startvolumen

Schließlich kannst du mit folgendem Befehl detaillierte Informationen über das GlusterFS-Volume abrufen.

sudo gluster volume info

glusterfs 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.

glusterfs-Volumen einhängen

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

Testdatei von srv1 erstellen

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

Dateien prüfen

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.

Das könnte dich auch interessieren …