Skip to main content

Configurar Gluster

Configurar el cortafuegos

Para que Gluster se comunique dentro de un clúster, los firewalls deben estar apagados o habilitar la comunicación para cada servidor.

# iptables -I INPUT -p all -s `<ip-address>` -j ACCEPT

Configurar el Trusted Pool

Recuerda que trusted pool es el término que se utiliza para definir un grupo de nodos en Gluster. Elije un servidor para que sea su servidor "principal". Esto es solo para simplificar las cosas. Ten en cuenta que ejecutar muchos comandos específicos de Gluster (como gluster volume create) en un servidor del clúster ejecutará el mismo comando en todos los demás servidores.

Reemplaza nodename con el nombre de host del otro servidor en el clúster, o la dirección IP si no tiene entradas de DNS o /etc/hosts. Por ejemplo para conectarnos a nodo02:

# gluster peer probe node02

Nota: Esto significa que el primer nodo ya está agregado.

Particionar el disco

Suponiendo que tiene un disco vacío en /dev/sdb. (Puedes verificar las particiones usando fdisk -l)

# fdisk /dev/sdb

Y luego crea una partición XFS usando fdisk También se puede usar parted, para ello si no está instalado, instalaremos parted

apt install parted

Creamos la partición con parted para ello, ejecutamos parted

parted
[parted] print free

Number  Start   End     Size    File system
    ......................................
        468GB   520GB   52.4GB  Free Space

Para crear la partición, ejecutaremos dentro de parted el comando mkpart

mkpart primary ext4 468 520

Otro ejemplo

Number  Start   End     Size    File system
    ......................................
        468GB   15TBGB   14,5TB  Free Space

El comando sería

mkpart primary ext4 468GB 15TB

Formatear la partición

Podemos formatearla con xfs, o con ext4

# mkfs.xfs -i size=512 /dev/sdb1
mkfs.ext4 /dev/sdb1

Agregar una entrada a /etc/fstab 8.8.8.8

# echo "/dev/sdb1 /export/sdb1 xfs defaults 0 0"  >> /etc/fstab

O bien con UUID en el fstab

UUID=be142baf-0c2c-4c2b-876f-8167e9826898 /mnt/datos  ext4    errors=remount-ro 0       1

Montar la partición como un Gluster "brick"

# mkdir -p /export/sdb1 && mount -a && mkdir -p /export/sdb1/brick

Configurar un volumen de Gluster

Tipos de Volúmenes

Volumen distribuido

El tipo de volumen de Gluster más básico es un volumen de “solo distribución” o Distribute only (también denominado volumen de “DHT puro”) Este tipo de volumen simplemente distribuye los datos de manera uniforme entre los bloques disponibles en un volumen. Entonces, si escribo 100 archivos, en promedio, cincuenta terminarán en un servidor y cincuenta terminarán en otro. Esto es más rápido que un volumen "replicado", pero no es tan popular ya que no le brinda dos de las características más buscadas de Gluster: múltiples copias de los datos y conmutación por error automática si algo sale mal.

Volumen Replicado

Para configurar un volumen replicado:

# gluster volume create gv0 replica 3 node01.mydomain.net:/export/sdb1/brick \
    node02.mydomain.net:/export/sdb1/brick                                   \
    node03.mydomain.net:/export/sdb1/brick

La primera parte crea un volumen gluster llamado gv0 (el nombre es arbitrario, gv0 fue elegido simplemente porque es más sencillo que gluster_volume_0).

convertir el volumen en un volumen de réplica

mantén una copia de los datos en al menos 3 bricks (ladrillos) en un momento dado. Dado que solo tenemos tres bricks en total, esto significa que cada servidor albergará una copia de los datos.

especificamos qué nodos usar y qué bricks en esos nodos. El orden aquí es importante cuando tienes más bricks.

Ahora, podemos verificar para asegurarnos de que todo funciona como se esperaba:

# gluster volume info

Verás algo parecido a lo siguiente:

Volume Name: gv0
Type: Replicate
Volume ID: 8bc3e96b-a1b6-457d-8f7a-a91d1d4dc019
Status: Created
Number of Bricks: 1 x 3 = 3
Transport-type: tcp
Bricks:
Brick1: node01.ateinco.red:/export/sdb1/brick
Brick2: node02.ateinco.red:/export/sdb1/brick
Brick3: node03.ateinco.red:/export/sdb1/brick

Esto nos muestra esencialmente lo que acabamos de especificar durante la creación del volumen. hay que hacer hincapié en mencionar el Estado. Un estado de Creado significa que el volumen se ha creado, pero aún no se ha iniciado, lo que provocaría un error en cualquier intento de montar el volumen.

Arrancar el Volumen

Ahora podemos arrancar el volumen

# gluster volume start gv0

Para arrancar automáticamente ejecutaremos:

systemctl enable --now glusterd

O bien:

# update-rc.d glusterd defaults