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, también 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 clustering entre dos servidores. También cubriremos 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á que configurar el FQDN y el archivo /etc/hosts en cada servidor.
A continuación se detalla el servidor que utilizaremos para crear el cluster GlusterFS:
- servidor1.dominiolocal.lan con dirección IP 192.168.10.15
- servidor2.dominiolocal.lan con dirección IP 192.168.10.20
Para configurar el FQDN en cada servidor, ejecute el siguiente comando hostnamectl.
En servidor1, ejecute el comando hostnamectl que se indica a continuación.
sudo hostnamectl set-hostname server1.localdomain.lan
Y en servidor2, ejecute el siguiente comando.
sudo hostnamectl set-hostname server2.localdomain.lan
A continuación, edite la configuración /etc/hosts utilizando el editor nano.
sudo nano /etc/hosts
Pegue la siguiente configuración.
192.168.10.15 server1.localdomain.lan 192.168.10.20 server2.localdomain.lan
Guarde el archivo pulsando Ctrl+X e introduciendo Y para confirmar.
Ahora pruebe la conectividad entre servidor1 y 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.
Configuración de la partición
Para desplegar 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 edite la configuración de /etc/fstab usando el editor nano para añadir su disco.
sudo nano /etc/fstab
Para servidor1el disco /dev/vda1 se montará en el directorio /data/vol1.
/dev/vda1 /data/vol1 ext4 default 0 0
Y para servidor2el disco /dev/vda1 se montará en el directorio /data/vol2.
/dev/vda1 /data/vol2 ext4 default 0 0
A continuación, monte el disco /dev/vda1 utilizando el siguiente comando.
sudo mount -a
Si no hay ningún mensaje de error, verifique la lista de discos montados en cada sistema ejecutando el comando df como se indica a continuación.
sudo df -h
Debería ver que el disco /dev/vda1 está montado en el directorio /data.
Ahora, antes de empezar a instalar y configurar el cluster GlusterFS, ejecute el siguiente comando para crear el brick0 dentro del directorio /datos directorio.
En servidor1ejecute el siguiente comando.
sudo mkdir -p /data/vol1/brick0
Para servidor2ejecute el siguiente comando.
sudo mkdir -p /data/vol2/brick0
Añadiendo Repositorio GlusterFS para Rocky Linux
Después de haber configurado con éxito el disco, ahora va a instalar los paquetes de GlusterFS en sus servidores Rocky Linux.
La versión actual de Rocky Linux todavía no proporciona paquetes de servidor GlusterFS, pero puede utilizar el CentOS release GlusterFS paquetes.
Agregue el repositorio GlusterFS a su sistema Rocky Linux usando el siguiente comando.
sudo dnf install centos-release-gluster9
Escriba y para confirmar la instalación y pulse ENTER para continuar.
A continuación, vaya al directorio /etc/yum.repos.d/ y edite la confioguración del repositorio CentOS-Gluster-9.repo utilizando el editor nano.
cd /etc/yum.repos.d/ sudo nano CentOS-Gluster-9.repo
Cambie la línea baseurl utilizando el repositorio Rocky Linux y comente 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
Guarde el archivo usando Ctrl+X y Y para confirmar.
Ahora compruebe el repositorio disponible en su sistema Rocky Linux usando el siguiente comando.
sudo dnf repolist
Verá el repositorio de CentOS para GlusterFS 9.Advertisement
Instalando el servidor GlusterFS
Ahora instale los paquetes de GlusterFS en el sistema Rocky Linux utilizando el comando dnf que aparece a continuación.
sudo dnf install glusterfs glusterfs-libs glusterfs-server
Escriba Y para confirmar la instalación y pulse ENTER para continuar.
Una vez finalizada la instalación, inicie el servicio glusterfsd y añádalo al inicio del sistema mediante el siguiente comando.
sudo systemctl enable glusterfsd.service sudo systemctl start glusterfsd.service
Ahora verifique el estado del servicio glusterfsd utilizando el siguiente comando.
sudo systemctl status glusterfsd.service
Verá que el servicio glusterfsd está activo con el estado exited, lo que significa que se está ejecutando, pero el gestor systemd no puede encontrar ningún demonio para monitorizar.
Apertura de puerto con Firewalld
Antes de empezar a configurar el cluster de GlusterFS, deberá abrir el puerto para el servicio de GlusterFS.
En los sistemas operativos basados en RHEL Linux, la aplicación de firewall por defecto es firewalld, que proporciona la herramienta de línea de comandos firewall-cmd para gestionar el cortafuegos.
Añada el servicio glusterfs a la configuración de su firewalld y recargue el firewalld usando el siguiente comando.
sudo firewall-cmd --add-service=glusterfs --permanent sudo firewall-cmd --reload
Después de eso, verifique la lista de servicios en el firewalld usando el siguiente comando.
sudo firewall-cmd --list-services
Verá que el servicio glusterfs está añadido al firewalld.
Iniciando el cluster GlusterFS
El siguiente paso será inicializar y configurar el cluster GlusterFS en los sistemas Linux de Rocky.
Primero, inicialice el cluster GlusterFS usando el siguiente comando. Este comando debe ser ejecutado en el servidor1 y sólo puede ser ejecutado una vez.
Al usar este comando, usted estará agregando el servidor2.localdomain.lan al peer de GlusterFS en el servidor1. Además, el servidor2 se inicializará automáticamente después de completar el siguiente comando.
sudo gluster peer probe server2.localdomain.lan
Ahora debería ver el mensaje de salida ‘peer probe: success’.
A continuación, verifique el estado de los pares en servidor1 utilizando el siguiente comando.
sudo gluster peer status
Debería ver que sólo hay un peer en servidor1.
Además, ejecute el siguiente comando en servidor2 para comprobar los pares disponibles en el servidor2.
sudo gluster peer status
Debería ver que sólo hay un peer en el servidor2.
Creando un volumen GlusterFS
Después de haber inicializado con éxito el clúster GlusterFS, se creará un nuevo volumen GlusterFS que será utilizado por las máquinas cliente.
En este tutorial, usted creará un nuevo volumen con el nombre mivolumen con el tipo réplica 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 escriba y para confirmar y pulse ENTER para crear el volumen GlusterFS.
Cuando el proceso es un éxito, verá la salida como la siguiente captura de pantalla.
A continuación, inicie el volumen Glusterfs mivolumen utilizando el siguiente comando.
sudo gluster volume start myvolume
Verá el mensaje de salida ‘volume start: myvolume: success’, que significa que el myvolume se ha iniciado.
Ahora ejecute el siguiente comando para verificar el estado del volumen GLusterFS.
sudo gluster volume status
A continuación verá el estado de mivolumen es en línea y listo para ser utilizado por los clientes.
Opcionalmente, también puede verificar el estado del volumen GlusterFS utilizando el siguiente comando.
sudo gluster volume info
Verá 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.
Montando un volumen GlusterFS en una máquina cliente
Ahora usted ha creado el volumen GlusterFS myvolume. A continuación, aprenderá a configurar la máquina cline y montar el volumen GlusterFS.
En este tutorial, utilizaremos la máquina cliente con el nombre de cliente.
Edite la configuración de /etc/hosts en su máquina cliente usando el editor nano.
sudo nano /etc/hosts
Pegue la siguiente configuración.
192.168.10.15 server1.localdomain.lan 192.168.10.20 server2.localdomain.lan
Guarde el archivo con Ctrl+X e introduzca Y para confirmar.
Para verificar la conexión entre la máquina cliente y el servidor GlusterFS, ejecute el siguiente comando ping.
ping -c3 server1.localdomain.lan
verá que el comando cliente puede conectarse al servidor GlusterFS.
A continuación, instale el paquete cliente GlusterFS desde el repositorio de AppStream Rocky Linux utilizando el siguiente comando.
sudo dnf install glusterfs-client
Escriba y para confirmar la instalación y pulse ENTER para continuar.
Una vez finalizada la instalación, cree un nuevo directorio de montaje /datos utilizando el siguiente comando.
sudo mkdir /data
Montar el volumen GlusterFS mivolumen a la /datos utilizando el siguiente comando de montaje.
sudo mount.glusterfs server1.localdomain.lan:/myvolume /data
Si no hay ningún error, el volumen GlusterFS se ha montado con éxito en su máquina cliente.
Ejecute el siguiente comando para verificar el volumen GlusterFS.
df -h
Verá el volumen GlusterFS mivolumen se ha montado con éxito en el directorio /data de la máquina cliente.
Probando el acceso a la escritura y la alta disponibilidad
En la máquina cliente, vaya al directorio /data y cree un nuevo archivo utilizando el siguiente comando.
Con este comando, usted creará 5 archivos en el directorio /data.
cd /data touch file{1..5}.md
Ahora pasa a servidor1 y comprueba el directorio /data/vol1/brick0 utilizando el siguiente comando.
ls /data/vol1/brick0
Debería ver que el archivo está disponible en servidor1.
A continuación, apague o desconecte el servidor1 con el siguiente comando.
sudo shutdown -r now
Vuelva a pasar al servidor2 y verifique el estado de GlusterFS en el servidor2 utilizando el siguiente comando.
sudo gluster peer status
Verá que el estado del servidor peer1 es desconectado.
Verifique los archivos disponibles en el directorio /data/vol2/brick0 del servidor2.
ls /data/vol2/brick0
Verá que todos los archivos del cliente están disponibles en el servidor2 también, lo que significa que los datos se replican desde el servidor par.
Ahora, si vuelve a la máquina cliente, verá que el estado de la conexión con el servidor GlusterFS sigue activo y funcionando, incluso cuando el servidor1 está caído. Esto significa que la Alta Disponibilidad de GlusterFS es exitosa.
Conclusión
¡Felicitaciones! Ahora ha instalado y configurado con éxito el almacenamiento en cluster GlusterFS en los sistemas Rocky Linux. Además, ha aprendido a configurar el volumen GlusterFS y a montar el volumen GlusterFS en la máquina cliente.