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