GlusterFS · 3 min read · Feb 06, 2026

Striping Across Four Storage Nodes With GlusterFS On Fedora 12 - Page 2

3 Configurazione del Client GlusterFS

client1.example.com:

C’è un pacchetto rpm del client GlusterFS per Fedora 12, ma il problema è che si otterranno errori come df: /mnt/glusterfs': Software caused connection abort o df:/mnt/glusterfs’: Transport endpoint is not connected quando si tenta di accedere alla condivisione GlusterFS. Ecco perché costruiamo il client GlusterFS dai sorgenti per evitare questi problemi.

Prima di costruire il client GlusterFS, installiamo i suoi prerequisiti:

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

Poi scarichiamo i sorgenti di GlusterFS 2.0.9 (si prega di notare che questa è la stessa versione installata sul server!) e costruiamo GlusterFS 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@client1 glusterfs-2.0.9]#
make && make install  
ldconfig

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

glusterfs --version
[root@client1 glusterfs-2.0.9]# glusterfs --version  
glusterfs 2.0.9 built on Feb 19 2010 19:20:46  
Repository revision: v2.0.9  
Copyright (c) 2006-2009 Gluster Inc.   
GlusterFS viene fornito SENZA NESSUNA GARANZIA.  
Puoi ridistribuire copia di GlusterFS sotto i termini della GNU General Public License.  
[root@client1 glusterfs-2.0.9]#

Poi creiamo le seguenti due directory:

mkdir /mnt/glusterfs  
mkdir /etc/glusterfs

Successivamente creiamo il file /etc/glusterfs/glusterfs.vol:

vi /etc/glusterfs/glusterfs.vol

| volume remote1 type protocol/client option transport-type tcp/client option remote-host server1.example.com option remote-subvolume brick end-volume volume remote2 type protocol/client option transport-type tcp/client option remote-host server2.example.com option remote-subvolume brick end-volume volume remote3 type protocol/client option transport-type tcp/client option remote-host server3.example.com option remote-subvolume brick end-volume volume remote4 type protocol/client option transport-type tcp/client option remote-host server4.example.com option remote-subvolume brick end-volume volume stripe type cluster/stripe option block-size 1MB subvolumes remote1 remote2 remote3 remote4 end-volume volume writebehind type performance/write-behind option window-size 1MB subvolumes stripe end-volume volume cache type performance/io-cache option cache-size 512MB subvolumes writebehind end-volume |

Assicurati di utilizzare i nomi host o gli indirizzi IP corretti nei parametri remote-host!

Questo è tutto! Ora possiamo montare il filesystem GlusterFS su /mnt/glusterfs con uno dei seguenti due comandi:

glusterfs -f /etc/glusterfs/glusterfs.vol /mnt/glusterfs

oppure

mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfs

Dovresti ora vedere la nuova condivisione negli output di…

mount
[root@client1 ~]# mount  
/dev/mapper/vg_server5-lv_root on / type ext4 (rw)  
proc on /proc type proc (rw)  
sysfs on /sys type sysfs (rw)  
devpts on /dev/pts type devpts (rw,gid=5,mode=620)  
tmpfs on /dev/shm type tmpfs (rw)  
/dev/sda1 on /boot type ext4 (rw)  
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)  
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)  
/etc/glusterfs/glusterfs.vol on /mnt/glusterfs type fuse.glusterfs (rw,allow_other,default_permissions,max_read=131072)  
[root@client1 ~]#

… e…

df -h
[root@client1 ~]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/mapper/vg_server5-lv_root  
                       29G  2.5G   25G  10% /  
tmpfs                 185M     0  185M   0% /dev/shm  
/dev/sda1             194M   23M  161M  13% /boot  
/etc/glusterfs/glusterfs.vol  
                      114G  9.8G   99G  10% /mnt/glusterfs  
[root@client1 ~]#

( server1.example.com, server2.example.com, server3.example.com, e server4.example.com hanno ciascuno circa 28.5GB di spazio per il filesystem GlusterFS, in modo che la condivisione risultante abbia una dimensione di circa 4 x 28.5GB (114GB).)

Invece di montare manualmente la condivisione GlusterFS sul client, potresti modificare /etc/fstab in modo che la condivisione venga montata automaticamente all’avvio del client.

Apri /etc/fstab e aggiungi la seguente riga:

vi /etc/fstab

| [...] /etc/glusterfs/glusterfs.vol /mnt/glusterfs glusterfs defaults 0 0 |

Per testare se la tua modifica a /etc/fstab funziona, riavvia il client:

reboot

Dopo il riavvio, dovresti trovare la condivisione negli output di…

df -h

… e…

mount

4 Test

Ora creiamo un grande file di test sulla condivisione GlusterFS:

client1.example.com:

dd if=/dev/zero of=/mnt/glusterfs/test.img bs=1024k count=1000
ls -l /mnt/glusterfs
[root@client1 ~]# ls -l /mnt/glusterfs  
total 1024032  
-rw-r--r-- 1 root root 1048576000 2010-02-23 17:31 test.img  
[root@client1 ~]#

Ora controlliamo la directory /data/export su server1.example.com, server2.example.com, server3.example.com, e server4.example.com. Dovresti vedere il file test.img su ciascun nodo, ma con dimensioni diverse (a causa dello striping dei dati):

server1.example.com:

ls -l /data/export
[root@server1 ~]# ls -l /data/export  
total 256008  
-rw-r--r-- 1 root root 1045430272 2010-02-23 17:31 test.img  
[root@server1 ~]#

server2.example.com:

ls -l /data/export
[root@server2 ~]# ls -l /data/export  
total 256008  
-rw-r--r-- 1 root root 1046478848 2010-02-23 17:27 test.img  
[root@server2 ~]#

server3.example.com:

ls -l /data/export
[root@server3 ~]# ls -l /data/export  
total 256008  
-rw-r--r-- 1 root root 1047527424 2010-02-23 17:26 test.img  
[root@server3 ~]#

server4.example.com:

ls -l /data/export
[root@server4 ~]# ls -l /data/export  
total 256008  
-rw-r--r-- 1 root root 1048576000 2010-02-23 17:30 test.img  
[root@server4 ~]#

5 Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.