GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So richten Sie den GlusterFS-Speicher unter CentOS 7 / RHEL 7 ein

GlusterFS ist eine kostenlose Open-Source-Datei- und Objektspeicherlösung, die über das Netzwerk auf physischen, virtuellen und Cloud-Servern verwendet werden kann. Der Hauptvorteil von GlusterFS besteht darin, dass wir den Speicher ohne Ausfallzeiten auf mehrere Petabyte hoch- oder ausskalieren können, außerdem bietet es die Redundanz und Hochverfügbarkeit des Speichers.

Wo kann man GluserFS verwenden … ?

GllusterFS-basierter Speicher kann in physischen, virtuellen und Cloud-Servern über das Netzwerk verwendet werden.

Es kann auch in Firmen verwendet werden, in denen früher Multimedia- oder andere Inhalte für Internetnutzer bereitgestellt wurden und die mit Hunderten von Terabyte an Dateien umgehen müssen.

GlusterFS kann auch als Objektspeicher in privaten und öffentlichen Clouds verwendet werden.

Unterschiedliche Terminologie im GlusterFS-Speicher:

  • Vertrauenswürdiger Speicherpool :Es ist eine Gruppe mehrerer Server, die einander vertrauen und einen Speichercluster bilden.
  • Knoten :Ein Knoten ist ein Speicherserver, der an einem vertrauenswürdigen Speicherpool teilnimmt
  • Ziegel :Ein Baustein ist ein LVM-basiertes XFS-Dateisystem (512-Byte-Inodes), das in einem Ordner oder Verzeichnis eingehängt ist.
  • Lautstärke :Ein Volume ist ein Dateisystem, das den Clients über das Netzwerk präsentiert oder gemeinsam genutzt wird. Ein Volume kann mit den Methoden glusterfs, nfs und smbs gemountet werden.
Verschiedene Arten von Volumes, die mit GlusterFS konfiguriert werden können:
  • Bände verteilen :Dies ist das Standardvolume, das erstellt wird, wenn beim Erstellen des Volumes keine Option angegeben wird. Bei dieser Art von Volumen werden Dateien mithilfe eines elastischen Hash-Algorithmus auf die Bausteine ​​verteilt
  • Volumen replizieren :Wie der Name schon sagt, werden bei diesem Volume-Typ Dateien über die Bricks repliziert oder gespiegelt. Mit anderen Worten, eine Datei, die in einen Brick geschrieben wurde, wird auch auf einen anderen Brick repliziert.
  • gestreifte Bände : Bei dieser Art von Volumen werden größere Dateien geschnitten oder in Stücke geteilt und dann über die Bausteine ​​verteilt.
  • Replizierte Volumes verteilen :Wie der Name schon sagt, werden Volume-Dateien zuerst auf die Bricks verteilt und dann auf verschiedene Bricks repliziert.

Es können jedoch andere Kombinationen versucht werden, um verschiedene Volumes zu bilden, z. B. Striped-replicated.

In diesem Artikel werde ich zeigen, wie man GlusterFS Storage auf RHEL 7.x und CentOS 7.x einrichtet. In meinem Fall nehme ich vier RHEL 7 / CentOS 7 Server mit minimaler Installation und gehe davon aus, dass zusätzliche Festplatten an diese Server für die Einrichtung von glustesfs angeschlossen sind.

  • server1.beispiel.com (192.168.43.10 )
  • server2.example.com ( 192.168.43.20 )
  • server3.example.com ( 192.168.43.30 )
  • server4.example.com ( 192.168.43.40 )

Fügen Sie die folgenden Zeilen in die Datei /etc/hosts ein, falls Sie einen eigenen DNS-Server haben.

192.168.43.10  server1.example.com server1
192.168.43.20  server2.example.com server2
192.168.43.30  server3.example.com server3
192.168.43.40  server4.example.com server4

Installieren Sie Glusterfs-Serverpakete auf allen Servern.

Glusterfs-Pakete sind nicht in den standardmäßigen Centos- und RHEL-Repositories enthalten, daher werden wir Gluster-Repo und EPEL-Repo einrichten. Führen Sie die folgenden Befehle nacheinander auf allen 4 Servern aus.

~]# yum install wget
~]# yum install centos-release-gluster -y
~]#yum install epel-release -y
~]# yum install glusterfs-server -y

Starten und aktivieren Sie den GlusterFS-Dienst auf allen vier Servern.

~]# systemctl start glusterd
~]# systemctl enable glusterd

Lassen Sie die Ports in der Firewall zu, damit Server kommunizieren und Speichercluster (vertrauenswürdiger Pool) bilden können. Führen Sie die folgenden Befehle auf allen 4 Servern aus.

~]# firewall-cmd --zone=public --add-port=24007-24008/tcp --permanent
~]# firewall-cmd --zone=public --add-port=24009/tcp --permanent
~]# firewall-cmd --zone=public --add-service=nfs --add-service=samba --add-service=samba-client --permanent
~]# firewall-cmd --zone=public --add-port=111/tcp --add-port=139/tcp --add-port=445/tcp --add-port=965/tcp --add-port=2049/tcp --add-port=38465-38469/tcp --add-port=631/tcp --add-port=111/udp --add-port=963/udp --add-port=49152-49251/tcp --permanent
~]# firewall-cmd --reload

Volume-Setup verteilen:

Ich werde einen vertrauenswürdigen Speicherpool bilden, der aus Server 1 und Server 2 besteht, und darauf Bausteine ​​erstellen und danach ein verteiltes Volume erstellen. Ich gehe auch davon aus, dass beiden Servern eine Raw Disk von 16 GB (/dev/sdb) zugewiesen ist.

Führen Sie den folgenden Befehl von der Konsole von Server 1 aus, um einen vertrauenswürdigen Speicherpool mit Server 2 zu bilden.

[[email protected] ~]# gluster peer probe server2.example.com
peer probe: success.
[[email protected] ~]#

Wir können den Peer-Status mit dem folgenden Befehl überprüfen:

[[email protected] ~]# gluster peer status
Number of Peers: 1

Hostname: server2.example.com
Uuid: 9ef0eff2-3d96-4b30-8cf7-708c15b9c9d0
State: Peer in Cluster (Connected)
[[email protected] ~]#

Baustein auf Server 1 erstellen

Um zuerst einen Brick zu erstellen, müssen wir logische Volumes für die Bereitstellung von Dingen auf der Raw-Festplatte (/dev/sdb) einrichten.

Führen Sie die folgenden Befehle auf Server 1

aus
[[email protected] ~]# pvcreate /dev/sdb /dev/vg_bricks/dist_brick1 /bricks/dist_brick1 xfs rw,noatime,inode64,nouuid 1 2
[[email protected] ~]# vgcreate vg_bricks /dev/sdb
[[email protected] ~]# lvcreate -L 14G -T vg_bricks/brickpool1

Im obigen Befehl ist brickpool1 der Name des dünnen Pools.

Erstellen Sie nun ein logisches Volume von 3 GB

[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool1 -n dist_brick1

Formatieren Sie nun das logische Volume mit dem xfs-Dateisystem

[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/dist_brick1
[[email protected] ~]# mkdir -p /bricks/dist_brick1

Mounte den Brick mit dem Mount-Befehl

[[email protected] ~]# mount /dev/vg_bricks/dist_brick1 /bricks/dist_brick1/

Um es dauerhaft zu mounten, fügen Sie die folgende Zeile in /etc/fsatb

hinzu
/dev/vg_bricks/dist_brick1 /bricks/dist_brick1 xfs rw,noatime,inode64,nouuid 1 2

Erstellen Sie ein Verzeichnis mit Brick unter dem Einhängepunkt

[[email protected] ~]# mkdir /bricks/dist_brick1/brick

Führen Sie auf ähnliche Weise die folgenden Befehle auf Server 2

aus
[[email protected] ~]# pvcreate /dev/sdb ; vgcreate vg_bricks /dev/sdb
[[email protected] ~]# lvcreate -L 14G -T vg_bricks/brickpool2
[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool2 -n dist_brick2
[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/dist_brick2
[[email protected] ~]# mkdir -p /bricks/dist_brick2
[[email protected] ~]# mount /dev/vg_bricks/dist_brick2 /bricks/dist_brick2/
[[email protected] ~]# mkdir /bricks/dist_brick2/brick

Erstellen Sie verteiltes Volume mit dem folgenden Gluster-Befehl :

[[email protected] ~]# gluster volume create distvol server1.example.com:/bricks/dist_brick1/brick server2.example.com:/bricks/dist_brick2/brick
[[email protected] ~]# gluster volume start distvol
volume start: distvol: success
[[email protected] ~]#

Überprüfen Sie den Volume-Status mit folgendem Befehl:

[[email protected] ~]# gluster volume info distvol

Mount Distribute Volume auf dem Client :

Bevor wir das Volume mit glusterfs mounten, müssen wir zuerst sicherstellen, dass das Paket glusterfs-fuse auf dem Client installiert ist. Stellen Sie außerdem sicher, dass Sie die Einträge des Gluster-Speicherservers in die Datei /etc/hosts einfügen, falls Sie keinen lokalen DNS-Server haben.

Melden Sie sich beim Client an und führen Sie den folgenden Befehl von der Konsole aus, um glusterfs-fuse

zu installieren
[[email protected] ~]# yum install glusterfs-fuse -y

Erstellen Sie ein Mount für das Verteilungsvolume :

[[email protected] ~]# mkdir /mnt/distvol

Hängen Sie nun die Datei „distvol“ ein ‘ Verwenden Sie den folgenden Mount-Befehl:

[[email protected] ~]# mount -t glusterfs -o acl server1.example.com:/distvol /mnt/distvol/

Fügen Sie für eine dauerhafte Einbindung den folgenden Eintrag in der Datei /etc/fstab hinzu

server1.example.com:/distvol   /mnt/distvol    glusterfs     _netdev    0 0

Führen Sie den Befehl df aus, um den Ladestatus des Volumes zu überprüfen.

Starten Sie nun den Zugriff auf das Volume „distvol

Volume-Setup replizieren :

Für die Einrichtung des replizierten Volumes werde ich Server 3 und Server 4 verwenden und gehe davon aus, dass den Servern bereits eine zusätzliche Festplatte (/dev/sdb ) für glusterfs zugewiesen ist. Siehe die folgenden Schritte:

Fügen Sie Server 3 und Server 4 im vertrauenswürdigen Speicherpool hinzu

[[email protected] ~]# gluster peer probe server3.example.com
peer probe: success.
[[email protected] ~]# gluster peer probe server4.example.com
peer probe: success.
[[email protected] ~]#

Erstellen und mounten Sie den Brick auf Server 3. Führen Sie die folgenden Befehle nacheinander aus.

[[email protected] ~]# pvcreate /dev/sdb ; vgcreate vg_bricks /dev/sdb
[[email protected] ~]# lvcreate -L 14G -T vg_bricks/brickpool3
[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool3 -n shadow_brick1
[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/shadow_brick1
[[email protected] ~]# mkdir -p /bricks/shadow_brick1
[[email protected] ~]# mount /dev/vg_bricks/shadow_brick1 /bricks/shadow_brick1/
[[email protected] ~]# mkdir /bricks/shadow_brick1/brick

Führen Sie den folgenden Eintrag in der /etc/fstab-Datei für die permanente Ziegelmontage durch:

/dev/vg_bricks/shadow_brick1  /bricks/shadow_brick1/  xfs  rw,noatime,inode64,nouuid 1 2

Führen Sie die gleichen Schritte auf Server 4 zum Erstellen und Mounten von Brick :

aus
[[email protected] ~]# pvcreate /dev/sdb ; vgcreate vg_bricks /dev/sdb
[[email protected] ~]# lvcreate -L 14G -T vg_bricks/brickpool4
[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool4 -n shadow_brick2
[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/shadow_brick2
[[email protected] ~]# mkdir -p /bricks/shadow_brick2
[[email protected] ~]# mount /dev/vg_bricks/shadow_brick2 /bricks/shadow_brick2/
[[email protected] ~]# mkdir /bricks/shadow_brick2/brick

Für eine dauerhafte Befestigung des Bricks führe den fstab-Eintrag aus.

Repliziertes Volume erstellen Verwenden Sie den folgenden Gluster-Befehl .

[[email protected] ~]# gluster volume create shadowvol replica 2 server3.example.com:/bricks/shadow_brick1/brick server4.example.com:/bricks/shadow_brick2/brick
volume create: shadowvol: success: please start the volume to access data
[[email protected] ~]# gluster volume start shadowvol
volume start: shadowvol: success
[[email protected] ~]#

Überprüfen Sie die Lautstärkeinformationen mit dem folgenden Gluster-Befehl:

[[email protected] ~]# gluster volume info shadowvol

Wenn Sie auf dieses Volume zugreifen möchten, „shadowvol ” über nfs folgendes einstellen:

[[email protected] ~]# gluster volume set shadowvol nfs.disable off

Mounten Sie das Replicate-Volume auf dem Client über nfs

Erstellen Sie vor dem Mounten zuerst einen Mountpunkt.

[[email protected] ~]# mkdir /mnt/shadowvol

Hinweis:Eine der Einschränkungen beim Gluster-Speicher besteht darin, dass der GlusterFS-Server nur Version 3 des NFS-Protokolls unterstützt.

Fügen Sie den folgenden Eintrag in der Datei „/etc/nfsmount.conf hinzu ” auf beiden Speicherservern (Server 3 &Server 4)

Defaultvers=3

Nachdem Sie den obigen Eintrag vorgenommen haben, starten Sie beide Server einmal neu. Verwenden Sie den folgenden Mount-Befehl für das Volume „shadowvol

[[email protected] ~]# mount -t nfs -o vers=3 server4.example.com:/shadowvol /mnt/shadowvol/

Fügen Sie für eine permanente Einbindung den folgenden Eintrag in der Datei /etc/fstab hinzu

server4.example.com:/shadowvol  /mnt/shadowvol/  nfs vers=3  0 0

Überprüfen Sie die Größe und den Bereitstellungsstatus des Volumes:

[[email protected] ~]# df -Th

Volume-Setup verteilen-replizieren :

Zum Einrichten des Distribute-Replicate-Volumes verwende ich einen Baustein von jedem Server und bilde das Volume. Ich werde das logische Volume aus dem vorhandenen Thin-Pool auf den jeweiligen Servern erstellen.

Erstellen Sie einen Baustein auf allen 4 Servern mit den folgenden Befehlen

Server 1

[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool1 -n prod_brick1
[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/prod_brick1
[[email protected] ~]# mkdir -p /bricks/prod_brick1
[[email protected] ~]# mount /dev/vg_bricks/prod_brick1 /bricks/prod_brick1/
[[email protected] ~]# mkdir /bricks/prod_brick1/brick

Server 2

[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool2 -n prod_brick2
[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/prod_brick2
[[email protected] ~]# mkdir -p /bricks/prod_brick2
[[email protected] ~]# mount /dev/vg_bricks/prod_brick2 /bricks/prod_brick2/
[[email protected] ~]# mkdir /bricks/prod_brick2/brick

 Server 3

[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool3 -n prod_brick3
[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/prod_brick3
[[email protected] ~]# mkdir -p /bricks/prod_brick3
[[email protected] ~]# mount /dev/vg_bricks/prod_brick3 /bricks/prod_brick3/
[[email protected] ~]# mkdir /bricks/prod_brick3/brick

 Server 4

[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool4 -n prod_brick4
[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/prod_brick4
[[email protected] ~]# mkdir -p /bricks/prod_brick4
[[email protected] ~]# mount /dev/vg_bricks/prod_brick4 /bricks/prod_brick4/
[[email protected] ~]# mkdir /bricks/prod_brick4/brick

Erstellen Sie nun ein Volume mit dem Namen „dist-rep-vol “ mit dem folgenden Gluster-Befehl:

[[email protected] ~]# gluster volume create dist-rep-vol replica 2 server1.example.com:/bricks/prod_brick1/brick server2.example.com:/bricks/prod_brick2/brick server3.example.com:/bricks/prod_brick3/brick server4.example.com:/bricks/prod_brick4/brick force
[[email protected] ~]# gluster volume start dist-rep-vol

Überprüfen Sie die Lautstärkeinformationen mit dem folgenden Befehl:

[[email protected] ~]# gluster volume info dist-rep-vol

In diesem Band werden zuerst Dateien auf zwei beliebige Bricks verteilt und dann werden die Dateien in die verbleibenden zwei Bricks repliziert.

Mounten Sie nun dieses Volume auf dem Client-Rechner über Gluster

Lassen Sie uns zuerst den Einhängepunkt für dieses Volume erstellen:

[[email protected] ~]# mkdir  /mnt/dist-rep-vol
[[email protected] ~]# mount.glusterfs server1.example.com:/dist-rep-vol /mnt/dist-rep-vol/

Fügen Sie den folgenden Eintrag in der fstab für einen dauerhaften Eintrag hinzu

server1.example.com:/dist-rep-vol /mnt/dist-rep-vol/  glusterfs   _netdev 0 0

Überprüfen Sie die Größe und das Volumen mit dem df-Befehl:

Das ist es. Ich hoffe, Ihnen haben die Schritte zur Konfiguration des Gluster-Speichers gefallen.


Cent OS
  1. So richten Sie einen SysLog-Server unter CentOS 7 / RHEL 7 ein

  2. So richten Sie den NFS-Server unter CentOS 7 / RHEL 7 ein

  3. So richten Sie Icinga Web 2 unter CentOS 7 / RHEL 7 ein

  4. So richten Sie den SVN-Server unter CentOS, RHEL und Fedora ein

  5. So richten Sie Mutt in CentOS/RHEL ein

So konfigurieren Sie einen Hochverfügbarkeitscluster unter CentOS 7 / RHEL 7

Installieren und konfigurieren Sie GlusterFS unter CentOS 7 / RHEL 7

So richten Sie einen Chef 12 unter CentOS 7 / RHEL 7 ein

So richten Sie die passwortlose SSH-Anmeldung unter CentOS 8 / RHEL 8 ein

So richten Sie einen zentralisierten SysLog-Server unter CentOS 8 / RHEL 8 ein

So richten Sie die MySQL-Replikation in RHEL/Centos ein