Cómo configurar el almacenamiento GlusterFS en CentOS 7 / RHEL 7

GlusterFS es una solución de almacenamiento de objetos y archivos de código abierto y gratuita que se puede utilizar en servidores físicos, virtuales y en la nube a través de la red. El principal beneficio de GlusterFS es que podemos ampliar o reducir el almacenamiento hasta varios petabytes sin ningún tiempo de inactividad, también proporciona redundancia y alta disponibilidad del almacenamiento.

¿Dónde usar GluserFS…?

El almacenamiento basado en GllusterFS se puede utilizar en servidores físicos, virtuales y en la nube a través de la red.

También se puede usar en las empresas donde solían servir contenido multimedia u otro a los usuarios de Internet y tienen que manejar cientos de terabytes de archivos.

GlusterFS también se puede utilizar como almacenamiento de objetos en la nube privada y pública.

Terminología diferente utilizada en el almacenamiento GlusterFS:

  • Grupo de almacenamiento de confianza : Es un grupo de varios servidores que confían entre sí y forman un clúster de almacenamiento.
  • Nodo : un nodo es un servidor de almacenamiento que participa en un grupo de almacenamiento confiable
  • Ladrillo : Un bloque es un sistema de archivos XFS (inodos de 512 bytes) basado en LVM montado en una carpeta o directorio.
  • Volumen : Un volumen es un sistema de archivos que se presenta o comparte con los clientes a través de la red. Se puede montar un volumen utilizando los métodos glusterfs, nfs y smbs.
Diferentes tipos de Volúmenes que se pueden configurar usando GlusterFS:
  • Distribuir volúmenes :Es el volumen predeterminado que se crea cuando no se especifica ninguna opción al crear el volumen. En este tipo de volumen, los archivos se distribuirán entre los ladrillos utilizando un algoritmo hash elástico
  • Volúmenes replicados : Como sugiere el nombre, en este tipo de volumen, los archivos se replicarán o reflejarán en los bloques. En otras palabras, un archivo que esté escrito en un bloque también se replicará en otros bloques.
  • Volúmenes rayados: En este tipo de volumen, los archivos más grandes se cortan o dividen en fragmentos y luego se distribuyen por los ladrillos.
  • Distribuir volúmenes replicados : Como sugiere el nombre, los archivos de tipo de volumen se distribuirán primero entre los ladrillos y luego se replicarán en diferentes ladrillos.

Aunque se puede intentar otra combinación para formar diferentes volúmenes como rayas replicadas.

En este artículo, demostraré cómo configurar GlusterFS Storage en RHEL 7.x y CentOS 7.x. En mi caso, tomo cuatro servidores RHEL 7 / CentOS 7 con una instalación mínima y asumo que se adjunta un disco adicional a estos servidores para la configuración de glustesfs.

  • servidor1.ejemplo.com (192.168.43.10)
  • servidor2.ejemplo.com ( 192.168.43.20 )
  • servidor3.ejemplo.com ( 192.168.43.30 )
  • servidor4.ejemplo.com ( 192.168.43.40 )

Agregue las siguientes líneas en el archivo /etc/hosts en caso de que tenga su propio servidor dns.

192.168.43.10  server1.example.com server1
192.168.43.20  server2.example.com server2
192.168.43.30  server3.example.com server3
192.168.43.40  server4.example.com server4

Instale paquetes de servidor de Glusterfs en todos los servidores.

Los paquetes de Glusterfs no están incluidos en los repositorios centos y RHEL predeterminados, por lo que configuraremos el repositorio gluster y el repositorio EPEL. Ejecute los siguientes comandos uno tras otro en los 4 servidores.

~]# yum install wget
~]# yum install centos-release-gluster -y
~]#yum install epel-release -y
~]# yum install glusterfs-server -y

Inicie y habilite el servicio GlusterFS en los cuatro servidores.

~]# systemctl start glusterd
~]# systemctl enable glusterd

Permita los puertos en el firewall para que los servidores puedan comunicarse y formar un clúster de almacenamiento (grupo de confianza). Ejecute los siguientes comandos en los 4 servidores.

~]# firewall-cmd --zone=public --add-port=24007-24008/tcp --permanent
~]# firewall-cmd --zone=public --add-port=24009/tcp --permanent
~]# firewall-cmd --zone=public --add-service=nfs --add-service=samba --add-service=samba-client --permanent
~]# firewall-cmd --zone=public --add-port=111/tcp --add-port=139/tcp --add-port=445/tcp --add-port=965/tcp --add-port=2049/tcp --add-port=38465-38469/tcp --add-port=631/tcp --add-port=111/udp --add-port=963/udp --add-port=49152-49251/tcp --permanent
~]# firewall-cmd --reload

Distribuir configuración de volumen:

Voy a formar un grupo de almacenamiento confiable que consiste en el servidor 1 y el servidor 2 y crearé ladrillos en eso y luego crearé un volumen distribuido. También asumo que se asigna un disco sin formato de 16 GB (/dev/sdb) a ambos servidores.

Ejecute el siguiente comando desde la consola del servidor 1 para formar un grupo de almacenamiento confiable con el servidor 2.

[[email protected] ~]# gluster peer probe server2.example.com
peer probe: success.
[[email protected] ~]#

Podemos verificar el estado de los pares usando el siguiente comando:

[[email protected] ~]# gluster peer status
Number of Peers: 1

Hostname: server2.example.com
Uuid: 9ef0eff2-3d96-4b30-8cf7-708c15b9c9d0
State: Peer in Cluster (Connected)
[[email protected] ~]#

Crear ladrillo en el servidor 1

Para crear un bloque, primero tenemos que configurar los volúmenes lógicos de aprovisionamiento de cosas en el disco sin formato (/dev/sdb).

Ejecute los siguientes comandos en el servidor 1

[[email protected] ~]# pvcreate /dev/sdb /dev/vg_bricks/dist_brick1 /bricks/dist_brick1 xfs rw,noatime,inode64,nouuid 1 2
[[email protected] ~]# vgcreate vg_bricks /dev/sdb
[[email protected] ~]# lvcreate -L 14G -T vg_bricks/brickpool1

En el comando anterior, brickpool1 es el nombre del grupo delgado.

Ahora cree un volumen lógico de 3 GB

[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool1 -n dist_brick1

Ahora formatee el volumen lógico usando el sistema de archivos xfs

[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/dist_brick1
[[email protected] ~]# mkdir -p /bricks/dist_brick1

Monte el ladrillo usando el comando de montaje

[[email protected] ~]# mount /dev/vg_bricks/dist_brick1 /bricks/dist_brick1/

Para montarlo permanentemente agregue la siguiente línea en /etc/fsatb

/dev/vg_bricks/dist_brick1 /bricks/dist_brick1 xfs rw,noatime,inode64,nouuid 1 2

crear un directorio con ladrillo debajo del punto de montaje

[[email protected] ~]# mkdir /bricks/dist_brick1/brick

De manera similar, realice el siguiente conjunto de comandos en el servidor 2

[[email protected] ~]# pvcreate /dev/sdb ; vgcreate vg_bricks /dev/sdb
[[email protected] ~]# lvcreate -L 14G -T vg_bricks/brickpool2
[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool2 -n dist_brick2
[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/dist_brick2
[[email protected] ~]# mkdir -p /bricks/dist_brick2
[[email protected] ~]# mount /dev/vg_bricks/dist_brick2 /bricks/dist_brick2/
[[email protected] ~]# mkdir /bricks/dist_brick2/brick

Cree un volumen distribuido usando a continuación comando de brillo :

[[email protected] ~]# gluster volume create distvol server1.example.com:/bricks/dist_brick1/brick server2.example.com:/bricks/dist_brick2/brick
[[email protected] ~]# gluster volume start distvol
volume start: distvol: success
[[email protected] ~]#

Verifique el estado del volumen usando el siguiente comando:

[[email protected] ~]# gluster volume info distvol

volumen distribuido-glusterfs-almacenamiento

Monte Distribuir volumen en el Cliente:

Antes de montar el volumen usando glusterfs, primero debemos asegurarnos de que el paquete glusterfs-fuse esté instalado en el cliente. También asegúrese de agregar las entradas del servidor de almacenamiento gluster en el archivo /etc/hosts en caso de que no tenga un servidor DNS local.

Inicie sesión en el cliente y ejecute el siguiente comando desde la consola para instalar glusterfs-fuse

[[email protected] ~]# yum install glusterfs-fuse -y

Cree un montaje para distribuir el volumen:

[[email protected] ~]# mkdir /mnt/distvol

Ahora monta el ‘distvol‘ usando el siguiente comando de montaje:

[[email protected] ~]# mount -t glusterfs -o acl server1.example.com:/distvol /mnt/distvol/

Para el montaje permanente, agregue la siguiente entrada en el archivo /etc/fstab

server1.example.com:/distvol   /mnt/distvol    glusterfs     _netdev    0 0

Ejecute el comando df para verificar el estado de montaje del volumen.

montaje-glusterfs-volumen-distribuido-centos7

Ahora comienza a acceder al volumen “distvol

Configuración de volumen replicado:

Para la configuración del volumen replicado, usaré el servidor 3 y el servidor 4 y supongo que el disco adicional (/dev/sdb) para glusterfs ya está asignado a los servidores. Consulte los siguientes pasos:

Agregue el servidor 3 y el servidor 4 en el grupo de almacenamiento de confianza

[[email protected] ~]# gluster peer probe server3.example.com
peer probe: success.
[[email protected] ~]# gluster peer probe server4.example.com
peer probe: success.
[[email protected] ~]#

Cree y monte el ladrillo en el Servidor 3. Ejecute los comandos debajo uno tras otro.

[[email protected] ~]# pvcreate /dev/sdb ; vgcreate vg_bricks /dev/sdb
[[email protected] ~]# lvcreate -L 14G -T vg_bricks/brickpool3
[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool3 -n shadow_brick1
[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/shadow_brick1
[[email protected] ~]# mkdir -p /bricks/shadow_brick1
[[email protected] ~]# mount /dev/vg_bricks/shadow_brick1 /bricks/shadow_brick1/
[[email protected] ~]# mkdir /bricks/shadow_brick1/brick

Realice la siguiente entrada en el archivo /etc/fstab para el montaje permanente de ladrillos:

/dev/vg_bricks/shadow_brick1  /bricks/shadow_brick1/  xfs  rw,noatime,inode64,nouuid 1 2

De manera similar, realice los mismos pasos en el servidor 4 para crear y montar ladrillos:

[[email protected] ~]# pvcreate /dev/sdb ; vgcreate vg_bricks /dev/sdb
[[email protected] ~]# lvcreate -L 14G -T vg_bricks/brickpool4
[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool4 -n shadow_brick2
[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/shadow_brick2
[[email protected] ~]# mkdir -p /bricks/shadow_brick2
[[email protected] ~]# mount /dev/vg_bricks/shadow_brick2 /bricks/shadow_brick2/
[[email protected] ~]# mkdir /bricks/shadow_brick2/brick

Para el montaje permanente de ladrillo, haga la entrada fstab.

Crear Volumen replicado usando a continuación comando de brillo.

[[email protected] ~]# gluster volume create shadowvol replica 2 server3.example.com:/bricks/shadow_brick1/brick server4.example.com:/bricks/shadow_brick2/brick
volume create: shadowvol: success: please start the volume to access data
[[email protected] ~]# gluster volume start shadowvol
volume start: shadowvol: success
[[email protected] ~]#

Verifique la información del volumen usando el siguiente comando gluster:

[[email protected] ~]# gluster volume info shadowvol

gluster-replicar-volumen-estado-centos7

Si desea acceder a este volumen “sombravol” a través de nfs establece lo siguiente:

[[email protected] ~]# gluster volume set shadowvol nfs.disable off

Monte el volumen replicado en el cliente a través de nfs

Antes de montar, cree primero un punto de montaje.

[[email protected] ~]# mkdir /mnt/shadowvol

Nota: una de las limitaciones del almacenamiento gluster es que el servidor GlusterFS solo admite la versión 3 del protocolo NFS.

Agregue la siguiente entrada en el archivo «/etc/nfsmount.conf” en ambos servidores de almacenamiento (Servidor 3 y Servidor 4)

Valores predeterminados=3

Después de hacer la entrada anterior, reinicie ambos servidores una vez. Use el siguiente comando de montaje para el volumen «sombravol

[[email protected] ~]# mount -t nfs -o vers=3 server4.example.com:/shadowvol /mnt/shadowvol/

Para el montaje permanente, agregue la siguiente entrada en el archivo /etc/fstab

server4.example.com:/shadowvol  /mnt/shadowvol/  nfs vers=3  0 0

Verifique el tamaño y el estado de montaje del volumen:

[[email protected] ~]# df -Th

mount-glusterfs-volumen-replicado-centos7

Configuración de volumen distribuido-replicado:

Para configurar el volumen Distribute-Replicate, usaré un bloque de cada servidor y formaré el volumen. Crearé el volumen lógico a partir del grupo delgado existente en los servidores respectivos.

Cree un ladrillo en los 4 servidores usando los comandos debajo

Servidor 1

[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool1 -n prod_brick1
[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/prod_brick1
[[email protected] ~]# mkdir -p /bricks/prod_brick1
[[email protected] ~]# mount /dev/vg_bricks/prod_brick1 /bricks/prod_brick1/
[[email protected] ~]# mkdir /bricks/prod_brick1/brick

Servidor 2

[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool2 -n prod_brick2
[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/prod_brick2
[[email protected] ~]# mkdir -p /bricks/prod_brick2
[[email protected] ~]# mount /dev/vg_bricks/prod_brick2 /bricks/prod_brick2/
[[email protected] ~]# mkdir /bricks/prod_brick2/brick

servidor 3

[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool3 -n prod_brick3
[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/prod_brick3
[[email protected] ~]# mkdir -p /bricks/prod_brick3
[[email protected] ~]# mount /dev/vg_bricks/prod_brick3 /bricks/prod_brick3/
[[email protected] ~]# mkdir /bricks/prod_brick3/brick

servidor 4

[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool4 -n prod_brick4
[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/prod_brick4
[[email protected] ~]# mkdir -p /bricks/prod_brick4
[[email protected] ~]# mount /dev/vg_bricks/prod_brick4 /bricks/prod_brick4/
[[email protected] ~]# mkdir /bricks/prod_brick4/brick

Ahora crea un volumen con el nombre “dist-rep-vol” usando el siguiente comando gluster:

[[email protected] ~]# gluster volume create dist-rep-vol replica 2 server1.example.com:/bricks/prod_brick1/brick server2.example.com:/bricks/prod_brick2/brick server3.example.com:/bricks/prod_brick3/brick server4.example.com:/bricks/prod_brick4/brick force
[[email protected] ~]# gluster volume start dist-rep-vol

Verifique la información del volumen usando el siguiente comando:

[[email protected] ~]# gluster volume info dist-rep-vol

distribuir-replicar-gluster-volume-info

En este volumen, los primeros archivos se distribuirán en dos bloques cualquiera y luego los archivos se replicarán en los dos bloques restantes.

Ahora monte este volumen en la máquina cliente a través de gluster

primero creemos el punto de montaje para este volumen:

[[email protected] ~]# mkdir  /mnt/dist-rep-vol
[[email protected] ~]# mount.glusterfs server1.example.com:/dist-rep-vol /mnt/dist-rep-vol/

Agregue la siguiente entrada en fstab para una entrada permanente

server1.example.com:/dist-rep-vol /mnt/dist-rep-vol/  glusterfs   _netdev 0 0

Verifique el tamaño y el volumen usando el comando df:

distribuir-replicar-gluster-volumen-centos7

Eso es. Espero que haya disfrutado de los pasos de configuración de almacenamiento de Gluster.

Entradas relacionadas

Deja una respuesta

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