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.txtcd /tmp
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
rpm -ivh epel-release-6-7.noarch.rpmyum install yum-prioritiesBearbeiten 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-serverErstellen Sie die Systemstartlinks für den Gluster-Daemon und starten Sie ihn:
chkconfig --levels 235 glusterd on
/etc/init.d/glusterd startDer Befehl
glusterfsd --versionsollte 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 testvolSie können den Status des Volumes mit dem Befehl
gluster volume infoprüfen:
[root@server1 ~]# gluster volume infoVolume 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.101Bitte 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 infoVolume 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-clientDann erstellen wir das folgende Verzeichnis:
mkdir /mnt/glusterfsDas 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/glusterfsSie 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:
rebootNach dem Neustart sollten Sie den Share in den Ausgaben von…
df -h… und…
mount5 Links
- GlusterFS: http://www.gluster.org/
- GlusterFS 3.2 Dokumentation: http://download.gluster.com/pub/gluster/glusterfs/3.2/Documentation/AG/html/index.html
- CentOS: http://www.centos.org/
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.