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?
- GlusterFS Vorinstallation
- GlusterFS Server installieren
- GlusterFS-Server konfigurieren
- GlusterFS-Client einrichten
- 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.
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.
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
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.
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.
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′.
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.
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
Ü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′.
Und hier ist das Ergebnis des’gfs02′ Servers.
Alle Dateien, die wir von der Client-Maschine erstellt haben, werden an alle Glusterfs Volume Node Server verteilt.