GlusterFS Tutorial · 3 min read · Feb 05, 2026

Striping Across Four Storage Nodes With GlusterFS On CentOS 5.4

Questo tutorial mostra come eseguire il data striping (segmentazione di dati logicamente sequenziali, come un singolo file, in modo che i segmenti possano essere assegnati a più dispositivi fisici in modo round-robin e quindi scritti contemporaneamente) su quattro server di archiviazione singoli (che eseguono CentOS 5.4) con GlusterFS. Il sistema client (anche CentOS 5.4) sarà in grado di accedere all’archiviazione come se fosse un filesystem locale. GlusterFS è un file system clusterizzato in grado di scalare fino a diversi petabyte. Aggrega vari mattoni di archiviazione su Infiniband RDMA o TCP/IP in un unico grande file system di rete parallelo. I mattoni di archiviazione possono essere costituiti da qualsiasi hardware commerciale come server x86_64 con RAID SATA-II e HBA Infiniband.

Si prega di notare che questo tipo di archiviazione non fornisce alcuna funzionalità di alta disponibilità/tolleranza ai guasti, come sarebbe il caso con l’archiviazione replicata.

Non fornisco alcuna garanzia che questo funzionerà per te!

1 Nota Preliminare

In questo tutorial utilizzo cinque sistemi, quattro server e un client:

  • server1.example.com: indirizzo IP 192.168.0.100 (server)
  • server2.example.com: indirizzo IP 192.168.0.101 (server)
  • server3.example.com: indirizzo IP 192.168.0.102 (server)
  • server4.example.com: indirizzo IP 192.168.0.103 (server)
  • client1.example.com: indirizzo IP 192.168.0.104 (client)

Tutti e cinque i sistemi dovrebbero essere in grado di risolvere i nomi host degli altri sistemi. Se ciò non può essere fatto tramite DNS, dovresti modificare il file /etc/hosts in modo che contenga le seguenti righe su tutti e cinque i sistemi:

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 [...] |

(È anche possibile utilizzare indirizzi IP invece di nomi host nella configurazione seguente. Se preferisci utilizzare indirizzi IP, non devi preoccuparti se i nomi host possono essere risolti o meno.)

2 Configurazione Dei Server GlusterFS

server1.example.com/server2.example.com/server3.example.com/server4.example.com:

GlusterFS non è disponibile come pacchetto per CentOS 5.4, quindi dobbiamo compilarlo noi stessi. Prima installiamo i prerequisiti:

yum groupinstall 'Development Tools'
yum groupinstall 'Development Libraries'
yum install libibverbs-devel fuse-devel

Poi scarichiamo l’ultima versione di GlusterFS da http://www.gluster.org/download.php e lo compiliamo come segue:

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  
./configure

Alla fine del comando ./configure, dovresti vedere qualcosa del genere:

[...]  
GlusterFS configure summary  
===========================  
FUSE client        : yes  
Infiniband verbs   : yes  
epoll IO multiplex : yes  
Berkeley-DB        : yes  
libglusterfsclient : yes  
argp-standalone    : no  
  
[root@server1 glusterfs-2.0.9]#
make && make install  
ldconfig

Controlla la versione di GlusterFS successivamente (dovrebbe essere 2.0.9):

glusterfs --version
[root@server1 glusterfs-2.0.9]# glusterfs --version  
glusterfs 2.0.9 built on Mar 1 2010 15:34:50  
Repository revision: v2.0.9  
Copyright (c) 2006-2009 Gluster Inc.   
GlusterFS viene fornito senza ALCUNA GARANZIA.  
Puoi ridistribuire copie di GlusterFS secondo i termini della GNU General Public License.  
[root@server1 glusterfs-2.0.9]#

Successivamente creiamo alcune directory:

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

Ora creiamo il file di configurazione del server GlusterFS /etc/glusterfs/glusterfsd.vol che definisce quale directory sarà esportata ( /data/export) e quale client è autorizzato a connettersi ( 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/server option auth.addr.brick.allow 192.168.0.104 subvolumes brick end-volume |

Si prega di notare che è possibile utilizzare caratteri jolly per gli indirizzi IP (come 192.168.*) e che puoi specificare più indirizzi IP separati da virgola (ad esempio 192.168.0.104,192.168.0.105).

Successivamente creiamo il seguente symlink…

ln -s /usr/local/sbin/glusterfsd /sbin/glusterfsd

… e poi i collegamenti di avvio del sistema per il server GlusterFS e avviarlo:

chkconfig --levels 35 glusterfsd on  
/etc/init.d/glusterfsd start
Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.