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-develPoi 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
./configureAlla 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
ldconfigControlla 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/glusterfsSuccessivamente 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/glusterfsoppure
mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfsDovresti 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:
rebootDopo il riavvio, dovresti trovare la condivisione negli output di…
df -h… e…
mount4 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=1000ls -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
- GlusterFS: http://www.gluster.org/
- Fedora: http://fedoraproject.org/
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.