GlusterFS Anleitung · 4 min read · Feb 11, 2026

Erstellen eines NFS-ähnlichen Standalone-Speicherservers mit GlusterFS 3.2.x auf Debian Wheezy

Dieses Tutorial zeigt, wie man einen Standalone-Speicherserver auf Debian Wheezy 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 bestehen, wie z. B. x86_64-Servern mit SATA-II-RAID und Infiniband HBA.

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)
  • client1.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.localdomain localhost 192.168.0.100 server1.example.com server1 192.168.0.101 client1.example.com client1 # Die folgenden Zeilen sind wünschenswert für IPv6-fähige Hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters |

(Sie können auch IP-Adressen anstelle von Hostnamen in der folgenden Einrichtung 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 Einrichtung des GlusterFS-Servers

server1.example.com:

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

apt-get install glusterfs-server

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 Nov 12 2012 19:30:08
Repository revision: git://git.gluster.com/glusterfs.git
Copyright (c) 2006-2011 Gluster Inc. http://www.gluster.com
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

Es ist möglich, dass der obige Befehl Ihnen mitteilt, dass die Aktion nicht erfolgreich war:

root@server1:~# gluster volume start testvol
Das Starten des Volumes testvol war nicht erfolgreich
root@server1:~#

Sie können den Status des Volumes mit dem Befehl

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
root@server1:~#

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

Standardmäßig können sich alle Clients mit dem Volume verbinden. 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:~#

3 Einrichtung des GlusterFS-Clients

client1.example.com:

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

apt-get 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@client1:~# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
odev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=126813,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=102704k,mode=755)
/dev/mapper/server1-root on / type ext4 (rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=205400k)
/dev/sda1 on /boot type ext2 (rw,relatime,errors=continue)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
server1.example.com:/testvol on /mnt/glusterfs type fuse.glusterfs (rw,relatime,user_id=0,group_id=0,default_permissions,allow_other,max_read=131072)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
root@client1:~#

… und…

df -h

root@client1:~# df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 29G 1.2G 26G 5% /
udev 10M 0 10M 0% /dev
tmpfs 101M 240K 101M 1% /run
/dev/mapper/server1-root 29G 1.2G 26G 5% /
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 201M 0 201M 0% /run/shm
/dev/sda1 228M 18M 199M 9% /boot
server1.example.com:/testvol 29G 1.2G 26G 5% /mnt/glusterfs
root@client1:~#

Anstelle des manuellen Einhängens des GlusterFS-Shares auf dem Client könnten Sie /etc/fstab ändern, sodass der Share beim Booten des Clients automatisch eingehängt 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

4 Links

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.