Einführung in GlusterFS (Dateisystem) und Installation auf RHEL/CentOS und Fedora

Wir leben in einer Welt, in der Daten auf unvorhersehbare Weise wachsen, und es ist unsere Notwendigkeit, diese Daten, unabhängig davon, ob sie strukturiert oder unstrukturiert sind, auf effiziente Weise zu speichern. Verteilte Rechensysteme bieten eine Vielzahl von Vorteilen gegenüber zentralisierten Rechensystemen. Hier wird Daten verteilt auf mehreren Knoten als Servern gespeichert.

GlusterFS Storage

Der Begriff eines Metadatenservers ist in einem verteilten Dateisystem nicht mehr erforderlich. In verteilten Dateisystemen bietet es einen gemeinsamen Standpunkt aller Dateien, die auf verschiedenen Servern verteilt sind. Dateien/Verzeichnisse auf diesen Speicherservern werden auf normale Weise zugegriffen.

Zum Beispiel können die Berechtigungen für Dateien/Verzeichnisse wie im üblichen Systemberechtigungsmodell gesetzt werden, d.h. der Eigentümer, die Gruppe und andere. Der Zugriff auf das Dateisystem hängt grundsätzlich davon ab, wie das spezifische Protokoll gestaltet ist, um auf der gleichen Arbeitsweise zu arbeiten.

Was ist GlusterFS?

GlusterFS ist ein verteiltes Dateisystem, das im Benutzerraum verwendet werden soll, d.h. Dateisystem im Benutzerraum (FUSE). Es ist ein softwarebasiertes Dateisystem, das seine eigene Flexibilitätseigenschaft berücksichtigt.

Schauen Sie sich folgendes Diagramm an, das die Position von GlusterFS in einem hierarchischen Modell schematisch darstellt. Standardmäßig wird das TCP-Protokoll von GlusterFS verwendet.

GlusterFS Design

Vorteile von GlusterFS

  1. Innovation – Es beseitigt die Metadaten und kann die Leistung drastisch verbessern, was uns dabei hilft, Daten und Objekte zu vereinheitlichen.
  2. Elastizität – Angepasst an das Wachstum und die Größenreduzierung der Daten.
  3. Skaliere linear – Es hat Zugriff auf Petabytes und darüber hinaus.
  4. Einfachheit – Es ist einfach zu verwalten und unabhängig vom Kernel, während es im Benutzerbereich läuft.

Was macht Gluster unter anderen verteilten Dateisystemen herausragend?

  1. Skalierbar – Das Fehlen eines Metadatenservers sorgt für ein schnelleres Dateisystem.
  2. Erschwinglich – Es wird auf Standardhardware bereitgestellt.
  3. Flexibel – Wie bereits erwähnt, ist GlusterFS ein rein softwarebasiertes Dateisystem. Hier werden Daten auf nativen Dateisystemen wie ext4, xfs usw. gespeichert.
  4. Open Source – Derzeit wird GlusterFS von Red Hat Inc, einem Milliarden-Dollar-Open-Source-Unternehmen, als Teil von Red Hat Storage gepflegt.

Speicherkonzepte in GlusterFS

  1. Brick – Ein Brick ist im Grunde ein Verzeichnis, das dazu bestimmt ist, unter dem vertrauenswürdigen Speicherpool geteilt zu werden.
  2. Vertrauenswürdiger Speicherpool – ist eine Sammlung dieser freigegebenen Dateien/Verzeichnisse, die auf dem entworfenen Protokoll basieren.
  3. Blockspeicher – Dabei handelt es sich um Geräte, über die die Daten in Form von Blöcken zwischen Systemen verschoben werden.
  4. Cluster – In Red Hat Storage haben sowohl Cluster als auch vertrauenswürdiger Speicherpool die gleiche Bedeutung der Zusammenarbeit von Speicherservern basierend auf einem definierten Protokoll.
  5. Verteiltes Dateisystem – Ein Dateisystem, bei dem Daten über verschiedene Knoten verteilt sind, auf die Benutzer zugreifen können, ohne den tatsächlichen Speicherort der Datei zu kennen. Der Benutzer hat nicht das Gefühl von Remotezugriff.
  6. FUSE – Es handelt sich um ein nachladbares Kernelmodul, das es Benutzern ermöglicht, Dateisysteme über dem Kernel zu erstellen, ohne dass dabei Kernelcode involviert ist.
  7. glusterd – glusterd ist der GlusterFS-Verwaltungsdämon, der das Rückgrat des Dateisystems bildet und während der gesamten Zeit läuft, in der die Server aktiv sind.
  8. POSIX – Portable Operating System Interface (POSIX) ist die Familie von Standards, die vom IEEE definiert wurden, um die Kompatibilität zwischen Unix-Varianten in Form einer Application Programmable Interface (API) zu gewährleisten.
  9. RAID – Redundant Array of Independent Disks (RAID) ist eine Technologie, die durch Redundanz die Zuverlässigkeit der Speicherung erhöht.
  10. Untervolumen – Ein Brick, der nach der Verarbeitung durch mindestens einen Übersetzer entsteht.
  11. Übersetzer – Ein Übersetzer ist der Codeabschnitt, der die vom Benutzer am Mountpunkt initiierten grundlegenden Aktionen ausführt. Er verbindet ein oder mehrere Untervolumen.
  12. Volumen – Ein Volumen ist eine logische Sammlung von Bricks. Alle Operationen basieren auf den verschiedenen Arten von Volumen, die vom Benutzer erstellt wurden.
Verschiedene Arten von Volumen

Repräsentationen verschiedener Arten von Volumen und Kombinationen dieser grundlegenden Volumenarten sind ebenfalls erlaubt, wie unten dargestellt.

Distributed Volume
Replicated Volume
Striped Volume
Verteilter replizierter Volume

Repräsentation eines verteilten replizierten Volumes.

Distributed Replicated Volume

Installation von GlusterFS in RHEL/CentOS und Fedora

In diesem Artikel werden wir GlusterFS zum ersten Mal für eine hohe Speicherverfügbarkeit installieren und konfigurieren. Dazu nehmen wir zwei Server, um Volumes zu erstellen und Daten zwischen ihnen zu replizieren.

Schritt 1: Mindestens zwei Knoten haben

  1. Installieren Sie CentOS 6.5 (oder ein anderes Betriebssystem) auf zwei Knoten.
  2. Setzen Sie Hostnamen mit den Namen „server1“ und „server2„.
  3. A working network connection.
  4. Speicherfestplatte auf beiden Knoten mit dem Namen „/data/brick„.

Schritt 2: EPEL- und GlusterFS-Repository aktivieren

Vor der Installation von GlusterFS auf beiden Servern müssen wir die EPEL– und GlusterFS-Repositorys aktivieren, um externe Abhängigkeiten zu erfüllen. Verwenden Sie den folgenden Link, um das epel-Repository unter beiden Systemen zu installieren und zu aktivieren.

  1. Wie man das EPEL-Repository in RHEL/CentOS aktiviert

Anschließend müssen wir das GlusterFs-Repository auf beiden Servern aktivieren.

# wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo

Schritt 3: GlusterFS installieren

Installieren Sie die Software auf beiden Servern.

# yum install glusterfs-server

Starten Sie den GlusterFS-Verwaltungsdämon.

# service glusterd start

Überprüfen Sie nun den Status des Dämons.

# service glusterd status
Beispiel-Ausgabe
service glusterd start
  service glusterd status
  glusterd.service - LSB: glusterfs server
   	  Loaded: loaded (/etc/rc.d/init.d/glusterd)
  	  Active: active (running) since Mon, 13 Aug 2012 13:02:11 -0700; 2s ago
  	 Process: 19254 ExecStart=/etc/rc.d/init.d/glusterd start (code=exited, status=0/SUCCESS)
  	  CGroup: name=systemd:/system/glusterd.service
  		  ├ 19260 /usr/sbin/glusterd -p /run/glusterd.pid
  		  ├ 19304 /usr/sbin/glusterfsd --xlator-option georep-server.listen-port=24009 -s localhost...
  		  └ 19309 /usr/sbin/glusterfs -f /var/lib/glusterd/nfs/nfs-server.vol -p /var/lib/glusterd/...

Schritt 4: SELinux und iptables konfigurieren

Öffnen Sie ‚/etc/sysconfig/selinux‚ und ändern Sie SELinux auf den Modus „permissive“ oder „disabled“ auf beiden Servern. Speichern und schließen Sie die Datei.

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

Als nächstes löschen Sie die iptables in beiden Knoten oder erlauben den Zugriff auf den anderen Knoten über iptables.

# iptables -F

Schritt 5: Konfigurieren Sie den vertrauenswürdigen Pool

Führen Sie den folgenden Befehl auf ‚Server1‘ aus.

gluster peer probe server2

Führen Sie den folgenden Befehl auf ‚Server2‘ aus.

gluster peer probe server1

Hinweis: Sobald dieser Pool verbunden ist, dürfen nur vertrauenswürdige Benutzer neue Server in diesen Pool einbinden.

Schritt 6: Richten Sie ein GlusterFS-Volume ein

Auf beiden Server1 und Server2.

# mkdir /data/brick/gv0

Erstellen Sie ein Volume auf einem einzelnen Server und starten Sie das Volume. Hier habe ich ‚Server1‘ genommen.

# gluster volume create gv0 replica 2 server1:/data/brick1/gv0 server2:/data/brick1/gv0
# gluster volume start gv0

Bestätigen Sie als nächstes den Status des Volumes.

# gluster volume info

Hinweis: Falls das Volume nicht gestartet ist, werden Fehlermeldungen unter ‚/var/log/glusterfs‚ auf einem oder beiden Servern protokolliert.

Schritt 7: Überprüfen Sie das GlusterFS-Volume

Mounten Sie das Volume in ein Verzeichnis unter ‚/mnt‚.

# mount -t glusterfs server1:/gv0 /mnt

Jetzt können Sie Dateien im Mount-Punkt erstellen, bearbeiten als eine einzige Ansicht des Dateisystems.

Features von GlusterFS

  1. Selbstheilung – Wenn einer der Bricks in einem replizierten Volume ausfällt und Benutzer die Dateien in den anderen Bricks ändern, wird der automatische Selbstheilungs-Dämon aktiv, sobald der Brick beim nächsten Mal wieder hochgefahren wird, und die während der Ausfallzeit aufgetretenen Transaktionen werden entsprechend synchronisiert.
  2. Rebalancieren – Wenn wir einem vorhandenen Volume, in dem zuvor eine große Menge Daten gespeichert war, einen neuen Brick hinzufügen, können wir eine Rebalancierungsoperation durchführen, um die Daten auf alle Bricks, einschließlich des neu hinzugefügten Bricks, zu verteilen.
  3. Geo-Replikation – Sie bietet Backups von Daten für die Katastrophensicherung. Hier kommt das Konzept von Master- und Slave-Volumes ins Spiel. So kann bei Ausfall des Masters auf die gesamten Daten über den Slave zugegriffen werden. Diese Funktion wird verwendet, um Daten zwischen geografisch getrennten Servern zu synchronisieren. Das Initialisieren einer Geo-Replikations-Sitzung erfordert eine Reihe von Gluster-Befehlen.

Hier ist der folgende Bildschirmausschnitt, der das Geo-Replikationsmodul zeigt.

Geo Replication

Referenzlinks

GlusterFS-Startseite

Das war es vorerst! Bleiben Sie für eine detaillierte Beschreibung der Funktionen wie Selbstheilung und Re-Balancieren, Geo-Replikation usw. in meinen kommenden Artikeln auf dem Laufenden.

Source:
https://www.tecmint.com/introduction-to-glusterfs-file-system-and-installation-on-rhelcentos-and-fedora/