Speicherlösungen · 2 min read · Jan 08, 2026

Hochverfügbarkeits-Speicher mit GlusterFS auf Debian Lenny - Automatische Dateireplikation über zwei Speicher-Server

Dieses Tutorial zeigt, wie man einen hochverfügbaren Speicher mit zwei Speicher-Servern (Debian Lenny) einrichtet, die GlusterFS verwenden. Jeder Speicher-Server wird ein Spiegel des anderen Speicher-Servers sein, und Dateien werden automatisch über beide Speicher-Server repliziert. Das Client-System (ebenfalls Debian Lenny) wird in der Lage sein, auf den Speicher zuzugreifen, 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 Netzwerk-Dateisystem. 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 für Sie funktioniert!

1 Vorbemerkung

In diesem Tutorial verwende ich drei Systeme, zwei Server und einen Client:

  • server1.example.com: IP-Adresse 192.168.0.100 (Server)
  • server2.example.com: IP-Adresse 192.168.0.101 (Server)
  • client1.example.com: IP-Adresse 192.168.0.102 (Client)

Alle drei 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 drei 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 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 |

(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 der GlusterFS-Server

server1.example.com/server2.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-dev

Dann 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/null
server1:/tmp/glusterfs-2.0.1# ./configure --prefix=/usr > /dev/null  
  
GlusterFS configure summary  
===========================  
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  
ldconfig

Der Befehl

glusterfs --version

sollte 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 built on May 29 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 ein paar Verzeichnisse:

mkdir /data/  
mkdir /data/export  
mkdir /data/export-ns  
mkdir /etc/glusterfs

Jetzt 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.102 = 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.102 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.102,192.168.0.103).

Anschließend erstellen wir die Systemstartlinks für das glusterfsd-Init-Skript…

update-rc.d glusterfsd defaults

… und starten glusterfsd:

/etc/init.d/glusterfsd start
Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.