Instalación de GlusterFS

Instalación en Proxmox VE

Configuración de Volúmen Lógico y Filesystem

Para comenzar con GlusterFS, necesitamos instalar las dependencias:

$ apt-get install glusterfs-server -y

Luego de eso necesitaremos crear el volúmen lógico donde configuraremos Gluster.

$ pvcreate /dev/sdb
$ vgcreate vg_glusterfs /dev/sdb
$ lvcreate -l100%FREE -n lv_gluster vg_glusterfs

Cree un Filesystem para que sincronice Gluster.

$ mkfs.xfs /dev/vg_glusterfs/lv_gluster

Ahora podemos encender el servicio de glusterd.

$ systemctl enable glusterd
$ systemctl start glusterd

Y crear el directorio de datos para glusterfs:

$ mkdir -p /data/gluster

# Cree una entrada FSTAB para el Volumen:

$ echo /dev/vg_glusterfs/lv_gluster /data/gluster xfs defaults 0 0 >> /etc/fstab

$ mount /data/gluster
$ mkdir -p "/data/gluster/brick{1}"

Una vez hayamos verificado que el Volúmen Lógico local (por ejemplo con df -h) está montado correctamente, y hayamos hecho esto en todos los nodos que tendrán GlusterFS, ¡Podemos comenzar a añadir pares!

$ gluster peer probe pve01.local.home
$ gluster peer probe pve02.local.home
$ gluster peer probe arbiter-a.local.home

# La Salida debería ser la siguiente:
$ gluster peer probe pve02
Probe successful
$ gluster peer probe arbiter-a
Probe successful

Configuración de Nodos Pares de Gluster

Dos Nodos de Almacenamiento y un Árbitro

En esta configuración habrá 2 nodos de storage y un árbitro con menos espacio (para evitar split-brain).

Luego de sondear todos los nodos podemos crear el volúmen de Gluster:

$ gluster volume create gluster_vol replica 3 arbiter 1 pve01:/data/gluster/brick1 pve02:/data/gluster/brick2 arbiter-a:/data/gluster/arbitera

Ahora tenemos que activar el volumen para que todos los datos se repliquen entre los nodos de storage.

$ gluster volume start gluster_vol

Tres Nodos de Almacenamiento o Más

Para configurarlo con más nodos, sin árbitro, es básicamente el mismo proceso que el explicado arriba, pero más fácil porque no hace falta calcular el tamaño del bloque del árbitro.

$ gluster volume create gluster_vol replica 4 pve01:/data/gluster/brick1 pve02:/data/gluster/brick2 pve03:/data/gluster/brick3 pve04:/data/gluster/brick4

Y ahora puede activar el volumen.

$ gluster volume start gluster_vol

¡Listo!