Almacenamiento de alta disponibilidad con GlusterFS en Ubuntu 18.04 LTS

Configurar el archivo de hosts

GlusterFS es un sistema de archivos de red escalable con capacidades de escalar a varios petabytes y manejar miles de clientes. Es un sistema de archivos distribuido y de código abierto que establece los recursos de almacenamiento en disco de varios servidores en un único espacio de nombres. Es adecuado para tareas de uso intensivo de datos, como el almacenamiento en la nube y la transmisión de medios de datos.

En este tutorial, mostraré cómo configurar un servidor de almacenamiento de alta disponibilidad con GlusterFS en Ubuntu 18.04 LTS (Bionic Beaver). Usaremos 3 servidores ubuntu, 1 servidor como cliente y otros 2 como almacenamiento. Cada servidor de almacenamiento será un espejo del otro y los archivos se replicarán en ambos servidores de almacenamiento.

Requisitos previos

  • 3 servidores Ubuntu 18.04
    • 10.0.15.10 – gfs01
    • 10.0.15.11 – gfs02
    • 10.0.15.12 – cliente01
  • Privilegios de raíz

¿Qué haremos?

  1. Preinstalación de GlusterFS
  2. Instalar el servidor GlusterFS
  3. Configurar servidores GlusterFS
  4. Configurar el cliente GlusterFS
  5. Prueba de réplica/espejo

Paso 1: Preinstalación de GlusterFS

El primer paso que debemos hacer antes de instalar glusterfs ubuntu en todos los servidores es configurar el archivo de hosts y agregar el repositorio GlusterFS a cada servidor.

Configurar archivo de hosts

Inicie sesión en cada servidor y obtenga el acceso raíz con el comando ‘sudo su’, luego edite el archivo ‘/etc/hosts’.

vim /etc/hosts

Pegue la configuración de los hosts a continuación.

10.0.15.10 gfs01
10.0.15.11 gfs02
10.0.15.12 client01

Guardar y Salir.

Ahora haga ping a cada servidor usando el nombre de host como se muestra a continuación.

ping -c 3 gfs01
ping -c 3 gfs02
ping -c 3 client01

Cada nombre de host se resolverá en cada dirección IP del servidor.

Configurar el archivo de hosts

Agregar repositorio GlusterFS

Instale el paquete software-properties-common en el sistema.

sudo apt install software-properties-common -y

Agregue la clave glusterfs y el repositorio ejecutando los comandos a continuación.

wget -O- https://download.gluster.org/pub/gluster/glusterfs/3.12/rsa.pub | apt-key add -
sudo add-apt-repository ppa:gluster/glusterfs-3.12

El comando actualizará todos los repositorios. Y ya hemos agregado el repositorio glusterfs a todos los sistemas.

Agregar repositorio GlusterFS

Paso 2: Instalar el servidor GlusterFS

En este paso, instalaremos el servidor glusterfs ubuntu en los servidores ‘gfs01’ y ‘gfs02’.

Instale glusterfs-server usando el comando apt.

sudo apt install glusterfs-server -y

Ahora inicie el servicio glusterd y permita que se inicie cada vez que se inicie el sistema.

sudo systemctl start glusterd
sudo systemctl enable glusterd

El servidor GlusterFS ahora está funcionando en los servidores ‘gfs01’ y ‘gfs02’.

Compruebe los servicios y la versión del software instalado.

systemctl status glusterd
glusterfsd --version

Instalar el servidor GlusterFS

Paso 3: Configurar servidores GlusterFS

Los servicios de Glusterd ahora están en funcionamiento, y el siguiente paso que haremos será configurar esos servidores creando un grupo de almacenamiento confiable y creando el volumen glusterfs distribuido.

Crear un grupo de almacenamiento de confianza

Desde el servidor ‘gfs01’, necesitamos agregar el servidor ‘gfs02’ al grupo de almacenamiento glusterfs.

Ejecute el siguiente comando.

gluster peer probe gfs02

Ahora veremos el resultado ‘peer probe: success’, y hemos agregado el servidor ‘gfs02’ al grupo de almacenamiento confiable.

Verifique el estado del grupo de almacenamiento y la lista usando los comandos a continuación.

gluster peer status
gluster pool list

Y verá que el servidor ‘gfs02’ está conectado al clúster de pares y está en la lista de grupos.

Crear un grupo de almacenamiento de confianza

Configuración del volumen de GlusterFS distribuido

Después de crear el grupo de almacenamiento de confianza, crearemos un nuevo volumen glusterfs distribuido. Crearemos el nuevo volumen glusterfs basado en el directorio del sistema.

Nota:

  • Para la producción del servidor, se recomienda crear el volumen glusterfs usando la partición diferente, no usando un directorio del sistema.

Cree un nuevo directorio ‘/glusterfs/distributed’ en cada servidor bot ‘gfs01’ y ‘gfs02’.

mkdir -p /glusterfs/distributed

Y desde el servidor ‘gfs01’, cree el volumen glusterfs distribuido llamado ‘vol01’ con 2 réplicas ‘gfs01’ y ‘gfs02’.

gluster volume create vol01 replica 2 transport tcp 
gfs01:/glusterfs/distributed 
gfs02:/glusterfs/distributed 
force

Inicie el ‘vol01’ y verifique la información del volumen.

gluster volume start vol01
gluster volume info vol01

Configuración del volumen de GlusterFS distribuido

En esta etapa, hemos creado el volumen ‘vol01’ con el tipo ‘Replicar’ y 2 ladrillos en el servidor ‘gfs01’ y ‘gfs02’. Todos los datos se distribuirán automáticamente a cada servidor de réplica y estamos listos para montar el volumen.

Paso 4: Configurar el cliente GlusterFS

En este paso, montaremos el volumen glusterfs ‘vol01’ en el cliente de Ubuntu y debemos instalar glusterfs-client en el servidor del cliente.

Instale glusterfs-client en el sistema Ubuntu usando el comando apt.

sudo apt install glusterfs-client -y

Ahora cree un nuevo directorio ‘/mnt/glusterfs’ cuando se complete la instalación de glusterfs-client.

mkdir -p /mnt/glusterfs

Y monte el volumen glusterfs distribuido ‘vol01’ en el directorio ‘/mnt/glusterfs’.

sudo mount -t glusterfs gfs01:/vol01 /mnt/glusterfs

Ahora verifique el volumen disponible en el sistema.

df -h /mnt/glusterfs

Obtendremos el volumen glusterfs montado en el directorio ‘/mnt/glusterfs’.

Configurar el cliente GlusterFS

Para montar glusterfs de forma permanente en el sistema cliente de Ubuntu, podemos agregar el volumen a ‘/etc/fstab’.

Edite el archivo de configuración ‘/etc/fstab’.

vim /etc/fstab

Y pegue la configuración a continuación.

gfs01:/vol01 /mnt/glusterfs glusterfs defaults,_netdev 0 0

Guardar y Salir.

Paso 5: Prueba de replicación/espejo

En este paso, probaremos la duplicación de datos en cada nodo del servidor.

Monte el volumen glusterfs ‘vol01’ en cada servidor glusterfs.

En el servidor ‘gfs01’.

mount -t glusterfs gfs01:/vol01 /mnt

En el servidor ‘gfs02’.

mount -t glusterfs gfs02:/vol01 /mnt

Ahora regrese al cliente de Ubuntu y vaya al directorio ‘/mnt/glusterfs’.

cd /mnt/glusterfs

Cree algunos archivos usando el comando táctil.

touch file01 file02 file03

Prueba de replicación

Ahora verifique en cada servidor, ‘gfs01’ y ‘gfs02’, y obtendremos todos los archivos que hemos creado desde la máquina cliente.

cd /mnt/
ls -lah

Aquí está el resultado del servidor ‘gfs01’.

Resultado del servidor 1

Y aquí está el resultado del servidor ‘gfs02’.

Resultado del servidor 2

Todos los archivos que creamos desde la máquina cliente se distribuirán a todos los servidores de nodos de volumen glusterfs.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *