Cómo instalar un clúster GlusterFS de tres nodos en Debian 12

GlusterFS o Sistema de Archivos Gluster, es un sistema de archivos distribuido gratuito y de código abierto desarrollado por RedHat. GlusterFS es un sistema de archivos escalable formado por varios servidores en un sistema de archivos de entidad única que permite a los usuarios conectarse y montar el volumen GlusterFS.

GlusterFS es un sistema de archivos moderno que puede manejar petabytes de datos. Además, es fácil de instalar y mantener, y también de escalar el sistema de archivos.

En la siguiente guía, te llevaré a través de la instalación de GlusterFS en servidores Debian 12. Crearemos un sistema de almacenamiento de alta disponibilidad y replicado con GlusterFS utilizando varios servidores Debian. También aprenderás a montar GlusterFS en una máquina cliente Debian y a configurar el montaje automático del volumen GlusterFS mediante el archivo /etc/fstab.

Requisitos previos

Antes de continuar con esta guía, confirma que tienes lo siguiente:

  • Varios servidores Debian 12 – Este ejemplo utiliza 3 servidores Debian para crear el clúster GlusterFS.
  • Un usuario no root con privilegios de administrador.
  • Una máquina cliente Debian.

Particionar el disco con Parted

Antes de empezar, crearás una nueva partición que se utilizará para GlusterFS en cada servidor. En este ejemplo, crearás una partición del disco /dev/sdb con un gestor de particiones Parted.

Instala parted en tus servidores Debian utilizando el siguiente comando apt.

sudo apt install parted -y

instalar partido

Ejecuta el siguiente comando parted para empezar a particionar el disco /dev/sdb.

sudo parted /dev/sdb

Después de ejecutar el comando parted, deberías estar en el entorno parted.

Ejecuta el siguiente comando para crear una nueva tabla de particiones para el disco /dev/sdb a msdos.

mklabel msdos

Ahora ejecuta el siguiente comando para crear una nueva partición primaria /dev/sdb1 con formato ext4 y tamaño 5 GB.

mkpart primary ext4 1MB 5369MB

Una vez creada la partición, escribe quit para salir de Parted.

A continuación, ejecuta el siguiente comando para formatear la partición /dev/sdb1 a ext4.

sudo mkfs -t ext4 /dev/sdb1

Una vez formateada la partición /dev/sdb1, se mostrará el siguiente resultado:

crear partición

Ahora ejecuta el siguiente comando para crear un nuevo directorio de montaje de destino /gluster. A continuación, monta la partición /dev/sdb1 en el directorio /gluster.

mkdir -p /gluster
sudo mount /dev/sdb1 /gluster

Por último, crea un nuevo directorio /gluster/brick0 que se utilizará como directorio de datos para cada servidor GlusterFS.

sudo mkdir -p /gluster/brick0

Instalación del servidor GlusterFS

Después de haber particionado el disco en cada servidor, añadirás el repositorio de GlusterFS e instalarás el paquete glusterfs-server en cada servidor.

Ejecuta el siguiente comando para añadir la clave GPG del repositorio GlusterFS.

curl https://download.gluster.org/pub/gluster/glusterfs/11/rsa.pub | gpg --dearmor > /usr/share/keyrings/glusterfs-archive-keyring.gpg

A continuación, ejecuta el siguiente comando para añadir el repositorio GlusterFS a tus servidores Debian.

DEBID=$(grep 'VERSION_ID=' /etc/os-release | cut -d '=' -f 2 | tr -d '"')
DEBVER=$(grep 'VERSION=' /etc/os-release | grep -Eo '[a-z]+')
DEBARCH=$(dpkg --print-architecture)
echo "deb [signed-by=/usr/share/keyrings/glusterfs-archive-keyring.gpg] https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/${DEBID}/${DEBARCH}/apt ${DEBVER} main" | sudo tee /etc/apt/sources.list.d/gluster.list

añadir repo

Después de añadir el repositorio GlusterFS y la clave GPG, ejecuta el siguiente comando apt para actualizar y refrescar tu índice de paquetes Debian.

sudo apt update

actualizar repo

A continuación, ejecuta el siguiente comando apt install para instalar el paquete glusterfs-server.

sudo apt install glusterfs-server

Introduce y para proceder a la instalación.

instalar servidor glusterfs

Una vez instalado glusterfs-server, ejecuta el siguiente comando systemctl para iniciar y habilitar el servicio glusterd.

sudo systemctl start glusterd
sudo systemctl enable glusterd

Por último, verifica el servicio glusterd para asegurarte de que se está ejecutando y está habilitado.

sudo systemctl status glusterd

La siguiente salida revela que el servicio glusterd se está ejecutando y está habilitado.

start enable glusterd

Inicialización del clúster GlusterFS

Con el paquete glusterfs-server instalado, el siguiente paso es inicializar el clúster GlusterFS. En este ejemplo, inicializarás el Cluster GLusterFS desde el servidor1, y luego añadirás al cluster el servidor2 y el servidor3.

Desde el terminal del servidor1, ejecuta el siguiente comando gluster para inicializar el Cluster GlusterFS con los miembros del servidor2 en la dirección IP 192.168.10.21 y el servidor3 con la dirección IP 192.168.10.22.

sudo gluster peer probe 192.168.10.21
sudo gluster peer probe 192.168.10.22

Si la inicialización se realiza correctamente, aparecerá el mensaje de salida«peer probe: success«.

inicializar clúster

Ahora dirígete al servidor2 o al servidor3 y ejecuta el siguiente comando gluster para verificar el estado del clúster GlusterFS.

sudo gluster peer status

Si todo va bien, habrá dos peers disponibles en tu Cluster GlusterFS.

estado de los compañeros

En el servidor2, deberías ver el servidor1 y el servidor3.

estado peer servidor2

En el servidor3, deberías ver el servidor1 y el servidor2.

estado peer servidor3

Por último, también puedes verificar la lista de peers disponibles en tu Cluster GlusterFS utilizando el siguiente comando gluster.

sudo gluster pool list

La siguiente salida muestra que el Clúster GlusterFS tiene tres servidores diferentes.

lista de piscinas

Creación de un volumen GlusterFS

Llegados a este punto, ya has inicializado el Cluster GlusterFS. Para que el GLusterFS esté disponible para los clientes, debes crear el volumen en tu clúster GlusterFS.

Ejecuta el siguiente comando para crear un nuevo volumen volume1 con 3 réplicas, server1, server2 y server3.

sudo gluster volume create volume1 replica 3 192.168.10.20:/gluster/brick0 192.168.10.21:/gluster/brick0 192.168.10.22:/gluster/brick0

Una vez creado el volumen volume1, inícialo utilizando el siguiente comando gluster.

sudo gluster volume start volume1

La salida«volume start: volume1: success» indica que el volumen1 se ha iniciado.

crear volumen inicial

Ahora ejecuta el siguiente comando para comprobar la lista de volúmenes disponibles en tu Cluster GlusterFS.

sudo gluster volume info

La siguiente salida revela que el volumen1 está creado con el tipo Replicar y 3 servidores, como servidor1, servidor2 y servidor3.

información de volumen

Montar un volumen GlusterFS

En la siguiente sección, montarás el volumen GlusterFS volumen1 que has creado en una máquina Cliente Debian. Para ello, debes añadir el repositorio de GlusterFS e instalar el paquete glusterfs-client en tu máquina cliente Debian.

Descarga la clave GPG del repositorio GLusterFS en tu máquina cliente Debian.

curl https://download.gluster.org/pub/gluster/glusterfs/11/rsa.pub | gpg --dearmor > /usr/share/keyrings/glusterfs-archive-keyring.gpg

Añade el repositorio GLusterFS ejecutando el siguiente comando en tu cliente.

DEBID=$(grep 'VERSION_ID=' /etc/os-release | cut -d '=' -f 2 | tr -d '"')
DEBVER=$(grep 'VERSION=' /etc/os-release | grep -Eo '[a-z]+')
DEBARCH=$(dpkg --print-architecture)
echo "deb [signed-by=/usr/share/keyrings/glusterfs-archive-keyring.gpg] https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/${DEBID}/${DEBARCH}/apt ${DEBVER} main" | sudo tee /etc/apt/sources.list.d/gluster.list

Ahora actualiza el repositorio de tu cliente Debian e instala el paquete glusterfs-client mediante el siguiente comando apt.

sudo apt update
sudo apt install glusterfs-client

Escribe y para proceder a la instalación. Una vez instalado glusterfs-client, ya puedes montar el volumen GlusterFS en tu máquina cliente Debian.

instalar cliente glusterfs

A continuación, ejecuta el siguiente comando para crear un nuevo directorio de montaje de destino /mnt/data.

mkdir -p /mnt/data

A continuación, ejecuta el siguiente comando para montar el volumen1 en el directorio /mnt/data. Puedes cambiar la dirección IP del servidor GlusterFS por servidor1, servidor2 o servidor3.

sudo mount.glusterfs 192.168.10.20:/volume1 /mnt/data

Una vez montado el volumen1, verifícalo utilizando el siguiente comando.

sudo df -h

Si todo va bien, deberías ver que el volumen1 está montado en el directorio /mnt/data.

montar volumen glusterfs

Ahora que el volumen GlusterFS está montado, comprobarás el acceso de escritura del directorio de montaje de destino y verificarás la replicación de datos desde la máquina cliente a los servidores del Cluster GlusterFS.

A continuación, desplázate al directorio /mnt/data y crea nuevos archivos utilizando el siguiente comando. Esto creará varios archivos en ese directorio y garantizará que el volumen es escribible.

cd /mnt/data
touch file{1..15}.md

Comprueba la lista de archivos disponibles utilizando el siguiente comando ls.

ls -ah

escritura de prueba

Ahora pasa a los servidores GlusterFS, servidor1, servidor2 o servidor3, y ejecuta el comando ls que aparece a continuación para comprobar la lista de archivos disponibles.

ls /gluster/brick0

Cuando la replicación funcione, deberías ver los archivos en todos esos servidores GlusterFS creados desde la máquina cliente Debian.

Abajo datos replicados al servidor1.

servidor1 replicado

Abajo los datos replicados al servidor2

servidor replicado2

Abajo datos replicados al servidor3.

servidor replicado3

Configuración del volumen GlusterFS de montaje automático

En la siguiente sección, aprenderás a configurar el montaje automático del volumen GlusterFS mediante el archivo /etc/fstab. Esto te permite montar el volumen GlusterFS automáticamente en el arranque.

Abre el archivo /etc/fstab utilizando el siguiente comando del editor nano.

sudo nano /etc/fstab

Introduce la siguiente configuración para montar el volumen1 en el directorio de destino /mnt/data.

192.168.10.20:/volume1 /mnt/data glusterfs defaults,_netdev 0 0

Guarda y sal del archivo cuando hayas terminado.

Ahora ejecuta el siguiente comando para recargar el gestor systemd y verificar la configuración de /etc/fstab. Si no aparece ningún mensaje de salida, confirma que la configuración de /etc/fstab es correcta.

sudo systemctl daemon-reload
sudo mount -a

Conclusión

¡Gran trabajo! Has instalado con éxito GlusterFS en servidores Debian 12 y has creado el clúster GlusterFS con 3 servidores. También has creado y montado un volumen GlusterFS en la máquina cliente Debian. Además, también has configurado el montaje automático del volumen GlusterFS mediante el archivo /etc/fstab.

También te podría gustar...