Speicher Server · 4 min read · Feb 09, 2026

Erstellen eines NFS-ähnlichen Standalone-Speicherservers mit GlusterFS 3.0.x auf Debian Squeeze

Dieses Tutorial zeigt, wie man einen Standalone-Speicherserver auf Debian Squeeze 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)
  • 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 |

(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 Einrichtung des GlusterFS-Servers

server1.example.com:

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

apt-get install glusterfs-server

Der Befehl

glusterfs --version

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

root@server1:~# glusterfs --version  
glusterfs 3.0.5 built on Jul 13 2010 16:44:21  
Repository revision: v3.0.5  
Copyright (c) 2006-2009 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:~#

Als nächstes erstellen wir einige Verzeichnisse:

mkdir /data/  
mkdir /data/export  
mkdir /data/export-ns

Jetzt erstellen wir die GlusterFS-Serverkonfigurationsdatei /etc/glusterfs/glusterfsd.vol (wir machen zuerst eine Sicherung der ursprünglichen Datei /etc/glusterfs/glusterfsd.vol), die definiert, welches Verzeichnis exportiert wird (/data/export) und welcher Client sich verbinden darf (192.168.0.101 = client1.example.com):

cp /etc/glusterfs/glusterfsd.vol /etc/glusterfs/glusterfsd.vol_orig  
cat /dev/null > /etc/glusterfs/glusterfsd.vol  
vi /etc/glusterfs/glusterfsd.vol

| volume posix type storage/posix option directory /data/export end-volume volume locks type features/locks option mandatory-locks on subvolumes posix end-volume volume brick type performance/io-threads option thread-count 8 subvolumes locks end-volume volume server type protocol/server option transport-type tcp option auth.addr.brick.allow 192.168.0.101 # Bearbeiten und Liste der erlaubten Clients hier durch Komma getrennte IP-Adressen (Namen) hinzufügen subvolumes brick end-volume |

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).

Anschließend starten wir den GlusterFS-Server:

/etc/init.d/glusterfs-server start

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

Als nächstes erstellen wir die Datei /etc/glusterfs/glusterfs.vol (wir machen zuerst eine Sicherung der ursprünglichen Datei /etc/glusterfs/glusterfs.vol):

cp /etc/glusterfs/glusterfs.vol /etc/glusterfs/glusterfs.vol_orig  
cat /dev/null > /etc/glusterfs/glusterfs.vol  
vi /etc/glusterfs/glusterfs.vol

| volume remote type protocol/client option transport-type tcp option remote-host server1.example.com # kann IP oder Hostname sein option remote-subvolume brick end-volume volume writebehind type performance/write-behind option window-size 4MB subvolumes remote end-volume volume cache type performance/io-cache option cache-size 512MB subvolumes writebehind end-volume |

Stellen Sie sicher, dass Sie den richtigen Server-Hostnamen oder die IP-Adresse in der Option remote-host-Zeile verwenden!

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

glusterfs -f /etc/glusterfs/glusterfs.vol /mnt/glusterfs

oder

mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfs

Sie sollten jetzt den neuen Share in den Ausgaben von…

mount
root@client1:~# mount  
/dev/sda1 on / type ext3 (rw,errors=remount-ro)  
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)  
proc on /proc type proc (rw,noexec,nosuid,nodev)  
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)  
udev on /dev type tmpfs (rw,mode=0755)  
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)  
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)  
fusectl on /sys/fs/fuse/connections type fusectl (rw)  
/etc/glusterfs/glusterfs.vol on /mnt/glusterfs type fuse.glusterfs (rw,allow_other,default_permissions,max_read=131072)  
root@client1:~#

… und…

df -h
root@client1:~# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/sda1              29G  778M   27G   3% /  
tmpfs                 249M     0  249M   0% /lib/init/rw  
udev                  244M  100K  244M   1% /dev  
tmpfs                 249M     0  249M   0% /dev/shm  
/etc/glusterfs/glusterfs.vol  
                     29G  1.2G   27G   5% /mnt/glusterfs  
root@client1:~#

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

| [...] /etc/glusterfs/glusterfs.vol /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

finden.

Wenn die Änderung von /etc/fstab nicht hilft, machen Sie Ihre Änderung an /etc/fstab rückgängig und fügen Sie diese Zeile stattdessen zu /etc/rc.local hinzu (vor der exit 0-Zeile):

vi /etc/rc.local

| [...] /bin/mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfs [...] |

Dies stellt sicher, dass der Share gemountet wird, nachdem das Netzwerk aktiv ist.

4 Links

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.