Server Setup · 4 min read · Feb 05, 2026

Erstellen eines NFS-ähnlichen Standalone-Speicherservers mit GlusterFS 3.2.x auf CentOS 6.3

Dieses Tutorial zeigt, wie man einen Standalone-Speicherserver auf CentOS 6.3 einrichtet. Anstelle von NFS werde ich hier GlusterFS verwenden. Das Client-System kann auf den Speicher zugreifen, als ob es sich um ein lokales Dateisystem handelt. GlusterFS ist ein clusterfähiges Dateisystem, das auf mehrere Petabyte skalierbar ist. Es aggregiert verschiedene Speicherbausteine über Infiniband RDMA oder TCP/IP-Verbindungen zu einem großen parallelen Netzwerkdateisystem. Speicherbausteine können aus beliebiger handelsüblicher Hardware wie x86_64-Servern mit SATA-II-RAID und Infiniband HBA bestehen.

Ich gebe keine Garantie, dass dies bei Ihnen funktioniert!

1 Vorbemerkung

In diesem Tutorial verwende ich zwei Systeme, einen Server und einen Client:

  • server1.example.com: IP-Adresse 192.168.0.100 (Server)
  • server2.example.com: IP-Adresse 192.168.0.101 (Client)

Beide Systeme sollten in der Lage sein, den Hostnamen des anderen Systems aufzulösen. Wenn dies nicht über DNS möglich ist, sollten Sie die Datei /etc/hosts bearbeiten, sodass sie auf beiden Systemen wie folgt aussieht:

vi /etc/hosts

| 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 192.168.0.100 server1.example.com server1 192.168.0.101 server2.example.com server2 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 |

(Es ist auch möglich, IP-Adressen anstelle von Hostnamen in der folgenden Einrichtung zu verwenden. Wenn Sie IP-Adressen verwenden möchten, müssen Sie sich keine Gedanken darüber machen, ob die Hostnamen aufgelöst werden können oder nicht.)

2 Aktivieren zusätzlicher Repositories

server1/server2:

Zuerst importieren wir die GPG-Schlüssel für Softwarepakete:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

Dann aktivieren wir das EPEL6-Repository auf unseren beiden CentOS-Systemen:

rpm --import https://fedoraproject.org/static/0608B895.txt
cd /tmp  
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm  
rpm -ivh epel-release-6-7.noarch.rpm
yum install yum-priorities

Bearbeiten Sie /etc/yum.repos.d/epel.repo…

vi /etc/yum.repos.d/epel.repo

… und fügen Sie die Zeile priority=10 zum Abschnitt [epel] hinzu:

| [epel] name=Extra Packages for Enterprise Linux 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [...] |

3 Einrichtung des GlusterFS-Servers

server1.example.com:

GlusterFS ist als Paket für EPEL verfügbar, daher können wir es wie folgt installieren:

yum install glusterfs-server

Erstellen Sie die Systemstartlinks für den Gluster-Daemon und starten Sie ihn:

chkconfig --levels 235 glusterd on  
/etc/init.d/glusterd start

Der Befehl

glusterfsd --version

sollte jetzt die GlusterFS-Version anzeigen, die Sie gerade installiert haben (in diesem Fall 3.2.7):

[root@server1 ~]# glusterfsd --version  
glusterfs 3.2.7 built on Jun 11 2012 13:22:28  
Repository revision: git://git.gluster.com/glusterfs.git  
Copyright (c) 2006-2011 Gluster Inc.   
GlusterFS kommt ohne jegliche Gewährleistung.  
Sie dürfen Kopien von GlusterFS unter den Bedingungen der GNU General Public License weiterverbreiten.  
[root@server1 ~]#

Wenn Sie eine Firewall verwenden, stellen Sie sicher, dass die TCP-Ports 111, 24007, 24008, 24009-(24009 + Anzahl der Bausteine über alle Volumes) auf server1.example.com geöffnet sind.

Als nächstes erstellen wir den Share mit dem Namen testvol auf localhost (= server1) im Verzeichnis /data (dies wird erstellt, wenn es nicht existiert):

gluster volume create testvol server1.example.com:/data
[root@server1 ~]# gluster volume create testvol server1.example.com:/data  
Die Erstellung des Volumes testvol war erfolgreich. Bitte starten Sie das Volume, um auf die Daten zuzugreifen.  
[root@server1 ~]#

Starten Sie das Volume:

gluster volume start testvol

Sie können den Status des Volumes mit dem Befehl

gluster volume info

prüfen:

[root@server1 ~]# gluster volume info
Volume Name: testvol  
Type: Distribute  
Status: Started  
Number of Bricks: 1  
Transport-type: tcp  
Bricks:  
Brick1: server1.example.com:/data  
[root@server1 ~]#

Wenn Ihnen angezeigt wird, dass das Volume gestartet ist, ist alles in Ordnung, andernfalls starten Sie es einfach erneut.

Standardmäßig können alle Clients eine Verbindung zum Volume herstellen. Wenn Sie nur client1.example.com (= 192.168.0.101) Zugriff gewähren möchten, führen Sie aus:

gluster volume set testvol auth.allow 192.168.0.101

Bitte beachten Sie, dass es möglich ist, Platzhalter für die IP-Adressen zu verwenden (wie 192.168.*) und dass Sie mehrere IP-Adressen durch Kommas getrennt angeben können (z. B. 192.168.0.101,192.168.0.102).

Die Volume-Info sollte jetzt den aktualisierten Status anzeigen:

gluster volume info
[root@server1 ~]# gluster volume info
Volume Name: testvol  
Type: Distribute  
Status: Started  
Number of Bricks: 1  
Transport-type: tcp  
Bricks:  
Brick1: server1.example.com:/data  
Options Reconfigured:  
auth.allow: 192.168.0.101  
[root@server1 ~]#
 

4 Einrichtung des GlusterFS-Clients

server2.example.com:

Auf dem Client können wir den GlusterFS-Client wie folgt installieren:

yum install glusterfs-client

Dann erstellen wir das folgende Verzeichnis:

mkdir /mnt/glusterfs

Das war’s! Jetzt können wir das GlusterFS-Dateisystem mit dem folgenden Befehl in /mnt/glusterfs einhängen:

mount.glusterfs server1.example.com:/testvol /mnt/glusterfs

Sie sollten jetzt den neuen Share in den Ausgaben von…

mount
[root@server2 ~]# mount  
/dev/mapper/vg_client1-LogVol00 on / type ext4 (rw)  
proc on /proc type proc (rw)  
sysfs on /sys type sysfs (rw)  
devpts on /dev/pts type devpts (rw,gid=5,mode=620)  
tmpfs on /dev/shm type tmpfs (rw)  
/dev/sda1 on /boot type ext4 (rw)  
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)  
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)  
server1.example.com:/testvol on /mnt/glusterfs type fuse.glusterfs (rw,allow_other,default_permissions,max_read=131072)  
[root@server2 ~]#

… und…

df -h
[root@server2 ~]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/mapper/vg_client1-LogVol00  
                      9.7G  1.7G  7.5G  19% /  
tmpfs                 499M     0  499M   0% /dev/shm  
/dev/sda1           504M   39M  440M   9% /boot  
server1.example.com:/testvol  
                      9.7G  1.7G  7.5G  19% /mnt/glusterfs  
[root@server2 ~]#

Anstatt den GlusterFS-Share manuell auf dem Client zu mounten, könnten Sie /etc/fstab ändern, sodass der Share automatisch beim Booten des Clients gemountet wird.

Öffnen Sie /etc/fstab und fügen Sie die folgende Zeile hinzu:

vi /etc/fstab

| [...] server1.example.com:/testvol /mnt/glusterfs glusterfs defaults,_netdev 0 0 |

Um zu testen, ob Ihre modifizierte /etc/fstab funktioniert, starten Sie den Client neu:

reboot

Nach dem Neustart sollten Sie den Share in den Ausgaben von…

df -h

… und…

mount

5 Links

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.