Speicherlösungen · 2 min read · Feb 05, 2026
Verteilte Speicherung über vier Speicher-Knoten mit GlusterFS auf CentOS 5.4
Dieses Tutorial zeigt, wie man vier einzelne Speicher-Server (die CentOS 5.4 ausführen) zu einem großen Speicher-Server (verteilte Speicherung) mit GlusterFS kombiniert. Das Client-System (ebenfalls CentOS 5.4) 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.
Bitte beachten Sie, dass diese Art von Speicher (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 erfolgen kann, sollten Sie die Datei /etc/hosts bearbeiten, sodass sie die folgenden Zeilen auf allen fünf Systemen enthält:
vi /etc/hosts| [...] 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 [...] |
(Sie können auch IP-Adressen anstelle von Hostnamen in der folgenden Konfiguration 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 nicht als Paket für CentOS 5.4 verfügbar, daher müssen wir es selbst kompilieren. Zuerst installieren wir die Voraussetzungen:
yum groupinstall 'Entwicklungstools'yum groupinstall 'Entwicklungslibraries'yum install libibverbs-devel fuse-develDann 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.9.tar.gz
tar xvfz glusterfs-2.0.9.tar.gz
cd glusterfs-2.0.9
./configureAm Ende des ./configure-Befehls sollten Sie etwas wie folgt sehen:
[...]
GlusterFS configure summary
===========================
FUSE client : ja
Infiniband verbs : ja
epoll IO multiplex : ja
Berkeley-DB : ja
libglusterfsclient : ja
argp-standalone : nein
[root@server1 glusterfs-2.0.9]#make && make install
ldconfigÜberprüfen Sie danach die GlusterFS-Version (sollte 2.0.9 sein):
glusterfs --version[root@server1 glusterfs-2.0.9]# glusterfs --version
glusterfs 2.0.9 gebaut am 1. März 2010 15:34:50
Repository-Revision: v2.0.9
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 glusterfs-2.0.9]# 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 den folgenden Symlink…
ln -s /usr/local/sbin/glusterfsd /sbin/glusterfsd… und dann die Systemstart-Links für den GlusterFS-Server und starten ihn:
chkconfig --levels 35 glusterfsd on
/etc/init.d/glusterfsd startErhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.