Cómo instalar GlusterFS en AlmaLinux 9
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 es fácil escalar el sistema de archivos.
En esta guía, te llevaremos a través del proceso de instalación de GlusterFS Cluster en servidores AlmaLinux 9. Configurarás un sistema de almacenamiento de archivos de alta disponibilidad utilizando GlusterFS en servidores AlmaLinux 9.
Requisitos previos
Antes de proceder, asegúrate de que tienes lo siguiente:
- Dos o más servidores AlmaLinux 9 – Esta demostración utiliza dos servidores AlmaLinux srv1 con la dirección IP 192.168.10.41 y srv2 con la dirección IP 192.168.10.42.
- Un usuario no root con privilegios de administrador root.
- GlusterFS utilizará un disco nuevo.
Preparar el disco y la partición
Se recomienda utilizar un disco independiente para crear el clúster GlusterFS. De esta forma, tus datos estarán siempre seguros. La siguiente demostración utiliza dos servidores diferentes y cada servidor tiene un disco adicional /dev/sdb.
En esta sección, crearás una nueva partición del disco /dev/sdb que utilizará GlusterFS.
Ejecuta el siguiente comando para comprobar la lista de discos disponibles en tu sistema. En este caso, tenemos dos discos /dev/sda y /dev/sdb, y el disco /dev/sdb se utilizará para GlusterFS.
sudo fdisk -l
Introduce el siguiente comando para crear una nueva partición en el disco /dev/sdb.
sudo fdisk /dev/sdb
- Introduce n para crear una nueva partición.
- Selecciona el tipo de partición p para la primaria.
- Para el número de partición, introduce 1 para crear 1 partición.
- Para el primer y último sector de la partición, déjalo por defecto y pulsa ENTER.
- Por último, introduce w para guardar los cambios.
Se creará la nueva partición /dev/sdb1.
Ahora ejecuta el siguiente comando para formatear la partición /dev/sdb1 al sistema de archivos ext4.
sudo mkfs.ext4 /dev/sdb1
Después, ejecuta el siguiente comando para crear un nuevo directorio que se utilizará como directorio de montaje de destino para /dev/sdb1.
# Run this on srv1 sudo mkdir -p /data/vol1
# Run this on srv2
sudo mkdir -p /data/vol2
A continuación, ejecuta el siguiente comando para montar el directorio /dev/sdb1 en /data/vol1 y, a continuación, comprueba la lista del sistema de archivos montado y el nuevo directorio /data/vol1/brick0.
# Run this on srv1 sudo mount /dev/sdb1 /data/vol1 sudo df -h sudo mkdir -p /data/vol1/brick0
Repite el comando así en el servidor srv2:
# Run this on srv2 sudo mount /dev/sdb1 /data/vol2 sudo df -h sudo mkdir -p /data/vol2/brick0
Configurar FQDN
En esta sección, configurarás el fqdn (nombre de dominio completo) para cada servidor AlmaLinux que se utilizará para crear el clúster GlusterFS,
Ejecuta el siguiente comando para configurar el fqdn de cada servidor. En este caso, el srv1 tendrá fqdn srv1. hwdomain. lan, y el servidor srv2 tendrá fqdn srv2.hwdomain.lan.
sudo hostnamectl set-hostname srv1.hwdomain.lan sudo hostnamectl set-hostname srv2.hwdomain.lan
Abre el archivo /etc/hosts utilizando el siguiente comando del editor nano.
sudo nano /etc/hosts
Introduce la siguiente configuración y asegúrate de cambiar los detalles de cada dirección IP.
192.168.10.41 srv1.hwdomain.lan srv1 192.168.10.42 srv2.hwdomain.lan srv2
Guarda y sal del archivo cuando hayas terminado.
A continuación, ejecuta el siguiente comando para verificar la fqdn en cada servidor y asegúrate de que la fqdn apunta a la dirección IP adecuada.
sudo hostname -f ping -c3 srv1.hwdomain.lan ping -c3 srv2.hwdomain.lan
Instalación de GlusterFS
Ahora vas a instalar el paquete GlusterFS en todos tus servidores AlmaLinux, luego también añadirás el servicio GlusterFS al firewalld. En cuanto a la distribución basada en RHEL, los paquetes GlusterFS están disponibles en el repositorio SIG (SpecialInterestGroup) de CentOS.
En primer lugar, ejecuta el siguiente comando dnf para añadir el repositorio de GlusterFS a tus servidores. Introduce y cuando te lo pida y pulsa ENTER para confirmar.
sudo dnf install centos-release-gluster9
Ahora ejecuta el siguiente comando para verificar la lista de repositorios en tu sistema. Si se ha realizado correctamente, deberías ver el repositorio GlusterFS añadido.
sudo dnf repolist
A continuación, ejecuta el siguiente comando dnf para instalar los paquetes de GlusterFS en cada servidor. Cuando se te solicite, introduce y para confirmar y pulsa INTRO.
sudo dnf install glusterfs glusterfs-libs glusterfs-server
Además, introduce y de nuevo para añadir la clave GPG del repositorio GlusterFS.
Una vez instalado GlusterFS, ejecuta el siguiente comando systemctl para iniciar y habilitar el servicio glusterfsd.
sudo systemctl enable glusterfsd.service sudo systemctl start glusterfsd.service
A continuación, verifica el servicio glusterfsd para asegurarte de que se está ejecutando.
sudo systemctl status glusterfsd.service
Si glusterfsd se está ejecutando, deberías obtener una salida activa (en ejecución).
Ahora ejecuta el siguiente comando firewall-cmd para añadir el puerto GlusterFS y recarga el firewalld para aplicar los cambios.
sudo firewall-cmd --add-service=glusterfs --permanent sudo firewall-cmd --reload
Comprueba la lista de servicios disponibles en firewalld utilizando el siguiente comando. Si se realiza correctamente, deberías ver el servicio glusterfs en la lista de servicios de firewalld.
sudo firewall-cmd --list-all
Inicialización del clúster GlusterFS
Con el servicio GlusterFS en ejecución y el firewalld configurado, a continuación inicializarás el clúster GlusterFS.
En el srv1, ejecuta el siguiente comando gluster para inicializar el clúster GlusterFS. Y asegúrate de cambiar el srv2 .hwdomain.lan con el fqdn de tu segundo servidor.
sudo gluster peer probe srv2.hwdomain.lan
Si la inicialización se realiza correctamente, deberías recibir el mensaje«peer probe success«.
Ahora ejecuta el siguiente comando para comprobar el estado del clúster GlusterFS. Deberías ver que el clúster GlusterFS actual tiene como miembro el servidor srv2.hwdomain.lan.
sudo gluster peer status
Por último, desplázate al servidor srv2. hwdomain.lan y ejecuta el siguiente comando gluster para comprobar el estado del clúster GlusterFS.
sudo gluster peer status
Si la instalación se ha realizado correctamente, deberías ver que el miembro del clúster GlusterFS es el servidor srv1. hwdomain.lan.
En este punto, has finalizado la instalación del clúster GlusterFS. En el siguiente paso, crearás el volumen GlusterFS que montarán las máquinas cliente.
Creación del volumen GlusterFS
En la siguiente sección, crearás el volumen GLusterFS que replicará automáticamente tus datos entre los servidores del clúster GlusterFS.
Ejecuta el siguiente comando para crear un nuevo volumen GlusterFS testvol. Introduce y y pulsa INTRO para confirmar.
sudo gluster volume create testvol replica 2 srv1.hwdomain.lan:/data/vol1/brick0 srv2.hwdomain.lan:/data/vol2/brick0
Una vez creado el volumen testvol, ejecuta el siguiente comando para iniciar el volumen testvol.
sudo gluster volume start testvol
Ahora verifica el estado del volumen GlusterFS utilizando el siguiente comando. Deberías ver el volumen testvol con dos servidores GLusterFS srv1 .hwdomain.lan y srv2.hwdomain.lan.
sudo gluster volume status
Por último, también puedes obtener información detallada sobre el volumen GlusterFS utilizando el siguiente comando.
sudo gluster volume info
Montar el Volumen GlusterFS en el Cliente
Una vez creado el volumen GlusterFS, el siguiente paso será montar el volumen en la máquina cliente. Para ello, debes instalar el paquete cliente GlusterFS en tus máquinas cliente.
En tu máquina cliente, añade el repositorio de GlusterFS utilizando el comando dnf que aparece a continuación.
sudo dnf install centos-release-gluster9
Ahora ejecuta el comando dnf que aparece a continuación para instalar el paquete glusterfs-client.
sudo dnf install glusterfs-client
Con el glusterfs-client instalado, puedes montar el volumen GlusterFS.
Crea una nueva copia de seguridad del directorio utilizando el siguiente comando. Éste se utilizará como directorio de destino de montaje del volumen GlusterFS.
sudo mkdir -p /backup
Ahora ejecuta el siguiente comando para montar el volumen testvol de GlusterFS desde el servidor srv1.hwdomain.lan.
sudo mount.glusterfs srv1.hwdomain.lan:/testvol /backup
Comprueba la lista de sistemas de archivos montados en tu sistema mediante el siguiente comando df.
sudo df -h
Deberías ver que el volumen testvol del servidor GlusterFS srv1 .hwdomain. lan está montado en el directorio de destino /backup.
A continuación, desplázate al directorio /backup y crea nuevos archivos de prueba para garantizar el acceso de lectura y escritura. Además, los nuevos archivos que hayas creado se replicarán automáticamente en el clúster GlusterFS.
cd /backup
touch file{1..5}.md ls
En el servidor srv1, ejecuta el siguiente comando para comprobar la lista de archivos disponibles en el directorio /data/vol1/brick0.
ls /data/vol1/brick0
Si los datos están replicados, deberías ver los nuevos archivos que creaste anteriormente.
Para el servidor srv2, ejecuta el comando ls así. Si la replicación se realiza correctamente, deberías ver nuevos archivos también disponibles en el servidor srv2.
ls /data/vol2/brick0
Conclusión
¡Buen trabajo! Has instalado con éxito GlusterFS en tus máquinas AlmaLinux y has creado un clúster GlusterFS utilizando dos servidores. También has aprendido a crear particiones a través de la línea de comandos, crear y gestionar el volumen GlusterFS, y montar el volumen GlusterFS en la máquina cliente.
Ahora puedes empezar a almacenar archivos en tu clúster GlusterFS, y tus datos se replicarán automáticamente en varios servidores.