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-serverDer Befehl
glusterfs --versionsollte 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-nsJetzt 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 start3 Einrichtung des GlusterFS-Clients
client1.example.com:
Auf dem Client können wir den GlusterFS-Client wie folgt installieren:
apt-get install glusterfs-clientDann erstellen wir das folgende Verzeichnis:
mkdir /mnt/glusterfsAls 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/glusterfsoder
mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfsSie sollten jetzt den neuen Share in den Ausgaben von…
mountroot@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 -hroot@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:
rebootNach dem Neustart sollten Sie den Share in den Ausgaben von…
df -h… und…
mountfinden.
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
- GlusterFS: http://www.gluster.org/
- Debian: http://www.debian.org/
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.