Speicherlösungen · 2 min read · Feb 07, 2026
Verteilte Speicherung über vier Speicher-Knoten mit GlusterFS auf Debian Lenny
Dieses Tutorial zeigt, wie man vier einzelne Speicher-Server (die Debian Lenny ausführen) zu einem großen Speicher-Server (verteilte Speicherung) mit GlusterFS kombiniert. Das Client-System (ebenfalls Debian Lenny) kann auf den Speicher zugreifen, als ob es sich um ein lokales Dateisystem handelt. GlusterFS ist ein clusterfähiges Dateisystem, das auf mehrere Petabyte skalieren kann. Es aggregiert verschiedene Speicherbausteine über Infiniband RDMA oder TCP/IP-Verbindungen zu einem großen parallelen Netzwerk-Dateisystem. Speicherbausteine können aus beliebiger handelsüblicher Hardware wie x86-64-Servern mit SATA-II-RAID und Infiniband HBA bestehen.
Bitte beachten Sie, dass diese Art der Speicherung (verteilte Speicherung) keine Hochverfügbarkeitsfunktionen bietet, wie es bei replizierter Speicherung der Fall wäre.
Ich gebe keine Garantie, dass dies bei Ihnen funktioniert!
1 Vorbemerkung
In diesem Tutorial verwende ich fünf Systeme, vier Server und einen Client:
- server1.example.com: IP-Adresse 192.168.0.100 (Server)
- server2.example.com: IP-Adresse 192.168.0.101 (Server)
- server3.example.com: IP-Adresse 192.168.0.102 (Server)
- server4.example.com: IP-Adresse 192.168.0.103 (Server)
- client1.example.com: IP-Adresse 192.168.0.104 (Client)
Alle fünf Systeme sollten in der Lage sein, die Hostnamen der anderen Systeme aufzulösen. Wenn dies nicht über DNS möglich ist, sollten Sie die Datei /etc/hosts bearbeiten, sodass sie auf allen fünf 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 server2.example.com server2 192.168.0.102 server3.example.com server3 192.168.0.103 server4.example.com server4 192.168.0.104 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 ff02::3 ip6-allhosts |
(Es ist auch möglich, IP-Adressen anstelle von Hostnamen in der folgenden Konfiguration 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 der GlusterFS-Server
server1.example.com/server2.example.com/server3.example.com/server4.example.com:
GlusterFS ist als Debian-Paket für Debian Lenny nicht verfügbar, daher müssen wir es selbst kompilieren. Zuerst installieren wir die Voraussetzungen:
aptitude install sshfs build-essential flex bison byacc libdb4.6 libdb4.6-devDann laden wir die neueste GlusterFS-Version von http://www.gluster.org/download.php herunter und kompilieren sie wie folgt:
cd /tmp
wget http://ftp.gluster.com/pub/gluster/glusterfs/2.0/LATEST/glusterfs-2.0.1.tar.gz
tar xvfz glusterfs-2.0.1.tar.gz
cd glusterfs-2.0.1
./configure --prefix=/usr > /dev/nullserver1:/tmp/glusterfs-2.0.1# ./configure --prefix=/usr > /dev/null
GlusterFS configure Zusammenfassung
===========================
FUSE Client : nein
Infiniband Verbs : nein
epoll IO Multiplex : ja
Berkeley-DB : ja
libglusterfsclient : ja
mod_glusterfs : nein ()
argp-standalone : nein
server1:/tmp/glusterfs-2.0.1#make && make install
ldconfigDer Befehl
glusterfs --versionsollte jetzt die GlusterFS-Version anzeigen, die Sie gerade kompiliert haben (in diesem Fall 2.0.1):
server1:/tmp/glusterfs-2.0.1# glusterfs --version
glusterfs 2.0.1 gebaut am 29. Mai 2009 17:23:10
Repository-Revision: 5c1d9108c1529a1155963cb1911f8870a674ab5b
Copyright (c) 2006-2009 Z RESEARCH Inc.
GlusterFS kommt ohne jegliche GARANTIE.
Sie dürfen Kopien von GlusterFS unter den Bedingungen der GNU General Public License weiterverbreiten.
server1:/tmp/glusterfs-2.0.1# Als nächstes erstellen wir einige Verzeichnisse:
mkdir /data/
mkdir /data/export
mkdir /data/export-ns
mkdir /etc/glusterfsJetzt erstellen wir die GlusterFS-Serverkonfigurationsdatei /etc/glusterfs/glusterfsd.vol, die definiert, welches Verzeichnis exportiert wird (/data/export) und welcher Client sich verbinden darf (192.168.0.104 = client1.example.com):
vi /etc/glusterfs/glusterfsd.vol| volume posix type storage/posix option directory /data/export end-volume volume locks type features/locks 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.104 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.104,192.168.0.105).
Anschließend erstellen wir die Systemstartlinks für das glusterfsd-Init-Skript…
update-rc.d glusterfsd defaults… und starten glusterfsd:
/etc/init.d/glusterfsd startErhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.