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