Inicio Linux & Systems Networks & Infrastructure Cybersecurity Cloud & DevOps SIEM & Monitoring DFIR & Threat Intel Development & Other Todas las categorias Herramientas

Servidor de almacenamiento distribuido de Alta disponibilidad con GlusterFS

Servidor de almacenamiento distribuido de Alta disponibilidad con GlusterFS

Tabla de contenidos

El Sistema de Archivos Gluster, Gluster File System o GlusterFS, es un multiescalable sistema de archivos para NAS desarrollado inicialmente por Gluster Inc. Este permite agregar varios servidores de archivos sobre Ethernet o interconexiones Infiniband RDMA en un gran entorno de archivos de red en paralelo. El diseño del GlusterFS se basa en la utilización del espacio de usuario y de esta manera no compromete el rendimiento. Se pueden encontrar siendo utilizado en una gran variedad de entornos y aplicaciones como computación en nube, ciencias biomédicas y almacenamiento de archivos. El GlusterFS está licenciado bajo la licencia GNU General Public License versión 3.

Para montar un almacenamiento distribuido de alta disponibilidad mediante GlusterFS necesitamos un mínimo de cuatro servidores.

Direccionamiento IP:

text
serverGlusterFS01: IP 192.168.1.200

serverGlusterFS02: IP 192.168.1.201

serverGlusterFS03: IP 192.168.1.202

serverGlusterFS04: IP 192.168.1.203

Es necesario que los servidores sean capaces de resolver los nombres, para ello lo añadimos en nuestro servidor DNS,  de no tener un servidor DNS lo añadiremos en el fichero /etc/hosts.

bash
cat /etc/hosts

127.0.0.1    localhost

127.0.1.1    serverglusterfs01.redorbita.com    serverglusterfs01
192.168.1.200   serverglusterfs01.redorbita.com     serverglusterfs01

192.168.1.201   serverglusterfs02.redorbita.com     serverglusterfs02

192.168.1.202   serverglusterfs03.redorbita.com     serverglusterfs03

192.168.1.203   serverglusterfs04.redorbita.com     serverglusterfs04

Instalamos los paquetes necesarios

bash
apt-get install glusterfs-server

Añadimos los servidores serverglusterfs02, serverglusterfs03 y serverglusterfs04 al repositorio de confianza

text
gluster peer probe     serverglusterfs02

gluster peer probe     serverglusterfs03

gluster peer probe     serverglusterfs04

Comprobamos el estado del repositorio

text
gluster peer status

Number of Peers: 3
Hostname: serverglusterfs02

Uuid: fb033ef6-45e6-4c9e-96e9-6d8feff32e9e

State: Peer in Cluster (Connected)
Hostname: serverglusterfs03

Uuid: 4b7c555b-deae-4a45-9d18-76029e239ca3

State: Peer in Cluster (Connected)
Hostname: serverglusterfs04

Uuid: 4076610d-4a26-49f3-bbe0-63e044d777c7

State: Peer in Cluster (Connected)

A continuación creamos un volumen y lo compartimos en los cuatro nodos

text
gluster volume create voldata transport tcp serverglusterfs01:/data/app serverglusterfs02:/data/app serverglusterfs03:/data/app serverglusterfs04:/data/app

Iniciamos el volumen creado

text
gluster volume start voldata

Configurar el cliente:

Instalamos el cliente glusterfs

bash
apt-get install glusterfs-client

Montamos el volumen

text
mount.glusterfs serverglusterfs01:/voldata /mnt/

Una vez montado comprobamos que realiza la replica correctamente, para ello accedemos a /mnt y creamos algunos ficheros.

text
cd /mnt
touch prueba1 prueba2 prueba3 prueba4 prueba5

Ahora debemos conectarnos a los servidores y comprobar si realiza correctamente la replica:

serverglusterfs01

bash
root@serverglusterfs01:/data/app# ls -lsrth

total 0

0 -rwxrwxr-x 2 root root 0 nov  9 18:34 prueba3

0 -rwxrwxr-x 2 root root 0 nov  9 18:34 prueba4

serverglusterfs02

bash
root@serverglusterfs02:/data/app# ls -lsrth

total 0

0 -rwxrwxr-x 2 root root 0 nov  9 18:34 prueba1

0 -rwxrwxr-x 2 root root 0 nov  9 18:34 prueba5

serverglusterfs03

bash
root@serverglusterfs03:/data/app# ls -lsrth

total 0

serverglusterfs04

bash
root@serverglusterfs04:/data/app# ls -lsrth

total 0

0 -rwxrwxr-x 2 root root 0 nov  9 18:34 prueba2

Un saludo.

Comentarios