Almacenamiento Distribuido · 4 min read · Feb 04, 2026

Almacenamiento Distribuido A Través De Cuatro Nodos De Almacenamiento Con GlusterFS En Fedora 12 - Página 2

3 Configurando El Cliente GlusterFS

client1.example.com:

Hay un paquete rpm del cliente GlusterFS para Fedora 12, pero el problema con él es que obtendrás errores como df: /mnt/glusterfs': Software causó la interrupción de la conexión o df:/mnt/glusterfs’: El punto de transporte no está conectado cuando intentas acceder al recurso compartido de GlusterFS. Por eso construimos el cliente GlusterFS a partir de las fuentes para evitar estos problemas.

Antes de construir el cliente GlusterFS, instalamos sus requisitos previos:

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

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 de Infiniband   : yes  
epoll IO multiplex  : yes  
Berkeley-DB        : yes  
libglusterfsclient : yes  
argp-standalone    : no  
  
[root@client1 glusterfs-2.0.9]#
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 construido el 19 de Feb 2010 19:20:46  
Revisión del repositorio: 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 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 |

¡Asegúrate de usar los nombres de host o direcciones IP correctas del servidor 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/vg_server5-lv_root en / tipo ext4 (rw)  
proc en /proc tipo proc (rw)  
sysfs en /sys tipo sysfs (rw)  
devpts en /dev/pts tipo devpts (rw,gid=5,mode=620)  
tmpfs en /dev/shm tipo tmpfs (rw)  
/dev/sda1 en /boot tipo ext4 (rw)  
ninguno en /proc/sys/fs/binfmt_misc tipo binfmt_misc (rw)  
sunrpc en /var/lib/nfs/rpc_pipefs tipo rpc_pipefs (rw)  
/etc/glusterfs/glusterfs.vol en /mnt/glusterfs tipo fuse.glusterfs (rw,allow_other,default_permissions,max_read=131072)  
[root@client1 ~]#

… y…

df -h
[root@client1 ~]# df -h  
Sistema de archivos            Tamaño  Usado  Avail  Use%  Montado en  
/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, y server4.example.com cada uno tiene alrededor de 28.5GB de espacio para el sistema de archivos GlusterFS, de modo que el recurso compartido resultante tiene un tamaño de aproximadamente 4 x 28.5GB (114GB).)

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 arranque.

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 algunos archivos de prueba en el recurso compartido de 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

Ahora verifiquemos el directorio /data/export en server1.example.com, server2.example.com, server3.example.com, y server4.example.com. Notarás que cada nodo de almacenamiento contiene solo una parte de los archivos/directorios que componen el recurso compartido de GlusterFS en el cliente:

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 Enlaces

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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