GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Hochverfügbarkeitsspeicher mit GlusterFS auf Ubuntu 18.04 LTS

Glusterfs ist ein skalierbares Netzwerkdateisystem mit der Fähigkeit, auf mehrere Petabyte zu skalieren und Tausende von Clients zu handhaben. Es ist ein Open-Source- und verteiltes Dateisystem, das Festplattenspeicherressourcen von mehreren Servern in einem einzigen Namespace zusammenfasst. Es eignet sich für datenintensive Aufgaben wie Cloud-Speicherung und Datenträger-Streaming.

In diesem Tutorial zeige ich, wie man einen hochverfügbaren Speicherserver mit GlusterFS auf Ubuntu 18.04 LTS (Bionic Beaver) einrichtet. Wir werden 3 Ubuntu-Server verwenden, 1 Server als Client und 2 weitere als Speicher. Jeder Speicherserver ist ein Spiegel des anderen 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 - client01
  • Root-Berechtigungen

Was werden wir tun?

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

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-Repositorys zu jedem Server.

Hosts-Datei konfigurieren

Melden Sie sich bei jedem Server an und erhalten Sie Root-Zugriff mit dem Befehl „sudo su“, bearbeiten Sie dann die Datei „/etc/hosts“.

vim /etc/hosts

Hostkonfiguration unten einfügen.

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

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

Jeder Hostname wird in jede Server-IP-Adresse aufgelöst.

GlusterFS-Repository hinzufügen

Installieren Sie das Paket software-properties-common 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 das glusterfs-Repository bereits zu allen Systemen hinzugefügt.

Schritt 2 - GlusterFS-Server installieren

In diesem Schritt installieren wir den glusterfs-Server auf den Servern „gfs01“ und „gfs02“.

Installieren Sie glusterfs-server mit dem apt-Befehl.

sudo apt install glusterfs-server -y

Starten Sie nun den Glusterd-Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet wird.

sudo systemctl start glusterd
sudo systemctl enable glusterd

Der Glusterfs-Server läuft jetzt auf den Servern „gfs01“ und „gfs02“.

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

systemctl status glusterd
glusterfsd --version

Schritt 3 – GlusterFS-Server konfigurieren

Die Glusterd-Dienste sind jetzt betriebsbereit und der nächste Schritt ist die Konfiguration dieser Server, indem wir einen vertrauenswürdigen Speicherpool und das verteilte Glusterfs-Volume erstellen.

Erstellen Sie einen vertrauenswürdigen Speicherpool

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

Jetzt sehen wir das Ergebnis „peer probe:success“, und wir haben den „gfs02“-Server zum Storage Trusted Pool hinzugefügt.

Überprüfen Sie den Speicherpoolstatus und die Liste 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 auf der Pool-Liste befindet.

Verteiltes GlusterFS-Volume einrichten

Nach dem Erstellen des vertrauenswürdigen Speicherpools erstellen wir ein neues verteiltes glusterfs-Volume. Wir erstellen das neue glusterfs-Volume basierend auf dem Systemverzeichnis.

Hinweis:

  • Für die Serverproduktion wird empfohlen, das glusterfs-Volume unter Verwendung der anderen Partition zu erstellen, nicht unter Verwendung eines Systemverzeichnisses.

Erstellen Sie auf jedem Bot-Server „gfs01“ und „gfs02“ ein neues Verzeichnis „/glusterfs/distributed“.

mkdir -p /glusterfs/distributed

Erstellen Sie vom Server „gfs01“ aus das verteilte Glusterfs-Volume mit dem Namen „vol01“ mit zwei Replikaten „gfs01“ und „gfs02“.

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

Jetzt haben wir das verteilte Volume „vol01“ erstellt – starten Sie das „vol01“ und prüfen Sie die Volume-Info.

gluster volume start vol01
gluster volume info vol01

Und folgendes ist das Ergebnis.

In diesem Stadium haben wir das Volume „vol01“ mit dem Typ „Replicate“ und 2 Bricks auf den Servern „gfs01“ und „gfs02“ erstellt. Alle Daten werden automatisch an jeden Replica-Server verteilt, und wir sind bereit, das Volume bereitzustellen.

Unterhalb der Volume-Info „vol01“ vom „gfs02“-Server.

Schritt 4 - GlusterFS-Client einrichten

In diesem Schritt mounten wir das glusterfs-Volume „vol01“ auf dem Ubuntu-Client, und wir müssen den glusterfs-Client auf dem Client-Server installieren.

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

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

Hängen Sie das verteilte Glusterfs-Volume „vol01“ in das Verzeichnis „/mnt/glusterfs“ ein.

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-Volume in das Verzeichnis ‚/mnt/glusterfs‘ einhängen.

Zusätzlich:

Um glusterfs dauerhaft in das Ubuntu-Client-System einzubinden, können wir das Volume zu „/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.

Starten Sie nun den Server neu und wenn er online ist, erhalten wir das Glusterfs-Volume „vol01“ automatisch über die fstab.

Schritt 5 – Replikation/Spiegelung testen

In diesem Schritt testen wir die Datenspiegelung auf jedem Serverknoten.

Mounten Sie das Glusterfs-Volume „vol01“ auf jedem Glusterfs-Server.

Auf dem 'gfs01'-Server.

mount -t glusterfs gfs01:/vol01 /mnt

Auf dem 'gfs02'-Server.

mount -t glusterfs gfs02:/vol01 /mnt

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

cd /mnt/glusterfs

Erstellen Sie einige Dateien mit dem Touch-Befehl.

touch file01 file02 file03

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

cd /mnt/
ls -lah

Hier ist das Ergebnis vom 'gfs01'-Server.

Und hier ist das Ergebnis vom 'gfs02'-Server.

Alle Dateien, die wir vom Client-Rechner erstellt haben, werden an alle Knotenserver des Glusterfs-Volumes verteilt.


Ubuntu
  1. So installieren Sie Nextcloud mit Nginx auf Ubuntu 18.04 LTS

  2. So richten Sie einen iSCSI-Speicherserver unter Ubuntu 18.04 LTS ein

  3. So richten Sie einen iSCSI-Speicherserver unter Ubuntu 20.04 LTS ein

  4. Erstellen eines NFS-ähnlichen eigenständigen Speicherservers mit GlusterFS 3.2.x unter Ubuntu 12.10

  5. Ersteinrichtung des Servers mit Ubuntu 20.04 LTS (Focal Fossa)

So aktualisieren Sie auf Ubuntu 20.04 LTS-Server

So installieren Sie den VsFTPD-Server mit TLS unter Ubuntu 18.04 LTS

So aktualisieren Sie auf Ubuntu Server 22.04 LTS

So installieren Sie Jellyfin Media Server auf Ubuntu 20.04 LTS Server/Desktop

So installieren Sie Plex Media Server auf Ubuntu 20.04 LTS Server/Desktop

So installieren Sie phpMyAdmin mit Apache unter Ubuntu 22.04 LTS