GNU/Linux >> Tutoriales Linux >  >> Linux

Agregar y eliminar servidores GlusterFS

Este artículo describe cómo agregar y eliminar servidores GlusterFS de su matriz de servidores.

Crear un nuevo servidor

Usa el nova boot comando del artículo anterior para crear un servidor llamado web3:

nova boot --image bb02b1a3-bc77-4d17-ab5b-421d89850fca --flavor performance1-4 web3

También puede usar el panel de control de Rackspace Cloud para crear el nuevo servidor.

Agregue el servidor a la red personalizada de Rackspace

En el artículo anterior, agregó una red personalizada de Rackspace.

  1. Obtenga el identificador único universal (UUID) de la red utilizando el siguiente nova comando:

    nova network-list
    
  2. Una vez que tenga el UUID, asocie el nuevo host con él.

    Reemplazar UUID en el siguiente comando con el UUID real (por ejemplo, 5492de89-1497-4aa0-96eb-bcdd55e1195c1 ). web03 es el nombre de host del servidor que desea agregar.

    nova network-associate-host UUID web03
    

También puede usar el panel de control de Rackspace Cloud para asociar un servidor con su red existente.

Cuando haya terminado, el nuevo servidor debe tener la dirección IP 192.168.0.3 en la interfaz /dev/eth3 . Esa es la dirección que usa GlusterFS para comunicarse con el otro servidor.

Formatear la partición e instalar GlusterFS

Utilice los siguientes pasos para formatear la partición del servidor e instalar GlusterFS:

  1. Utilice Secure Shell (SSH) para iniciar sesión en el servidor.

  2. Siguiendo las instrucciones del artículo anterior, instale GlusterFS y formatee los bricks partición de la siguiente manera:

    apt-get update
    apt-get install -y glusterfs-server glusterfs-client
    apt-get install -y xfsprogs
    mkfs.xfs /dev/xvde1
    mkdir /srv/.bricks
    echo /dev/xvde1 /srv/.bricks xfs rw 0 1 >> /etc/fstab
    mount /srv/.bricks
    ufw allow in on eth2
    

Incorporar el nuevo ladrillo en el volumen Gluster

  1. Use SSH para iniciar sesión en web01 o web02 .

  2. El siguiente comando le indica al volumen GlusterFS que confíe en el nuevo servidor:

    root@web02 :~# gluster peer probe 192.168.0.3
    peer probe: success
    
  3. Agregue el ladrillo al volumen usando los siguientes comandos:

    root@web02 :~# gluster volume add-brick www replica 3 192.168.0.3:/srv/.bricks/www
    volume add-brick: success
    

El comando incluye las siguientes partes:

  • gluster - El comando es para GlusterFS.
  • volume - El comando está relacionado con un volumen.
  • add-brick - Estás agregando un ladrillo al volumen.
  • www - Este es el nombre del volumen.
  • replica 3 - Después de agregar este bloque, el volumen conserva al menos tres copias de cada archivo, una copia por bloque y, en este caso, una copia por servidor (porque solo hay un bloque en cada servidor).
  • 192.168.0.3:/srv/.bricks/www - Esta parte del comando es la dirección IP del servidor Gluster, seguida de la ruta absoluta donde se almacenan los datos del bloque.

Estrategias de almacenamiento de volumen

GlusterFS ofrece los siguientes tipos de estrategias de almacenamiento de volumen:

  • Distribuido - Un archivo está en un bloque y el siguiente archivo está en el siguiente bloque. Esta estrategia te da más espacio porque tu volumen es la suma de todos los ladrillos.
  • Replicado (Recomendado ) - Cada archivo se copia en cada servidor.
  • A rayas - Los archivos se cortan en fragmentos, y un fragmento se escribe en el primer bloque, otro fragmento se escribe en el segundo bloque y así sucesivamente.

También puede combinar estrategias, por ejemplo, replicadas y distribuidas, como se ilustra en el siguiente ejemplo:

gluster volume create www replica 2 transport tcp
192.168.0.1:/srv/.bricks/www 192.168.0.2:/srv/.bricks/www
192.168.0.3:/srv/.bricks/www 192.168.0.4:/srv/.bricks/www

El número de réplica es el número de ladrillos que componen un conjunto de réplicas, es decir, contienen una copia completa de los archivos. En el ejemplo anterior 192.168.0.1 y 192.168.0.2 mantenga una copia completa de los archivos, al igual que 192.168.0.3 y 192.168.0.4 . El orden de los ladrillos es significativo. Si ordenó 1,3,2,4, entonces 1 y 3 y 2 y 4 contendrían los archivos completos. Si 1 y 2 fallaran, perdería la mitad de sus archivos y tendría dos copias de la otra mitad.

Tener una combinación de un volumen replicado y distribuido le brinda un poco más de velocidad y más espacio a cambio de la seguridad de los datos.

Se recomienda una combinación de volúmenes seccionados y replicados solo cuando tiene archivos que son más grandes que un ladrillo o muchos archivos grandes que se someten a muchas operaciones de E/S.

Ver el estado de los servidores

Los siguientes comandos lo ayudan a obtener más información sobre lo que sucede en su clúster. Utilizará estos comandos en artículos posteriores de GlusterFS.

estado de pares

Si ejecuta el siguiente comando desde cualquier servidor, muestra todos los servidores del mismo nivel que conoce:

root@web01:~# gluster peer status
Number of Peers: 2

Hostname: 192.168.0.3
Uuid: ba502dc2-447f-466a-a732-df989e71b551
State: Peer in Cluster (Connected)

Hostname: 192.168.0.2
Uuid: 56e02356-d2c3-4787-ae25-6b46e867751a
State: Peer in Cluster (Connected)

estado del volumen

El siguiente comando es un comando útil para solucionar problemas. Proporciona información sobre todos los volúmenes y tareas de GlusterFS en cola y en curso.

root@web03:~# gluster volume status
Status of volume: www
Gluster process						Port	Online	Pid
------------------------------------------------------------------------------
Brick 192.168.0.2:/srv/.bricks/www			49152	Y	13673
Brick 192.168.0.1:/srv/.bricks/www			49152	Y	10249
Brick 192.168.0.3:/srv/.bricks/www			49153	Y	13783
NFS Server on localhost					2049	Y	13793
Self-heal Daemon on localhost				N/A	Y	13800
NFS Server on 192.168.0.2				2049	Y	13900
Self-heal Daemon on 192.168.0.2				N/A	Y	13907
NFS Server on 192.168.0.1				2049	Y	10286
Self-heal Daemon on 192.168.0.1				N/A	Y	10293

There are no active volume tasks

Quitar un ladrillo

Puede reducir los volúmenes según sea necesario mientras el clúster está en línea y disponible. Utilice el siguiente comando para eliminar un ladrillo:

# gluster volume remove-brick <volName> <brickName> start

Ejecutando remove-brick con el start La opción activa automáticamente una operación de reequilibrio para migrar los datos de los bloques eliminados al resto del volumen.

El siguiente ejemplo elimina el ladrillo 2:

root@web01:~# gluster volume remove-brick www replica 2 192.168.0.2:/srv/.bricks/www start
Removing brick(s) can result in data loss. Do you want to Continue? (y/n) y
volume remove-brick commit force: success

Este comando le dice a GlusterFS que www El volumen ahora mantendrá solo 2 copias de cada archivo. Le advierte que podría perder datos y le pide que continúe.

Si desea eliminar un bloque en un volumen distribuido, debe ejecutar el siguiente comando en su lugar:

root@web01:~# gluster volume remove-brick www 192.168.0.2:/srv/.bricks/www start

Puede ver el estado de remove-brick operación usando el siguiente comando:

root@web01:~# watch gluster volume remove-brick www replica 2 192.168.0.2:/srv/.bricks/www status

Volver a agregar un ladrillo

Esta sección explica cómo volver a agregar un bloque.

Intente volver a agregar web02 al volumen, de la siguiente manera:

root@web02:~# gluster volume add-brick www replica 3 192.168.0.2:/srv/.bricks/www
volume add-brick: failed:

Falló. Mire los registros en web02 para ver por qué falló el comando:

root@web02:/srv/.bricks# tail /var/log/glusterfs/*log -f | grep E
[2014-05-25 00:19:04.954410] I [input.c:36:cli_batch] 0-: Exiting with: 0
[2014-05-25 00:19:12.958620] I [input.c:36:cli_batch] 0-: Exiting with: 0
[2014-05-25 00:40:46.923747] E [glusterd-utils.c:5377:glusterd_is_path_in_use] 0-management: /srv/.bricks/www or a prefix of it is already part of a volume
[2014-05-25 00:40:46.923789] E [glusterd-op-sm.c:3719:glusterd_op_ac_stage_op] 0-management: Stage failed on operation 'Volume Add brick', Status : -1

El problema es que /srv/.bricks/www aún contiene los datos del momento en que web02 era miembro del volumen.

Necesita un lugar limpio para almacenar los datos. La forma más fácil de limpiar es simplemente eliminar todos los datos usando el siguiente comando:

root@web02:~# rm -rf /srv/.bricks/www

Advertencia :tenga cuidado de realizar esta acción en el host correcto (web02, que actualmente está fuera del volumen). Si comete un error, el siguiente artículo le muestra cómo recuperarse. Las acciones alternativas son mover el www directorio fuera del camino, o para agregar el bloque usando otro directorio, como www2 .

Ahora que tiene una ubicación limpia en la que almacenar el ladrillo, agregar el ladrillo es un éxito:

root@web01:/srv# gluster volume add-brick www replica 3 192.168.0.2:/srv/.bricks/www
volume add-brick: success

Pasos siguientes

  • Cómo recuperarse de un servidor fallido en una matriz GlusterFS

Linux
  1. Xorg, X11, Wayland? Servidores de visualización y protocolos de Linux explicados

  2. Agregar y eliminar funciones y funciones en Windows Server

  3. Preguntas frecuentes sobre servidores en la nube

  4. Nuevas funciones en Servidores en la nube de propósito general y optimizados para el trabajo

  5. Arquitectura del servidor NTP

¿Cómo agregar y eliminar registros A en cPanel?

¿Cómo agregar y eliminar registros MX en cPanel?

¿Cómo agregar y eliminar registros TXT en cPanel?

30 herramientas y servicios interesantes para monitorear sus servidores Linux

Cómo agregar un sitio web en cPanel y WHM en CentOS 6.7

Cómo agregar compatibilidad con PHP-FPM en el servidor web Apache y Nginx en Ubuntu 18.04