Almacenamiento · 4 min read · Jan 07, 2026
Almacenamiento de Alta Disponibilidad Con GlusterFS En Debian Lenny - Replicación Automática de Archivos Entre Dos Servidores de Almacenamiento - Página 2
3 Configuración Del Cliente GlusterFS
client1.example.com:
En el cliente, necesitamos instalar fuse y GlusterFS. En lugar de instalar el paquete libfuse2 del repositorio de Debian, instalamos una versión parcheada con mejor soporte para GlusterFS.
Primero instalamos los requisitos previos nuevamente:
aptitude install sshfs build-essential flex bison byacc libdb4.6 libdb4.6-devLuego construimos fuse de la siguiente manera (puedes encontrar la última versión parcheada de fuse en ftp://ftp.zresearch.com/pub/gluster/glusterfs/fuse/):
cd /tmp
wget ftp://ftp.zresearch.com/pub/gluster/glusterfs/fuse/fuse-2.7.4glfs11.tar.gz
tar -zxvf fuse-2.7.4glfs11.tar.gz
cd fuse-2.7.4glfs11
./configure
make && make installDespués construimos GlusterFS (igual que en el servidor)…
cd /tmp
wget http://ftp.gluster.com/pub/gluster/glusterfs/2.0/LATEST/glusterfs-2.0.1.tar.gz
tar xvfz glusterfs-2.0.1.tar.gz
cd glusterfs-2.0.1
./configure --prefix=/usr > /dev/nullmake && make install
ldconfig
glusterfs --version… y creamos los siguientes dos directorios:
mkdir /mnt/glusterfs
mkdir /etc/glusterfsA 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 replicate type cluster/replicate subvolumes remote1 remote2 end-volume volume writebehind type performance/write-behind option window-size 1MB subvolumes replicate 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/glusterfso
mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfsAhora deberías ver el nuevo recurso compartido en las salidas de…
mountclient1:/tmp/glusterfs-2.0.1# mount
/dev/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
/etc/glusterfs/glusterfs.vol on /mnt/glusterfs type fuse.glusterfs (rw,max_read=131072,allow_other,default_permissions)
client1:/tmp/glusterfs-2.0.1#… y…
df -hclient1:/tmp/glusterfs-2.0.1# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 29G 935M 27G 4% /
tmpfs 126M 0 126M 0% /lib/init/rw
udev 10M 80K 10M 1% /dev
tmpfs 126M 0 126M 0% /dev/shm
/etc/glusterfs/glusterfs.vol
19G 804M 17G 5% /mnt/glusterfs
client1:/tmp/glusterfs-2.0.1#( server1.example.com y server2.example.com cada uno tiene 19GB de espacio para el sistema de archivos GlusterFS, pero como los datos están reflejados, el cliente no ve 38GB (2 x 19GB), sino solo 19GB.)
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:
rebootDespués del reinicio, deberías encontrar el recurso compartido en las salidas de…
df -h… y…
mount4 Pruebas
Ahora creemos algunos archivos de prueba en el recurso compartido de GlusterFS:
client1.example.com:
touch /mnt/glusterfs/test1
touch /mnt/glusterfs/test2Ahora verifiquemos el directorio /data/export en server1.example.com y server2.example.com. Los archivos test1 y test2 deberían estar presentes en cada nodo:
server1.example.com/server2.example.com:
ls -l /data/exportserver1:~# ls -l /data/export
total 0
-rw-r--r-- 1 root root 0 2009-06-02 15:31 test1
-rw-r--r-- 1 root root 0 2009-06-02 15:32 test2
server1:~#Ahora apagamos server1.example.com y agregamos/borramos algunos archivos en el recurso compartido de GlusterFS en client1.example.com.
server1.example.com:
shutdown -h nowclient1.example.com:
touch /mnt/glusterfs/test3
touch /mnt/glusterfs/test4
rm -f /mnt/glusterfs/test2Los cambios deberían ser visibles en el directorio /data/export en server2.example.com:
server2.example.com:
ls -l /data/exportserver2:/tmp/glusterfs-2.0.1# ls -l /data/export
total 0
-rw-r--r-- 1 root root 0 2009-06-02 15:31 test1
-rw-r--r-- 1 root root 0 2009-06-02 15:32 test3
-rw-r--r-- 1 root root 0 2009-06-02 15:33 test4
server2:/tmp/glusterfs-2.0.1#Vamos a reiniciar server1.example.com y a ver el directorio /data/export:
server1.example.com:
ls -l /data/exportserver1:~# ls -l /data/export
total 0
-rw-r--r-- 1 root root 0 2009-06-02 15:31 test1
-rw-r--r-- 1 root root 0 2009-06-02 15:32 test2
server1:~#Como ves, server1.example.com no ha notado los cambios que ocurrieron mientras estaba apagado. Esto es fácil de solucionar, solo necesitamos invocar un comando de lectura en el recurso compartido de GlusterFS en client1.example.com, por ejemplo:
client1.example.com:
ls -l /mnt/glusterfs/client1:~# ls -l /mnt/glusterfs/
total 0
-rw-r--r-- 1 root root 0 2009-06-02 15:31 test1
-rw-r--r-- 1 root root 0 2009-06-02 15:32 test3
-rw-r--r-- 1 root root 0 2009-06-02 15:33 test4
client1:~#Ahora echa un vistazo al directorio /data/export en server1.example.com nuevamente, y deberías ver que los cambios se han replicado a ese nodo:
server1.example.com:
ls -l /data/exportserver1:~# ls -l /data/export
total 0
-rw-r--r-- 1 root root 0 2009-06-02 15:31 test1
-rw-r--r-- 1 root root 0 2009-06-02 15:52 test3
-rw-r--r-- 1 root root 0 2009-06-02 15:52 test4
server1:~#5 Enlaces
- GlusterFS: http://www.gluster.org/
- Debian: http://www.debian.org/
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.