GlusterFS · 4 min read · Feb 09, 2026
Creando un servidor de almacenamiento independiente similar a NFS con GlusterFS 3.0.x en Debian Squeeze
Este tutorial muestra cómo configurar un servidor de almacenamiento independiente en Debian Squeeze. En lugar de NFS, utilizaré GlusterFS aquí. El sistema cliente podrá acceder al almacenamiento como si fuera un sistema de archivos local. GlusterFS es un sistema de archivos en clúster capaz de escalar a varios petabytes. Agrega varios bloques de almacenamiento a través de Infiniband RDMA o TCP/IP en un gran sistema de archivos de red paralelo. Los bloques de almacenamiento pueden estar hechos de cualquier hardware común, como servidores x86_64 con RAID SATA-II y HBA Infiniband.
¡No emito ninguna garantía de que esto funcione para ti!
1 Nota Preliminar
En este tutorial utilizo dos sistemas, un servidor y un cliente:
- server1.example.com: dirección IP 192.168.0.100 (servidor)
- client1.example.com: dirección IP 192.168.0.101 (cliente)
Ambos sistemas deben ser capaces de resolver el nombre de host del otro sistema. Si esto no se puede hacer a través de DNS, debes editar el archivo /etc/hosts para que se vea como sigue en ambos sistemas:
vi /etc/hosts| 127.0.0.1 localhost.localdomain localhost 192.168.0.100 server1.example.com server1 192.168.0.101 client1.example.com client1 # Las siguientes líneas son deseables para hosts compatibles con IPv6 ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters |
(También es posible usar direcciones IP en lugar de nombres de host en la configuración siguiente. Si prefieres usar direcciones IP, no tienes que preocuparte de si los nombres de host se pueden resolver o no.)
2 Configurando el Servidor GlusterFS
server1.example.com:
GlusterFS está disponible como un paquete para Debian Squeeze, por lo tanto, podemos instalarlo de la siguiente manera:
apt-get install glusterfs-serverEl comando
glusterfs --versiondebe mostrar ahora la versión de GlusterFS que acabas de instalar (3.0.5 en este caso):
root@server1:~# glusterfs --version
glusterfs 3.0.5 built on Jul 13 2010 16:44:21
Repository revision: v3.0.5
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@server1:~# A continuación, creamos algunos directorios:
mkdir /data/
mkdir /data/export
mkdir /data/export-nsAhora creamos el archivo de configuración del servidor GlusterFS /etc/glusterfs/glusterfsd.vol (hacemos una copia de seguridad del archivo original /etc/glusterfs/glusterfsd.vol primero) que define qué directorio será exportado (/data/export) y qué cliente tiene permitido conectarse (192.168.0.101 = client1.example.com):
cp /etc/glusterfs/glusterfsd.vol /etc/glusterfs/glusterfsd.vol_orig
cat /dev/null > /etc/glusterfs/glusterfsd.vol
vi /etc/glusterfs/glusterfsd.vol| volume posix type storage/posix option directory /data/export end-volume volume locks type features/locks option mandatory-locks on subvolumes posix end-volume volume brick type performance/io-threads option thread-count 8 subvolumes locks end-volume volume server type protocol/server option transport-type tcp option auth.addr.brick.allow 192.168.0.101 # Edita y añade la lista de clientes permitidos separados por comas aquí subvolumes brick end-volume |
Ten en cuenta que es posible usar comodines para las direcciones IP (como 192.168.*) y que puedes especificar múltiples direcciones IP separadas por comas (por ejemplo, 192.168.0.101,192.168.0.102).
Después, iniciamos el servidor GlusterFS:
/etc/init.d/glusterfs-server start3 Configurando el Cliente GlusterFS
client1.example.com:
En el cliente, podemos instalar el cliente GlusterFS de la siguiente manera:
apt-get install glusterfs-clientLuego creamos el siguiente directorio:
mkdir /mnt/glusterfsA continuación, creamos el archivo /etc/glusterfs/glusterfs.vol (hacemos una copia de seguridad del archivo original /etc/glusterfs/glusterfs.vol primero):
cp /etc/glusterfs/glusterfs.vol /etc/glusterfs/glusterfs.vol_orig
cat /dev/null > /etc/glusterfs/glusterfs.vol
vi /etc/glusterfs/glusterfs.vol| volume remote type protocol/client option transport-type tcp option remote-host server1.example.com # puede ser IP o nombre de host option remote-subvolume brick end-volume volume writebehind type performance/write-behind option window-size 4MB subvolumes remote end-volume volume cache type performance/io-cache option cache-size 512MB subvolumes writebehind end-volume |
¡Asegúrate de usar el nombre de host o la dirección IP del servidor correcto en la línea 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…
mountroot@client1:~# 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,allow_other,default_permissions,max_read=131072)
root@client1:~#… y…
df -hroot@client1:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 29G 778M 27G 3% /
tmpfs 249M 0 249M 0% /lib/init/rw
udev 244M 100K 244M 1% /dev
tmpfs 249M 0 249M 0% /dev/shm
/etc/glusterfs/glusterfs.vol
29G 1.2G 27G 5% /mnt/glusterfs
root@client1:~#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,_netdev 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…
mountSi modificar /etc/fstab no ayuda, deshaz tu cambio en /etc/fstab y agrega esta línea a /etc/rc.local en su lugar (antes de la línea exit 0):
vi /etc/rc.local| [...] /bin/mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfs [...] |
Esto asegura que el recurso compartido se monte después de que la red esté activa.
4 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.