GlusterFS sobre CentOS 7 – el sistema de archivos distribuido fácil de implementar.
By: Date: abril 17, 2019 Categories: Consultoria y Manuales

A diferencia de otros sistema de archivos como GFS sobre ISCSI , GlusterFS es un sistema de archivos que se ejecuta en el espacio de usuario con fuse, tiene sus pros y contras

PRO
-Es muy similar incluso compatible con NFS
-Es muy similar a los volúmenes de BTRFS en el sentido que incluye un tipo de RAID 0,1 y mezclas que pueden dar lugar a 5 u otros RAID lo que incluso permite tolerancia a fallos si caen bricks.
-Fácil de configurar
-Muy veloz cuando los servidores se encuentran dentro del mismo datacenter y site, mejor si están conectados con swiches gigabit y/o fibra

Contras.
-No es muy eficiente en sobre VPN o sobre hosts que no se encuentran en Internet, especialmente si se usara para hosting de PHP con sitios como wordpress que hacen mucho uso de llamados de archivos PHP.

Glosario
Brick – Los ladrillos hacen el equivalente de dispositivo de bloques, se refieren a directorios que pueden estar montados sobre cualquier FS local, por ejemplo. XFS, Ext3/4 , BTRFS, NTFS y otros. Por lo que están abstraídos del sistema de operativo o del sistema de archivos

Estrategias Distributed, Replicated y Striped

Distributed : un archivo está en un ladrillo y el siguiente archivo está en el siguiente ladrillo. Esta estrategia te da más espacio porque tu volumen es la suma de todos los ladrillos.
Replicated: cada archivo se copia en cada brick, por lo que hay copias completas y espejeadas de cada de archivo entre todos los bricks
Striped : los archivos se cortan en trozos, y un trozo se escribe en el primer ladrillo, un trozo se escribe en el segundo ladrillo, y así sucesivamente.

Instalar los siguientes paquetes
yum install centos-release-gluster41.noarch -y
yum install glusterfs gluster-cli glusterfs-libs glusterfs-server -y

Arrancar el servicio de GlusterFS y asegurarse que este diponible después de cada reinicio del equipo

systemctl start glusterd ; systemctl enable glusterd

Agregar las ips al archivo /etc/hosts, sean de VPN, globales de internet o privadas en el site

Para este articulo serán:

192.168.10.133 g1
192.168.10.132 g2
192.168.10.131 g3

Construyendo el cluster, permitiendo que GlusterFS sepa con que servidores cuenta

gluster peer probe g2
gluster peer probe g3

** G1 falta por que al hacerlo desde el PC numero 1 este no es requerido y responderá un error como “peer probe: success. Probe on localhost not needed”. si la configuración la hacemos desde el PC 3 será el 3 el que hay que omitir, aunque intentar agregarlo no causa ningún problema fuera del error de que no es necesario.

Después del peer probe, se puede ver si se han conectado los equipos remotos con el comando

gluster peer status

Una vez que los peers ( servidores ) están conectados se deben crear los bricks

Crear los bricks que no son otra cosa que directorios que serán exportados al estilo NFS

Ej. mkdir /gluster/

*** Se puede crear un volumen exportando un directorio de la particion root, pero siempre es mejor que cada volumen tenga su propia partición y sistema de archivos local como Ext4 o BTRFS
*** El directorio del volumen no debe ser la raíz de la partición, por lo que deberían crearse subdirectorios por cada volumen
ej. mkdir /gluster/vol1

** Deben crearse las subcarpetas de volumen en cada uno de los peers remotos

Creando un volumen replicado/mirror

gluster volume create NombreDelVolumen replica 3 transport tcp g1:/gluster/vol1/ g2:/gluster/vol1/ g3:/gluster/vol1/

** El numero seguido de del método “ replica “ , el numero 3 indica que seran replicados 3 archivos completos en cada brick, siendo que el cluster es de 3 peers significa que cada peer tendrá una copia exacta de cada archivo

Creando un volumen similar a RAID 5
gluster volume create NombreDelVolumen replica 1 transport tcp g1:/gluster/vol1/ g2:/gluster/vol1/ g3:/gluster/vol1/ g4:/gluster/vol1/ g5:/gluster/vol1/

** Al decirle que la replica será solo 1, solo un servidor tendrá una copia completa de los archivos, el resto de los equipos o peers contendrán fragmentos de los archivos aumentando el espacio de almacenamiento como lo haría un RAID 5 que sumaria el espacio de 4 discos y 1 de paridad
Después de creado el volumen, este debe iniciarse para que este listo para servir y montarse

gluster volume start NombreDelVolumen

** Ya se pueden montarse y usarse
** Ver las estados de los volúmenes

gluster volume status

Agregar otro Peer y otro brick a un volumen replicate
Agegar su IP en los archivos hosts de cada peer 192.168.10.127 g4
gluster peer probe g4
gluster volume add-brick NombreDelVolumen replica 4 g4:/gluster/vol1/

** El Replica 4 le indica que ahora que son 4 peers, también quiere que el nuevo peer tenga una copia exacta de los archivos tal como los anteriores 3 peers

Remover un brick

gluster volume remove-brick espejo replica 3 g4:/gluster/vol1/ force

** Force es porque se trata de un volumen tipo replicate ( mirror ), lo que simplemente obligara a sacarlo de inventario pero no afecta al resto que tienen copias exactas de los archivos, seria start en lugar de force si se trata de un volumen distribuido o stripe

Deja un comentario

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