Almacenamiento · 4 min read · Feb 11, 2026

Creando un servidor de almacenamiento independiente similar a NFS con GlusterFS 3.2.x en Debian Wheezy

Este tutorial muestra cómo configurar un servidor de almacenamiento independiente en Debian Wheezy. 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 deberían poder resolver el nombre de host del otro sistema. Si esto no se puede hacer a través de DNS, deberías 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 por si los nombres de host pueden resolverse o no.)

2 Configurando el Servidor GlusterFS

server1.example.com:

GlusterFS está disponible como un paquete para Debian Wheezy, por lo tanto, podemos instalarlo de la siguiente manera:

apt-get install glusterfs-server

El comando

glusterfsd --version

debe mostrar ahora la versión de GlusterFS que acabas de instalar (3.2.7 en este caso):

root@server1:~# glusterfsd –version
glusterfs 3.2.7 built on Nov 12 2012 19:30:08
Repository revision: git://git.gluster.com/glusterfs.git
Copyright (c) 2006-2011 Gluster Inc. http://www.gluster.com
GlusterFS viene con NINGUNA GARANTÍA ABSOLUTA.
Puedes redistribuir copias de GlusterFS bajo los términos de la Licencia Pública General de GNU.
root@server1:~#

Si usas un firewall, asegúrate de que los puertos TCP 111, 24007, 24008, 24009-(24009 + número de bloques en todos los volúmenes) estén abiertos en server1.example.com.

A continuación, creamos el recurso compartido llamado testvol en localhost (= server1) en el directorio /data (esto se creará si no existe):

gluster volume create testvol server1.example.com:/data

root@server1:~# gluster volume create testvol server1.example.com:/data
La creación del volumen testvol ha sido exitosa. Por favor, inicia el volumen para acceder a los datos.
root@server1:~#

Inicia el volumen:

gluster volume start testvol

Es posible que el comando anterior te diga que la acción no fue exitosa:

root@server1:~# gluster volume start testvol
Iniciar el volumen testvol no ha sido exitoso
root@server1:~#

Puedes verificar el estado del volumen con el comando

gluster volume info
root@server1:~# gluster volume info

Nombre del Volumen: testvol
Tipo: Distribuir
Estado: Iniciado
Número de Bloques: 1
Tipo de Transporte: tcp
Bloques:
Brick1: server1.example.com:/data
root@server1:~#

Si te dice que el volumen está iniciado, todo está bien, de lo contrario, simplemente inícialo de nuevo.

Por defecto, todos los clientes pueden conectarse al volumen. Si deseas otorgar acceso solo a client1.example.com (= 192.168.0.101), ejecuta:

gluster volume set testvol auth.allow 192.168.0.101

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

La información del volumen ahora debería mostrar el estado actualizado:

gluster volume info
root@server1:~# gluster volume info

Nombre del Volumen: testvol
Tipo: Distribuir
Estado: Iniciado
Número de Bloques: 1
Tipo de Transporte: tcp
Bloques:
Brick1: server1.example.com:/data
Opciones Reconfiguradas:
auth.allow: 192.168.0.101
root@server1:~#

3 Configurando el Cliente GlusterFS

client1.example.com:

En el cliente, podemos instalar el cliente GlusterFS de la siguiente manera:

apt-get install glusterfs-client

Luego creamos el siguiente directorio:

mkdir /mnt/glusterfs

¡Eso es todo! Ahora podemos montar el sistema de archivos GlusterFS en /mnt/glusterfs con el siguiente comando:

mount.glusterfs server1.example.com:/testvol /mnt/glusterfs

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

mount

root@client1:~# mount
sysfs en /sys tipo sysfs (rw,nosuid,nodev,noexec,relatime)
proc en /proc tipo proc (rw,nosuid,nodev,noexec,relatime)
udev en /dev tipo devtmpfs (rw,relatime,size=10240k,nr_inodes=126813,mode=755)
devpts en /dev/pts tipo devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs en /run tipo tmpfs (rw,nosuid,noexec,relatime,size=102704k,mode=755)
/dev/mapper/server1-root en / tipo ext4 (rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
tmpfs en /run/lock tipo tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs en /run/shm tipo tmpfs (rw,nosuid,nodev,noexec,relatime,size=205400k)
/dev/sda1 en /boot tipo ext2 (rw,relatime,errors=continue)
rpc_pipefs en /var/lib/nfs/rpc_pipefs tipo rpc_pipefs (rw,relatime)
server1.example.com:/testvol en /mnt/glusterfs tipo fuse.glusterfs (rw,relatime,user_id=0,group_id=0,default_permissions,allow_other,max_read=131072)
fusectl en /sys/fs/fuse/connections tipo fusectl (rw,relatime)
root@client1:~#

… y…

df -h

root@client1:~# df -h
Sistema de archivos                    Tamaño  Usado Disponible Uso% Montado en
rootfs                         29G  1.2G   26G   5% /
udev                           10M     0   10M   0% /dev
tmpfs                         101M  240K  101M   1% /run
/dev/mapper/server1-root       29G  1.2G   26G   5% /
tmpfs                         5.0M     0  5.0M   0% /run/lock
tmpfs                         201M     0  201M   0% /run/shm
/dev/sda1                     228M   18M  199M   9% /boot
server1.example.com:/testvol   29G  1.2G   26G   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  

| [...] server1.example.com:/testvol /mnt/glusterfs glusterfs defaults,_netdev 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 Enlaces

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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