Cómo instalar GlusterFS en Rocky Linux

GlusterFS o Gluster File System 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 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 de escalar el sistema de archivos.

En este tutorial, aprenderás a instalar GlusterFS en dos sistemas Rocky Linux y a configurar el clúster entre dos servidores. También veremos cómo montar el volumen de GlusterFS en la máquina cliente.

Requisitos previos

  • Dos servidores Rocky Linux con un disco adicional en cada servidor.
  • Se ha configurado una contraseña de root en ambos servidores

Configuración de FQDN y /etc/hosts

Antes de empezar, tendrás que configurar el FQDN y el archivo /etc/hosts en cada servidor.

A continuación se detalla el servidor que utilizaremos para crear el clúster GlusterFS:

  • servidor1. dominiolocal.lan con la dirección IP 192.168.10.15
  • servidor2. dominiolocal.lan con la dirección IP 192.168.10 .20

Para configurar el FQDN en cada servidor, ejecuta el comando hostnamectl que aparece a continuación.

En el servidor1, ejecuta el siguiente comando hostnamectl.

sudo hostnamectl set-hostname server1.localdomain.lan

Y en el servidor2, ejecuta el siguiente comando.

sudo hostnamectl set-hostname server2.localdomain.lan

A continuación, edita la configuración /etc/hosts con el editor nano.

sudo nano /etc/hosts

Pega la siguiente configuración.

192.168.10.15 server1.localdomain.lan
192.168.10.20 server2.localdomain.lan

Guarda el archivo pulsando Ctrl+X e introduciendo Y para confirmar.

Ahora comprueba la conectividad entre el servidor1 y el servidor2 utilizando el siguiente comando ping.

ping -c3 server1.localdomain.lan
ping -c3 server2.localdomain.lan

Cada nombre de dominio local se resolverá a la dirección IP correcta del servidor.

configurar el archivo fqdn y hosts

Configurar la partición

Para desplegar el GlusterFS, se recomienda utilizar un almacenamiento en disco diferente, especialmente para el entorno de producción.

Para este tutorial, tanto el servidor1 como el servidor2 tienen un disco secundario /dev/vdb1 con un tamaño de 5GB.

Ahora edita la configuración de /etc/fstab utilizando el editor nano para añadir tu disco.

sudo nano /etc/fstab

Para el servidor1, el disco /dev/vda1 se montará en el directorio /data/vol1.

/dev/vda1 /data/vol1 ext4 default 0 0

Y para el servidor 2, el disco /dev/vda1 se montará en el directorio /data/vol2.

/dev/vda1 /data/vol2 ext4 default 0 0

A continuación, monta el disco /dev/vda1 con el siguiente comando.

sudo mount -a

Si no hay ningún mensaje de error, verifica la lista de discos montados en cada sistema ejecutando el comando df como se indica a continuación.

sudo df -h

Deberías ver que el disco /dev/vda1 está montado en el directorio /data.

Ahora, antes de empezar a instalar y configurar el cluster GlusterFS, ejecuta el siguiente comando para crear el directorio brick0 dentro del directorio /data.

En el servidor1, ejecuta el siguiente comando.

sudo mkdir -p /data/vol1/brick0

En el servidor2, ejecuta el siguiente comando.

sudo mkdir -p /data/vol2/brick0

Añadir el repositorio GlusterFS para Rocky Linux

Después de configurar con éxito el disco, ahora vas a instalar los paquetes de GlusterFS en tus servidores Rocky Linux.

El actual Rocky Linux todavía no proporciona paquetes de servidor GlusterFS, pero puedes utilizar los paquetes GlusterFS de la versión CentOS.

Añade el repositorio de GlusterFS a tu sistema Rocky Linux mediante el siguiente comando.

sudo dnf install centos-release-gluster9

Escribe y para confirmar la instalación y pulsa ENTER para continuar.

añadir repositorio glusterfs

A continuación, ve al directorio /etc/yum.repos.d/ y edita la confioguración del repositorio CentOS-Gluster-9.repo utilizando el editor nano.

cd /etc/yum.repos.d/
sudo nano CentOS-Gluster-9.repo

Cambia la línea baseurl con el repositorio Rocky Linux y comenta la línea mirrorlist como se indica a continuación

# CentOS-Gluster-9.repo
#
# Please see http://wiki.centos.org/SpecialInterestGroup/Storage for more
# information

[centos-gluster9]
name=CentOS-$releasever - Gluster 9
#mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=$releasever&repo=storage-gluster-9
baseurl=https://dl.rockylinux.org/vault/centos/8.5.2111/storage/x86_64/gluster-9/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage

[centos-gluster9-test]
name=CentOS-$releasever - Gluster 9 Testing
baseurl=http://buildlogs.centos.org/centos/$releasever/storage/$basearch/gluster-9/
gpgcheck=0
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage

Guarda el archivo usando Ctrl+X e Y para confirmar.

Ahora comprueba el repositorio disponible en tu sistema Rocky Linux utilizando el siguiente comando.

sudo dnf repolist

Verás el repositorio de CentOS para GlusterFS 9.

configuración del repositorio

Instalar el servidor GlusterFS

Ahora instala los paquetes de GlusterFS en el sistema Rocky Linux utilizando el siguiente comando dnf.

sudo dnf install glusterfs glusterfs-libs glusterfs-server

Escribe Y para confirmar la instalación y pulsa ENTER para continuar.

instalar el servidor glusterfs

Una vez finalizada la instalación, inicia el servicio glusterfsd y añádelo al inicio del sistema mediante el siguiente comando.

sudo systemctl enable glusterfsd.service
sudo systemctl start glusterfsd.service

Ahora verifica el estado del servicio glusterfsd utilizando el siguiente comando.

sudo systemctl status glusterfsd.service

Verás que el servicio glusterfsd está activo con el estado exited, lo que significa que se está ejecutando, pero el gestor systemd no encuentra ningún demonio que monitorizar.

iniciar y verificar glusterfs

Abrir puerto con Firewalld

Antes de empezar a configurar el clúster GlusterFS, tendrás que abrir el puerto para el servicio GlusterFS.

En los sistemas operativos basados en RHEL Linux, la aplicación de cortafuegos por defecto es firewalld, que proporciona la herramienta de línea de comandos firewall-cmd para gestionar el cortafuegos.

Añade el servicio glusterfs a tu configuración de firewalld y recarga el firewalld con el comando que aparece a continuación.

sudo firewall-cmd --add-service=glusterfs --permanent
sudo firewall-cmd --reload

Después, verifica la lista de servicios en el firewalld utilizando el siguiente comando.

sudo firewall-cmd --list-services

Verás que el servicio glusterfs se ha añadido al firewalld.

configurar firewalld

Inicializar el clúster GlusterFS

El siguiente paso será inicializar y configurar el clúster GlusterFS en los sistemas Rocky Linux.

En primer lugar, inicializa el clúster GlusterFS con el siguiente comando. Este comando debe ejecutarse en el servidor1 y sólo puede ejecutarse una vez.

Al utilizar este comando, estarás añadiendo el servidor2.localdomain.lan al peer de GlusterFS en el servidor1. Además, el servidor2 se inicializará automáticamente una vez completado el siguiente comando.

sudo gluster peer probe server2.localdomain.lan

Ahora deberías ver el mensaje de salida ‘peer probe: success’.

A continuación, verifica el estado del peer en el servidor1 con el siguiente comando.

sudo gluster peer status

Deberías ver que sólo hay un peer en el servidor1.

inicializar el peer glusterfs y comprobar el peer

Además, ejecuta el siguiente comando en el servidor2 para comprobar los pares disponibles en el servidor2.

sudo gluster peer status

Deberías ver que sólo hay un peer en el servidor2.

comprobar el estado de los compañeros servidor2

Crear un volumen GlusterFS

Después de haber inicializado con éxito el clúster GlusterFS, crearás un nuevo volumen GlusterFS que será utilizado por las máquinas cliente.

En este tutorial, crearás un nuevo volumen con el nombre myvolume con el tipo replica de 2 discos del servidor1 y del servidor2.

sudo gluster volume create myvolume replica 2 server1.localdomain.lan:/data/vol1/brick0 server2.localdomain.com:/data/vol2/brick0

Ahora escribe y para confirmar y pulsa ENTER para crear el volumen GlusterFS.

Cuando el proceso sea un éxito, verás la salida como la siguiente captura de pantalla.

crear volumen glusterfs

A continuación, inicia el volumen Glusterfs myvolume con el siguiente comando.

sudo gluster volume start myvolume

Verás el mensaje de salida «volume start: myvolume: success», lo que significa que el myvolume se ha iniciado.

Ahora ejecuta el siguiente comando para verificar el estado del volumen GLusterFS.

sudo gluster volume status

A continuación verás que el estado de mivolumen está en línea y listo para ser utilizado por los clientes.

iniciar el volumen glusterfs

Opcionalmente, también puedes verificar el estado del volumen GlusterFS con el siguiente comando.

sudo gluster volume info

Verás que el volumen myvolume con el tipo replicar y el estado es iniciado. El myvolume se basa en el disco del servidor1 y del servidor2.

comprobar el volumen glusterfs

Montaje del volumen GlusterFS en la máquina cliente

Ahora has creado el volumen GlusterFS myvolume. A continuación, aprenderás a configurar la máquina cline y a montar el volumen GlusterFS.

En este tutorial, utilizaremos la máquina cliente con el nombre de cliente.

Edita la configuración de /etc/hosts en tu máquina cliente utilizando el editor nano.

sudo nano /etc/hosts

Pega la siguiente configuración.

192.168.10.15 server1.localdomain.lan
192.168.10.20 server2.localdomain.lan

Guarda el archivo con Ctrl+X e introduce Y para confirmar.

Para verificar la conexión entre la máquina cliente y el servidor GlusterFS, ejecuta el siguiente comando ping.

ping -c3 server1.localdomain.lan

Verás que el comando cliente puede conectarse al servidor GlusterFS.

Verificar la conexión del cliente con el servidor glusterfs

A continuación, instala el paquete cliente de GlusterFS desde el repositorio de AppStream Rocky Linux con el siguiente comando.

sudo dnf install glusterfs-client

Escribe y para confirmar la instalación y pulsa ENTER para continuar.

instalar el cliente glusterfs

Una vez completada la instalación, crea un nuevo directorio de montaje /data utilizando el siguiente comando.

sudo mkdir /data

Monta el volumen GlusterFS myvolume en el directorio /data utilizando el comando mount que aparece a continuación.

sudo mount.glusterfs server1.localdomain.lan:/myvolume /data

Si no se produce ningún error, el volumen GlusterFS se ha montado correctamente en tu máquina cliente.

Ejecuta el siguiente comando para verificar el volumen GlusterFS.

df -h

Verás que el myvolume de GlusterFS está montado con éxito en el directorio /data de la máquina cliente.

montar volumen glusterfs

Prueba del acceso a la escritura y de la alta disponibilidad

En la máquina cliente, ve al directorio /data y crea un nuevo archivo con el siguiente comando.

Con este comando, crearás 5 archivos en el directorio /data.

cd /data
touch file{1..5}.md

prueba crear nuevos archivos

Ahora pasa al servidor1 y comprueba el directorio /data/vol1/brick0 utilizando el siguiente comando.

ls /data/vol1/brick0

Deberías ver que el archivo está disponible en el servidor1.

Comprueba el archivo del servidor1

A continuación, apaga o cierra el servidor1 con el siguiente comando.

sudo shutdown -r now

Pasa de nuevo al servidor2 y verifica el estado de GlusterFS en el servidor2 utilizando el siguiente comando.

sudo gluster peer status

Verás que el estado del servidor par1 es desconectado.

Compañero desconectado

Verifica los archivos disponibles en el directorio /data/vol2/brick0 del servidor2.

ls /data/vol2/brick0

Verás que todos los archivos del cliente están disponibles también en el servidor2, lo que significa que los datos se replican desde el servidor par.

Comprobando el archivo del servidor2

Ahora, si vuelves a la máquina cliente, verás que el estado de la conexión con el servidor GlusterFS sigue activo y en funcionamiento, aunque el servidor1 esté caído. Esto significa que la Alta Disponibilidad de GlusterFS es un éxito.

Conclusión

¡Enhorabuena! Ya has instalado y configurado con éxito el almacenamiento en clúster GlusterFS en los sistemas Linux de Rocky. Además, has aprendido a configurar el volumen GlusterFS y a montar el volumen GlusterFS en la máquina cliente.

También te podría gustar...