Hochverfügbarkeitsspeicher mit GlusterFS auf Ubuntu 18.04 LTS

Glusterfs ist ein skalierbares Netzwerk-Dateisystem mit der Möglichkeit, bis zu mehreren Petabyte zu skalieren und Tausende von Clients zu verwalten. Es ist ein Open-Source- und verteiltes Dateisystem, das Festplattenspeicherressourcen von mehreren Servern in einen einzigen Namensraum einsetzt. Es eignet sich für datenintensive Aufgaben wie Cloud Storage und Datenträger-Streaming.

In diesem Tutorial werde ich zeigen, wie man mit GlusterFS auf Ubuntu 18.04 LTS (Bionic Beaver) einen hochverfügbaren Storage-Server einrichtet. Wir werden 3 ubuntu Server, 1 Server als Client und 2 weitere als Speicher verwenden. Jeder Speicherserver wird ein Spiegel des anderen sein, und Dateien werden auf beiden Speicherservern repliziert.

Voraussetzungen

  • 3 Ubuntu 18.04 Server
    • 10.0.15.10 – gfs01
    • 10.0.15.11 – gfs02
    • 10.0.15.12 – Kunde01
  • Root-Privilegien

Was werden wir tun?

  1. GlusterFS Vorinstallation
  2. GlusterFS Server installieren
  3. GlusterFS-Server konfigurieren
  4. GlusterFS-Client einrichten
  5. Testen von Replikation/Spiegelung

Schritt 1 – GlusterFS Vorinstallation

Der erste Schritt, den wir tun müssen, bevor wir Glusterfs auf allen Servern installieren, ist die Konfiguration der Hosts-Datei und das Hinzufügen des GlusterFS-Repository zu jedem Server.

Hosts-Datei konfigurieren

Melden Sie sich bei jedem Server an und erhalten Sie den Root-Zugriff mit dem Befehl ’sudo su‘ und bearbeiten Sie dann die Datei ‚/etc/hosts‘.

vim /etc/hosts

Füge die Hosts-Konfiguration unten ein.

10.0.15.10 gfs01
10.0.15.11 gfs02
10.0.15.12 client01

Speichern und beenden.

Pingen Sie nun jeden Server mit dem Hostnamen wie unten beschrieben.

ping -c 3 gfs01
ping -c 3 gfs02
ping -c 3 client01

Jeder Hostname wird für jede Server-IP-Adresse aufgelöst.

Konfigurieren der Hosts-Datei

GlusterFS-Repository hinzufügen

Installieren Sie das Software-Eigenschaften-Common-Paket auf dem System.

sudo apt install software-properties-common -y

Fügen Sie den Glusterfs-Schlüssel und das Repository hinzu, indem Sie die folgenden Befehle ausführen.

wget -O- https://download.gluster.org/pub/gluster/glusterfs/3.12/rsa.pub | apt-key add -
sudo add-apt-repository ppa:gluster/glusterfs-3.12

Der Befehl aktualisiert alle Repositories. Und wir haben bereits das Glusterfs-Repository zu allen Systemen hinzugefügt.

GlusterFS-Repository hinzufügen

Schritt 2 – GlusterFS Server installieren

In diesem Schritt werden wir den Glusterfs-Server auf den Servern’gfs01′ und’gfs02′ installieren.

Installiere den glusterfs-server mit dem Befehl apt.

sudo apt install glusterfs-server -y

Starten Sie nun den Glusterd-Dienst und aktivieren Sie ihn, um ihn jedes Mal beim Systemstart zu starten.

sudo systemctl start glusterd
sudo systemctl enable glusterd

Der Glusterfs-Server ist nun auf den Servern’gfs01′ und’gfs02′ in Betrieb.

Überprüfen Sie die Dienste und die installierte Softwareversion.

systemctl status glusterd
glusterfsd --version

Install GlusterFS Server

Schritt 3 – GlusterFS-Server konfigurieren

Glusterd-Dienste sind nun betriebsbereit, und der nächste Schritt, den wir tun werden, ist die Konfiguration dieser Server, indem wir einen vertrauenswürdigen Speicherpool erstellen und das verteilte Glusterfs-Volumen erstellen.

Erstellen eines vertrauenswürdigen Speicherpools

Vom’gfs01′-Server müssen wir den’gfs02′-Server zum Glusterfs-Speicherpool hinzufügen.

Führen Sie den folgenden Befehl aus.

gluster peer probe gfs02

Nun sehen wir das Ergebnis’Peer Probe: Erfolg‘, und wir haben den Server’gfs02′ dem Speicher Trusted Pool hinzugefügt.

Überprüfen Sie den Status und die Liste des Speicherpools mit den folgenden Befehlen.

gluster peer status
gluster pool list

Und Sie werden sehen, dass der ‚gfs02‘ Server mit dem Peer-Cluster verbunden ist und sich in der Pool-Liste befindet.

Erstellen eines vertrauenswürdigen Speicherpools

Einrichten des verteilten GlusterFS-Volumens

Nachdem wir den vertrauenswürdigen Speicherpool erstellt haben, werden wir ein neues verteiltes Glusterfs-Volumen erstellen. Wir werden das neue Glusterfs-Volumen basierend auf dem Systemverzeichnis erstellen.

Hinweis:

  • Für die Serverproduktion wird empfohlen, das Glusterfs-Volume mit der anderen Partition und nicht mit einem Systemverzeichnis zu erstellen.

Erstellen Sie ein neues Verzeichnis ‚/glusterfs/distributed‘ auf jedem Bot ‚gfs01‘ und ‚gfs02‘ Server.

mkdir -p /glusterfs/distributed

Und vom ‚gfs01‘ Server aus erstellen Sie das verteilte Glusterfs-Volume namens ‚vol01‘ mit 2 Replikaten ‚gfs01‘ und ‚gfs02‘.

gluster volume create vol01 replica 2 transport tcp \
gfs01:/glusterfs/distributed \
gfs02:/glusterfs/distributed \
force

Jetzt haben wir das verteilte Volumen ‚vol01‘ erstellt – starten Sie das ‚vol01‘ und überprüfen Sie die Volumeninformationen.

gluster volume start vol01
gluster volume info vol01

Und folgendes ist das Ergebnis.

Einrichten des verteilten GlusterFS-Volumens

Zu diesem Zeitpunkt haben wir das Volume’vol01′ mit dem Typ’Replikat‘ und 2 Bricks auf dem Server’gfs01′ und’gfs02′ erstellt. Alle Daten werden automatisch an jeden Replikatserver verteilt, und wir sind bereit, das Volume zu mounten.

Unterhalb der Datenträger-Info’vol01′ vom Server’gfs02′.

Volumeninformation

Schritt 4 – Einrichten des GlusterFS-Clients

In diesem Schritt werden wir das Glusterfs-Volumen ‚vol01‘ auf den Ubuntu-Client mounten, und wir müssen den Glusterfs-Client auf dem Client-Server installieren.

Installieren Sie den glusterfs-client auf dem Ubuntu-System mit dem Befehl apt.

sudo apt install glusterfs-client -y

Erstellen Sie nun ein neues Verzeichnis ‚/mnt/glusterfs‘, wenn die Installation des glusterfs-clients abgeschlossen ist.

mkdir -p /mnt/glusterfs

Und mounten Sie das verteilte Glusterfs-Volumen ‚vol01‘ in das Verzeichnis ‚/mnt/glusterfs‘.

sudo mount -t glusterfs gfs01:/vol01 /mnt/glusterfs

Überprüfen Sie nun das verfügbare Volumen auf dem System.

df -h /mnt/glusterfs

Und wir werden das Glusterfs-Volumen in das Verzeichnis’/mnt/glusterfs‘ aufnehmen.

GlusterFS-Client einrichten

Zusätzlich:

Um Glusterfs dauerhaft auf dem Ubuntu-Client-System einzubinden, können wir das Volume zur ‚/etc/fstab‘ hinzufügen.

Bearbeiten Sie die Konfigurationsdatei ‚/etc/fstab‘.

vim /etc/fstab

Und fügen Sie die Konfiguration unten ein.

gfs01:/vol01 /mnt/glusterfs glusterfs defaults,_netdev 0 0

Speichern und beenden.

Jetzt starten Sie den Server neu und wenn er online ist, erhalten wir das Glusterfs-Volumen’vol01′, das automatisch über die fstab eingebunden wird.

Schritt 5 – Testen der Replikation/Spiegelung

In diesem Schritt werden wir die Datenspiegelung auf jedem Serverknoten testen.

Montieren Sie das Glusterfs-Volumen ‚vol01′ an jedem Glusterfs-Server.

Auf dem Server’gfs01‘.

mount -t glusterfs gfs01:/vol01 /mnt

Auf dem Server’gfs02′.

mount -t glusterfs gfs02:/vol01 /mnt

Nun zurück zum Ubuntu-Client und zum Verzeichnis’/mnt/glusterfs‘ gehen.

cd /mnt/glusterfs

Erstellen Sie einige Dateien mit dem Touch-Befehl.

touch file01 file02 file03

Testreplikation

Überprüfen Sie nun jeden ‚gfs01‘ und ‚gfs02‘ – Server, und wir erhalten alle Dateien, die wir vom Client-Computer erstellt haben.

cd /mnt/
ls -lah

Hier ist das Ergebnis des Servers’gfs01′.

Ergebnis von Server 1

Und hier ist das Ergebnis des’gfs02′ Servers.

Ergebnis von Server 2

Alle Dateien, die wir von der Client-Maschine erstellt haben, werden an alle Glusterfs Volume Node Server verteilt.

Das könnte Dich auch interessieren …