GlusterFS · 3 min read · Feb 04, 2026

Archiviazione Distribuita Su Quattro Nodi Di Archiviazione Con GlusterFS Su Fedora 12 - Pagina 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 prova ad accedere alla condivisione GlusterFS. Ecco perché costruiamo il client GlusterFS dai sorgenti per evitare questi problemi.

Prima di costruire il client GlusterFS, installiamo le sue dipendenze:

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 option remote-host server1.example.com option remote-subvolume brick end-volume volume remote2 type protocol/client option transport-type tcp option remote-host server2.example.com option remote-subvolume brick end-volume volume remote3 type protocol/client option transport-type tcp option remote-host server3.example.com option remote-subvolume brick end-volume volume remote4 type protocol/client option transport-type tcp option remote-host server4.example.com option remote-subvolume brick end-volume volume distribute type cluster/distribute subvolumes remote1 remote2 remote3 remote4 end-volume volume writebehind type performance/write-behind option window-size 1MB subvolumes distribute 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 nelle righe option remote-host!

Ecco fatto! 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 alcuni file di test sulla condivisione GlusterFS:

client1.example.com:

touch /mnt/glusterfs/test1  
touch /mnt/glusterfs/test2  
touch /mnt/glusterfs/test3  
touch /mnt/glusterfs/test4  
touch /mnt/glusterfs/test5  
touch /mnt/glusterfs/test6

Ora controlliamo la directory /data/export su server1.example.com, server2.example.com, server3.example.com e server4.example.com. Noterai che ogni nodo di archiviazione contiene solo una parte dei file/directory che compongono la condivisione GlusterFS sul client:

server1.example.com:

ls -l /data/export
[root@server1 ~]# ls -l /data/export  
total 0  
-rw-r--r-- 1 root root 0 2010-02-22 20:15 test1  
-rw-r--r-- 1 root root 0 2010-02-22 20:15 test2  
-rw-r--r-- 1 root root 0 2010-02-22 20:15 test5  
[root@server1 ~]#

server2.example.com:

ls -l /data/export
[root@server2 ~]# ls -l /data/export  
total 0  
-rw-r--r-- 1 root root 0 2010-02-22 20:15 test4  
[root@server2 ~]#

server3.example.com:

ls -l /data/export
[root@server3 ~]# ls -l /data/export  
total 0  
-rw-r--r-- 1 root root 0 2010-02-22 20:15 test6  
[root@server3 ~]#

server4.example.com:

ls -l /data/export
[root@server4 ~]# ls -l /data/export  
total 0  
-rw-r--r-- 1 root root 0 2010-02-22 20:15 test3  
[root@server4 ~]#

5 Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.