GlusterFS · 4 min read · Feb 05, 2026

Striping Across Four Storage Nodes With GlusterFS On CentOS 5.4 - Page 2

3 Configuración del Cliente GlusterFS

client1.example.com:

GlusterFS no está disponible como un paquete para CentOS 5.4, por lo tanto, tenemos que construirlo nosotros mismos. Primero instalamos los requisitos previos:

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

Luego cargamos el módulo del núcleo fuse…

modprobe fuse

… y creamos el archivo /etc/rc.modules con el siguiente contenido para que el módulo del núcleo fuse se cargue automáticamente cada vez que el sistema arranca:

vi /etc/rc.modules

| modprobe fuse |

Haz que el archivo sea ejecutable:

chmod +x /etc/rc.modules

Luego descargamos las fuentes de GlusterFS 2.0.9 (¡ten en cuenta que esta es la misma versión que está instalada en el servidor!) y construimos GlusterFS de la siguiente manera:

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

Al final del comando ./configure, deberías ver algo como esto:

[...]  
Resumen de configuración de GlusterFS  
===========================  
Cliente FUSE        : yes  
verbos Infiniband   : yes  
epoll IO multiplex   : yes  
Berkeley-DB        : yes  
libglusterfsclient : yes  
argp-standalone    : no
make && make install  
ldconfig

Verifica la versión de GlusterFS después (debería ser 2.0.9):

glusterfs --version
[root@client1 glusterfs-2.0.9]# glusterfs --version  
glusterfs 2.0.9 built on Mar 1 2010 15:58:06  
Repository revision: v2.0.9  
Copyright (c) 2006-2009 Gluster Inc.   
GlusterFS viene con ABSOLUTAMENTE NINGUNA GARANTÍA.  
Puedes redistribuir copias de GlusterFS bajo los términos de la Licencia Pública General de GNU.  
[root@client1 glusterfs-2.0.9]#

Luego creamos los siguientes dos directorios:

mkdir /mnt/glusterfs  
mkdir /etc/glusterfs

A continuación, creamos el archivo /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 |

¡Asegúrate de usar los nombres de host o direcciones IP correctas en las líneas de opción remote-host!

¡Eso es todo! Ahora podemos montar el sistema de archivos GlusterFS en /mnt/glusterfs con uno de los siguientes dos comandos:

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

o

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

Ahora deberías ver el nuevo recurso compartido en las salidas de…

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

… y…

df -h
[root@client1 ~]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/mapper/VolGroup00-LogVol00  
                       29G  2.2G   25G   9% /  
/dev/sda1             99M   13M   82M  14% /boot  
tmpfs                 187M     0  187M   0% /dev/shm  
glusterfs#/etc/glusterfs/glusterfs.vol  
                       112G  2.3G  110G   2% /mnt/glusterfs  
[root@client1 ~]#

( server1.example.com, server2.example.com, server3.example.com y server4.example.com tienen cada uno alrededor de 28GB de espacio para el sistema de archivos GlusterFS, de modo que el recurso compartido resultante tiene un tamaño de aproximadamente 4 x 28GB (112GB).)

En lugar de montar el recurso compartido de GlusterFS manualmente en el cliente, podrías modificar /etc/fstab para que el recurso compartido se monte automáticamente cuando el cliente arranca.

Abre /etc/fstab y agrega la siguiente línea:

vi /etc/fstab

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

Para probar si tu /etc/fstab modificado está funcionando, reinicia el cliente:

reboot

Después del reinicio, deberías encontrar el recurso compartido en las salidas de…

df -h

… y…

mount

4 Pruebas

Ahora vamos a crear un gran archivo de prueba en el recurso compartido de 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 ~]#

Ahora verifiquemos el directorio /data/export en server1.example.com, server2.example.com, server3.example.com y server4.example.com. Deberías ver el archivo test.img en cada nodo, pero con diferentes tamaños (debido a la distribución de datos):

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 Enlaces

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.