LINUX

Instalar y configurar GlusterFS en CentOS 7 en AArch64

Este artículo explica el proceso de instalación y configuración de CentOS 7 con GlusterFS en AArch64. GlusterFS es un sistema de archivos de código abierto y escalable que combina múltiples servidores de almacenamiento usando Infiband o TCP y crea un gran sistema de archivos de red.

Requisitos

Para configurar GlusterFS, necesita dos o más servidores (AArch64) con CentOS 7 instalado. Los servidores pueden ser físicos o virtuales. Estoy usando dos servidores virtuales aquí y estableciendo sus nombres de host como ‘gfs1’ y ‘gfs2’. La conectividad de red debe estar activa en ambos. Cada nodo debe tener un dispositivo de almacenamiento. En los ejemplos utilizados en este artículo, se utilizan discos de almacenamiento virtual con 2 GB cada uno en los nodos.

Agregue la dirección IP y el nombre de host de los servidores a / etc / hosts en ambos nodos.

45.79.161.123     gfs1
45.79.174.123     gfs2

Instalación de GlusterFS

Antes de continuar con la instalación, debemos habilitar los repositorios EPEL (Exta Packages for Enterprise Linux) y GlusterFS en ambos servidores para resolver las dependencias externas en el momento de la instalación. Si ha habilitado solo el repositorio GlusterFS y no habilitado el repositorio EPEL, es probable que reciba el siguiente mensaje de error al instalar glusterfs-server:

Error: Package: glusterfs-server-3.7.0-2.el7.x86_64 (glusterfs-epel)
Requires: liburcu-cds.so.1()(64bit)
Error: Package: glusterfs-server-3.7.0-2.el7.x86_64 (glusterfs-epel)
Requires: liburcu-bp.so.1()(64bit)

Habilitación de EPEL reopsitory en CentOS:
Use wget para buscar el archivo requerido e instalarlo usando rpm.

[root@gfs1 ~]# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
--2015-05-26 10:35:33-- http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
Resolving dl.fedoraproject.org (dl.fedoraproject.org)... 209.132.181.24, 209.132.181.25, 209.132.181.23, ...
Connecting to dl.fedoraproject.org (dl.fedoraproject.org)|209.132.181.24|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 14524 (14K) [application/x-rpm]
Saving to:  epel-release-7-5.noarch.rpm
100%[======================================>] 14,524 --.-K/s in 0.06s
2015-05-26 10:35:33 (239 KB/s) - ˜epel-release-7-5.noarch.rpm saved [14524/14524]
[root@localhost ~]# rpm -ivh epel-release-7-5.noarch.rpm

warning: epel-release-7-5.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY

Preparing... ################################# [100%]

Updating / installing...

1:epel-release-7-5 ################################# [100%]

Habilitando el repositorio de GlusterFS:

[root@gfs1 ~]# wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo
--2015-05-26 10:37:49-- http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo
Resolving download.gluster.org (download.gluster.org)... 50.57.69.89
Connecting to download.gluster.org (download.gluster.org)|50.57.69.89|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1055 (1.0K) [text/plain]
Saving to: /etc/yum.repos.d/glusterfs-epel.repo
100%[======================================>] 1,055 --.-K/s in 0s
2015-05-26 10:37:49 (81.2 MB/s) - /etc/yum.repos.d/glusterfs-epel.repo saved [1055/1055]

Siga los pasos mencionados a continuación en ambos servidores:
Instale glusterfs en ambos:

[root@gfs1 ~]# yum install glusterfs-server

Ahora, inicie el demonio glusterfs:

root@gfs1 ~]# service glusterd start
Redirecting to /bin/systemctl start glusterd.service

Verifique si el servicio se ha iniciado correctamente:

[root@gfs1 ~]# service glusterd status
Redirecting to /bin/systemctl status glusterd.service
glusterd.service - GlusterFS, a clustered file-system server
Loaded: loaded (/usr/lib/systemd/system/glusterd.service; disabled)
Active: active (running) since Tue 2015-05-26 10:42:08 UTC; 38s ago
Process: 13418 ExecStart=/usr/sbin/glusterd -p /var/run/glusterd.pid (code=exited, status=0/SUCCESS)
Main PID: 13419 (glusterd)
CGroup: /system.slice/glusterd.service
13419 /usr/sbin/glusterd -p /var/run/glusterd.pid
May 26 10:42:08 localhost.localdomain systemd[1]: Started GlusterFS, a cluste...
Hint: Some lines were ellipsized, use -l to show in full.

Deshabilite SELinux, en caso de que esté habilitado, cambiando “SELINUX = disabled” o “SELINUX = permissive” en el archivo / etc / sysconfig / selinux.
A continuación, vacíe las iptables.

[root@gfs1 ~]# iptables -F

Ahora, cree particiones idénticas en ambos nodos. Estoy usando la partición / dev / xvdc con un tamaño de 2GB aquí.

fdisk /dev/xvdc

Cree una nueva partición usando la opción ‘n’. Elija la opción ‘p’ para la partición primaria y luego siga las opciones predeterminadas. Cuando termine, seleccione ‘w’ para guardar los datos en el disco y salir.
Cree un sistema de archivos en la partición recién creada:

mkfs.ext4 /dev/xvdc1

Móntelo en un directorio llamado / data / brick:

[root@gfs1 ~]# mkdir -p /data/brick
[root@gfs1 ~]# mount /dev/xvdc1 /data/brick

Agregue esto a la entrada de fstab para conservar el montaje después del reinicio.

[root@gfs1 ~]# echo "/dev/xvdc1 /data/brick ext4 defaults 0 0" >> /etc/fstab

Ahora, necesitamos configurar el grupo de confianza.

Configuración

Necesitamos crear un grupo de almacenamiento confiable a partir de los servidores de gluster que proporcionan los ladrillos para los volúmenes.

Ejecute el siguiente comando en el primer servidor:

[root@gfs1 ~]# gluster peer probe gfs2
peer probe: success.

Ejecutar en el segundo servidor:

[root@gfs2 ~]# gluster peer probe gfs1
peer probe: success.

Verifique el grupo de almacenamiento:

[root@gfs1 ~]# gluster pool list
UUID Hostname State
4d1d974d-4c75-424c-a788-7f0e71002e02 gfs2 Connected
473b1bc5-b8c0-4cea-ac86-568a77d0edf0 localhost Connected

Configuración del volumen de GlusterFS:

Para configurar el volumen, es suficiente ejecutar los siguientes comandos en solo uno de los servidores. Estoy usando el primer servidor (gfs1) aquí.

[root@gfs1 ~]# gluster volume status
No volumes present

Estoy creando un volumen replicado en este ejemplo. Proporciona alta disponibilidad y confiabilidad. Para más detalles sobre diferentes tipos de volúmenes, consulte la página de la comunidad de gluster.

[root@gfs1 ~]# mkdir /data/brick/gvol0
[root@gfs1 ~]# gluster volume create gvol0 replica 2 gfs1:/data/brick/gvol0 gfs2:/data/brick/gvol0
volume create: gvol0: success: please start the volume to access data.

Inicie el volumen recién creado

[root@localhost ~]# gluster volume start gvol0
volume start: gvol0: success

Verifique los detalles:

[root@localhost ~]# gluster volume info

Volume Name: gvol0
Type: Replicate

Volume ID: 4a61822d-75cf-402b-bad4-19ae57626673
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:

Brick1: gfs1:/data/brick/gvol0
Brick2: gfs2:/data/brick/gvol0
Options Reconfigured:
performance.readdir-ahead: on

¡Sí, ya casi has llegado! Solo tiene que montar el volumen recién creado en cualquier punto de montaje y comenzar a usarlo.

[root@gfs1 ~]# mount -t glusterfs gfs1:/gvol0 /mnt
[root@gfs2 ~]# mount -t glusterfs gfs1:/gvol0 /mnt

Copie algunos datos en el volumen montado desde cualquiera de los servidores y verifique que también sea accesible desde el otro servidor.

[root@gfs1 ~]# cp /var/log/yum.log /mnt
[root@gfs2 mnt]# ls
yum.log

Conclusión

¡Felicidades! Ha completado la configuración de GlusterFS en su sistema CentOS7. Este punto de montaje ahora actúa como un único sistema de archivos que se puede utilizar para crear, editar o eliminar archivos de cualquiera de los nodos. Todo el proceso de instalación y configuración es bastante simple y no lleva mucho tiempo. Si desea recursos adicionales sobre GlusterFS, puede consultar gluster.org

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba
Cerrar