glusterfs

Una versión anterior de este tutorial fue escrita por Justin Ellingwood.

Introducción

Al almacenar datos críticos, tener un solo punto de falla es muy arriesgado. Si bien muchas bases de datos y otro software le permiten distribuir datos en el contexto de una sola aplicación, otros sistemas pueden operar en el nivel del sistema de archivos para garantizar que los datos se copien a otra ubicación cada vez que se escriben en el disco.

GlusterFS es un sistema de archivos de almacenamiento conectado a la red que le permite agrupar recursos de almacenamiento de múltiples máquinas. A su vez, esto le permite tratar múltiples dispositivos de almacenamiento que se distribuyen entre muchas computadoras como una unidad única y más potente. GlusterFS también le da la libertad de crear diferentes tipos de configuraciones de almacenamiento, muchas de las cuales son funcionalmente similares a los niveles de RAID niveles. Por ejemplo, puede dividir datos en diferentes nodos en el clúster, o puede implementar redundancia para una mejor disponibilidad de datos.

Metas

En esta guía, creará una matriz de almacenamiento en clúster redundante, también conocida como un sistema de archivos distribuido o, como se menciona en la documentación de GlusterFS, un Pool de almacenamiento de confianza. Esto proporcionará una funcionalidad similar a una configuración RAID reflejada a través de la red: cada servidor independiente contendrá su propia copia de los datos, permitiendo que sus aplicaciones accedan a cualquiera de las copias, ayudando así a distribuir su carga de lectura.

Este clúster GlusterFS redundante constará de dos servidores Ubuntu 20.04. Esto actuará de manera similar a un NAS servidor con RAID reflejado. Luego accederá al clúster desde un tercer servidor Ubuntu 20.04 configurado para funcionar como un cliente GlusterFS.

Ejecución segura de GlusterFS

Cuando agrega datos a un volumen GlusterFS, esos datos se sincronizan con cada máquina en el grupo de almacenamiento donde se aloja el volumen. Este tráfico entre nodos no está encriptado de manera predeterminada, lo que significa que existe el riesgo de que pueda ser interceptado por actores maliciosos.

Por este motivo, si va a utilizar GlusterFS en producción, se recomienda que lo ejecute en una red aislada. Por ejemplo, puede configurarlo para que se ejecute en un Nube privada virtual (VPC) o con una VPN ejecutándose entre cada uno de los nodos.

Si planea implementar GlusterFS en DigitalOcean, puede configurarlo en una red aislada agregando la infraestructura de su servidor a una nube privada virtual de DigitalOcean. Para obtener detalles sobre cómo configurar esto, consulte nuestra documentación del producto VPC.

Prerrequisitos

Para seguir este tutorial, necesitará tres servidores que ejecuten Ubuntu 20.04. Cada servidor debe tener un usuario no root con privilegios administrativos y un firewall configurado con UFW. Para configurar esto, siga nuestra guía de configuración inicial del servidor para Ubuntu 20.04.

Nota: Como se mencionó en la sección Objetivos, este tutorial lo guiará a través de la configuración de dos de sus servidores Ubuntu para que actúen como servidores en su grupo de almacenamiento y el restante para que actúe como un cliente que usará para acceder a estos nodos.

Para mayor claridad, este tutorial se referirá a estas máquinas con los siguientes nombres de host:

Nombre de host Rol en la agrupación de almacenamiento
gluster0 Servidor
gluster1 Servidor
gluster2 Cliente

Comandos que deben ejecutarse en cualquiera gluster0 o gluster1 tendrá fondos azules y rojos, respectivamente:

Comandos que solo deben ejecutarse en el cliente (gluster2) tendrá un fondo verde:

Los comandos que pueden o deben ejecutarse en más de una máquina tendrán un fondo gris:

Paso 1: configuración de la resolución DNS en cada máquina

Configurar algún tipo de resolución de nombre de host entre cada computadora puede ayudar a administrar su grupo de almacenamiento de Gluster. De esta manera, siempre que tenga que hacer referencia a una de sus máquinas en un brillo comando más adelante en este tutorial, puede hacerlo con un nombre de dominio fácil de recordar o incluso un apodo en lugar de sus respectivas direcciones IP.

Si no tiene un nombre de dominio adicional, o si solo desea configurar algo rápidamente, puede editar el /etc/hosts archivo en cada computadora. Este es un archivo especial en máquinas Linux donde puede configurar estáticamente el sistema para resolver cualquier nombre de host contenido en el archivo a direcciones IP estáticas.

Nota: Si desea configurar sus servidores para que se autentiquen con un dominio que posee, primero deberá obtener un nombre de dominio de un registrador de dominios, como Namecheap o Enom – y configurar los registros DNS apropiados.

Una vez que haya configurado un registro A para cada servidor, puede avanzar al Paso 2. Al seguir esta guía, asegúrese de reemplazar brillonorte.example.com y brillonorte con el nombre de dominio que se resuelve en el servidor respectivo al que se hace referencia en el comando de ejemplo.

Si obtuvo su infraestructura de DigitalOcean, podría agregar su nombre de dominio a DigitalOcean y luego configurar un registro A único para cada uno de sus servidores.

Usando su editor de texto preferido, abra este archivo con privilegios de root en cada una de tus máquinas. Aquí usaremos nano:

Por defecto, el archivo se verá así con los comentarios eliminados:

/ etc / hosts

127.0.1.1 hostname hostname
127.0.0.1 localhost

::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

En uno de sus servidores Ubuntu, agregue la dirección IP de cada servidor seguido de cualquier nombre que desee usar para hacer referencia a ellos en los comandos debajo de la definición de host local.

En el siguiente ejemplo, cada servidor recibe un nombre de host largo que se alinea con glusterN.example.com y uno corto que se alinea con glusterN. Puedes cambiar el glusterN.example.com y glusterN porciones de cada línea a cualquier nombre, o nombres separados por espacios individuales, que le gustaría usar para acceder a cada servidor. Sin embargo, tenga en cuenta que este tutorial utilizará estos ejemplos en todo momento:

Nota: Si sus servidores son parte de un Nube privada virtual grupo de infraestructura, debe usar la dirección IP privada de cada servidor en el /etc/hosts archivo en lugar de sus IP públicas.

/ etc / hosts

. . .
127.0.0.1       localhost
first_ip_address gluster0.example.com gluster0
second_ip_address gluster1.example.com gluster1
third_ip_address gluster2.example.com gluster2

. . .

Cuando termine de agregar estas nuevas líneas a la /etc/hosts archivo de una máquina, cópielo y agréguelo al /etc/hosts archivos en sus otras máquinas. Cada /etc/hosts el archivo debe contener las mismas líneas, vinculando las direcciones IP de sus servidores con los nombres que ha seleccionado.

Guarde y cierre cada archivo cuando haya terminado. Si usaste nano, hazlo presionando CTRL + X, Y, y entonces ENTER.

Ahora que ha configurado la resolución del nombre de host entre cada uno de sus servidores, será más fácil ejecutar comandos más adelante cuando configure un grupo de almacenamiento y un volumen. A continuación, pasará por otro paso que debe completarse en cada uno de sus servidores. Es decir, agregará el archivo de paquete personal (PPA) oficial del proyecto Gluster a cada uno de sus tres servidores Ubuntu para asegurarse de que pueda instalar la última versión de GlusterFS.

Paso 2: configuración de fuentes de software en cada máquina

Aunque los repositorios APT predeterminados de Ubuntu 20.04 contienen paquetes de GlusterFS, en el momento de escribir esto no son las versiones más recientes. Una forma de instalar la última versión estable de GlusterFS (versión 7.6 al momento de escribir esto) es agregar el PPA oficial del proyecto Gluster a cada uno de sus tres servidores Ubuntu.

Agregue el PPA para los paquetes GlusterFS ejecutando el siguiente comando en cada servidor:

  • sudo add-apt-repository ppa:gluster/glusterfs-7

prensa ENTER cuando se le solicite que confirme que realmente desea agregar el PPA.

Después de agregar el PPA, actualice cada servidor índice de paquete local. Esto hará que cada servidor conozca los nuevos paquetes disponibles:

Después de agregar el PPA oficial del proyecto Gluster a cada servidor y actualizar el índice del paquete local, está listo para instalar los paquetes GlusterFS necesarios. Sin embargo, dado que dos de sus tres máquinas actuarán como servidores Gluster y la otra actuará como cliente, existen dos procedimientos de instalación y configuración separados. Primero, instalará y configurará los componentes del servidor.

Paso 3: instalación de componentes del servidor y creación de un grupo de almacenamiento de confianza

UNA piscina de almacenamiento es cualquier cantidad de capacidad de almacenamiento agregada de más de un recurso de almacenamiento. En este paso, configurará dos de sus servidores: gluster0 y gluster1 – como los componentes del clúster.

En ambos gluster0 y gluster1, instale el paquete del servidor GlusterFS escribiendo:

  • sudo apt install glusterfs-server

Cuando se le solicite, presione Y y entonces ENTER para confirmar la instalación

El proceso de instalación configura automáticamente GlusterFS para ejecutarse como systemd Servicio. Sin embargo, no inicia automáticamente el servicio ni permite que se ejecute en el arranque.

Para comenzar glusterd, el servicio GlusterFS, ejecute lo siguiente systemctl start comando en ambos gluster0 y gluster1:

  • sudo systemctl start glusterd.service

Luego ejecute el siguiente comando en ambos servidores. Esto permitirá que el servicio se inicie cada vez que se inicie el servidor:

  • sudo systemctl enable glusterd.service

Después de eso, puede verificar el estado del servicio en uno o ambos servidores:

  • sudo systemctl status glusterd.service

Si el servicio está en funcionamiento, recibirá un resultado como este:

Output

● glusterd.service - GlusterFS, a clustered file-system server
   Loaded: loaded (/lib/systemd/system/glusterd.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2020-06-02 21:32:21 UTC; 32s ago
     Docs: man:glusterd(8)
 Main PID: 14742 (glusterd)
    Tasks: 9 (limit: 2362)
   CGroup: /system.slice/glusterd.service
           └─14742 /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level INFO

Suponiendo que haya seguido la prerrequisito de la guía de configuración inicial del servidor, habrá configurado un firewall con UFW en cada una de sus máquinas. Debido a esto, deberá abrir el firewall en cada nodo antes de poder establecer comunicaciones entre ellos y crear un grupo de almacenamiento.

El demonio Gluster usa puerto 24007, por lo que deberá permitir que cada nodo acceda a ese puerto a través del firewall de cada nodo en su grupo de almacenamiento. Para hacerlo, ejecute el siguiente comando en gluster0. Recuerda cambiar gluster1_ip_address a gluster1Dirección IP:

  • sudo ufw allow from gluster1_ip_address to any port 24007

Y ejecuta el siguiente comando en gluster1. De nuevo, asegúrese de cambiar gluster0_ip_address a gluster0Dirección IP:

  • sudo ufw allow from gluster0_ip_address to any port 24007

También deberá permitir su máquina cliente (gluster2) acceso a este puerto. De lo contrario, tendrá problemas más adelante cuando intente montar el volumen. Ejecute el siguiente comando tanto en gluster0 como en gluster1 para abrir este puerto a su máquina cliente:

  • sudo ufw allow from gluster2_ip_address to any port 24007

Luego, para asegurarse de que ninguna otra máquina pueda acceder al puerto de Gluster en ninguno de los servidores, agregue la siguiente manta deny gobernar a Gluster0 y Gluster1:

Ahora estás listo para establecer comunicación entre gluster0 y gluster1. Para hacerlo, deberá ejecutar el sonda de pares comando en uno de sus nodos. No importa qué nodo utilice, pero el siguiente ejemplo muestra el comando que se ejecuta en gluster0:

  • sudo gluster peer probe gluster1

Esencialmente, este comando dice gluster0 confiar gluster1 y registrarlo como parte de su grupo de almacenamiento. Si la sonda tiene éxito, devolverá el siguiente resultado:

Output

peer probe: success

Puede verificar que los nodos se comuniquen en cualquier momento ejecutando el gluster peer status comando en cualquiera de los dos. En este ejemplo, se ejecuta en gluster1:

Si ejecuta este comando desde gluster1, mostrará resultados como este:

Output

Number of Peers: 1

Hostname: gluster0.example.com
Uuid: a3fae496-c4eb-4b20-9ed2-7840230407be
State: Peer in Cluster (Connected)

En este punto, sus dos servidores se están comunicando y están listos para crear volúmenes de almacenamiento entre sí.

Paso 4: creación de un volumen de almacenamiento

Recuerde que el objetivo principal de este tutorial es crear un grupo de almacenamiento redundante. Con este fin, configurará un volumen con funcionalidad de réplica, lo que le permitirá conservar múltiples copias de sus datos y evitar que su clúster tenga un solo punto de falla.

Para crear un volumen, usará el gluster volume create comando con esta sintaxis general:

sudo gluster volume create volume_name replica number_of_servers domain1.com:/path/to/data/directory domain2.com:/path/to/data/directory force

Esto es lo que esto gluster volume create Los argumentos y las opciones del comando significan:

  • volume_name: Este es el nombre que usará para referirse al volumen una vez creado. El siguiente comando de ejemplo crea un volumen denominado volume1.
  • replica number_of_servers: Siguiendo el nombre del volumen, puede definir qué tipo de volumen desea crear. Recuerde que el objetivo de este tutorial es crear un grupo de almacenamiento redundante, por lo que utilizaremos el replica tipo de volumen Esto requiere un argumento que indique en cuántos servidores se replicarán los datos del volumen (2 en el caso de este tutorial).
  • domain1.com:/… y domain2.com:/…: Definen las máquinas y la ubicación del directorio de ladrillos – El término de GlusterFS para su unidad básica de almacenamiento, que incluye cualquier directorio en cualquier máquina que sirva como parte o una copia de un volumen mayor, que constituirá volume1. El siguiente ejemplo creará un directorio llamado gluster-storage en el directorio raíz de ambos servidores.
  • force: Esta opción anulará cualquier advertencia u opción que de otra manera aparecería y detendría la creación del volumen.

Siguiendo las convenciones establecidas anteriormente en este tutorial, puede ejecutar este comando para crear un volumen. Tenga en cuenta que puede ejecutarlo desde gluster0 o gluster1:

  • sudo gluster volume create volume1 replica 2 gluster0.example.com:/gluster-storage gluster1.example.com:/gluster-storage force

Si el volumen se creó correctamente, recibirá el siguiente resultado:

Output

volume create: volume1: success: please start the volume to access data

En este punto, su volumen ha sido creado, pero aún no está activo. Puede iniciar el volumen y ponerlo a disposición para su uso ejecutando el siguiente comando, nuevamente desde cualquiera de sus servidores Gluster:

  • sudo gluster volume start volume1

Recibirá esta salida si el volumen se inició correctamente:

Output

volume start: volume1: success

Luego, verifique que el volumen esté en línea. Ejecute el siguiente comando desde cualquiera de sus nodos:

  • sudo gluster volume status

Esto devolverá una salida similar a esta:

Output

Status of volume: volume1
Gluster process                             TCP Port  RDMA Port  Online  Pid
------------------------------------------------------------------------------
Brick gluster0.example.com:/gluster-storage 49152     0          Y       18801
Brick gluster1.example.com:/gluster-storage 49152     0          Y       19028
Self-heal Daemon on localhost               N/A       N/A        Y       19049
Self-heal Daemon on gluster0.example.com    N/A       N/A        Y       18822

Task Status of Volume volume1
------------------------------------------------------------------------------
There are no active volume tasks

Según este resultado, los ladrillos en ambos servidores están en línea.

Como paso final para configurar su volumen, deberá abrir el firewall en ambos servidores para que su máquina cliente pueda conectarse y montar el volumen. De acuerdo con la salida de muestra del comando anterior, volume1 se está ejecutando en el puerto 49152 en ambas máquinas. Este es el puerto predeterminado de GlusterFS para su volumen inicial, y el próximo volumen que cree utilizará el puerto 49153, luego 49154, y así.

Ejecute el siguiente comando en ambos gluster0 y gluster1 permitir gluster2 acceso a este puerto a través del firewall respectivo de cada uno:

  • sudo ufw allow from gluster2_ip_address to any port 49152

Luego, para una capa adicional de seguridad, agregue otra manta deny regla para el puerto del volumen en Gluster0 y Gluster1. Esto asegurará que ninguna máquina que no sea su cliente pueda acceder al volumen en cualquiera de los servidores:

Ahora que su volumen está en funcionamiento, puede configurar su máquina cliente y comenzar a usarla de forma remota.

Paso 5 – Instalación y configuración de componentes del cliente

Su volumen ahora está configurado y disponible para que lo use su máquina cliente. Sin embargo, antes de comenzar, debe instalar el glusterfs-client paquete del PPA que configuró en el Paso 1 en su máquina cliente. Las dependencias de este paquete incluyen algunas de las bibliotecas y módulos traductores comunes de GlusterFS y las herramientas FUSE necesarias para que funcione.

Ejecute el siguiente comando en gluster2:

  • sudo apt install glusterfs-client

Montará su volumen de almacenamiento remoto en su computadora cliente en breve. Sin embargo, antes de poder hacer eso, debe crear un punto de montaje. Tradicionalmente, esto está en el /mnt directorio, pero se puede utilizar cualquier lugar conveniente.

Por simplicidad, cree un directorio llamado /storage-pool en su máquina cliente para servir como punto de montaje. Este nombre de directorio comienza con una barra diagonal (/) que lo coloca en el directorio raíz, por lo que deberá crearlo con sudo privilegios:

Ahora puede montar el volumen remoto. Antes de eso, sin embargo, eche un vistazo a la sintaxis de mount comando que usarás para hacerlo:

sudo mount -t glusterfs domain1.com:volume_name /path/to/mount/point

mount es una utilidad que se encuentra en muchos sistemas operativos tipo Unix. Se utiliza para montar sistemas de archivos, desde dispositivos de almacenamiento externo, como tarjetas SD o memorias USB, hasta almacenamiento conectado a la red como en el caso de este tutorial, a directorios en el sistema de archivos existente de la máquina. los mount la sintaxis de comando que usará incluye el -t opción, que requiere tres argumentos: el tipo del sistema de archivos a montar, el dispositivo donde se puede encontrar el sistema de archivos para montar, y el directorio en el cliente donde montará el volumen.

Observe que en este ejemplo de sintaxis, el argumento del dispositivo apunta a un nombre de host seguido de dos puntos y luego el nombre del volumen. GlusterFS extrae los directorios de almacenamiento reales en cada host, lo que significa que este comando no busca montar el /gluster-storage directorio, sino el volume1 volumen.

Observe también que solo tiene que especificar un miembro del clúster de almacenamiento. Esto puede ser cualquier nodo, ya que el servicio GlusterFS los trata como una sola máquina.

Ejecute el siguiente comando en su máquina cliente (gluster2) para montar el volumen en /storage-pool directorio que creó:

  • sudo mount -t glusterfs gluster0.example.com:/volume1 /storage-pool

Después de eso, ejecute el df mando. Esto mostrará la cantidad de espacio disponible en disco para los sistemas de archivos a los que el usuario que lo invoca tenga acceso:

Este comando mostrará que el volumen GlusterFS está montado en la ubicación correcta:

Output

Filesystem                    1K-blocks    Used Available Use% Mounted on
. . .
gluster0.example.com:/volume1  50633164 1938032  48695132   4% /storage-pool

Ahora, puede pasar a probar que cualquier dato que escriba en el volumen de su cliente se replique en los nodos de su servidor como se esperaba.

Paso 6 – Prueba de las características de redundancia

Ahora que ha configurado su cliente para usar su conjunto de almacenamiento y volumen, puede probar su funcionalidad.

En su máquina cliente (gluster2), navegue hasta el punto de montaje que definió en el paso anterior:

Luego cree algunos archivos de prueba. El siguiente comando crea diez archivos vacíos separados en su grupo de almacenamiento:

  • sudo touch file_{0..9}.test

Si examina los directorios de almacenamiento que definió anteriormente en cada host de almacenamiento, descubrirá que todos estos archivos están presentes en cada sistema.

En gluster0:

Output

file_0.test  file_2.test  file_4.test  file_6.test  file_8.test
file_1.test  file_3.test  file_5.test  file_7.test  file_9.test

Del mismo modo, en gluster1:

Output

file_0.test  file_2.test  file_4.test  file_6.test  file_8.test
file_1.test  file_3.test  file_5.test  file_7.test  file_9.test

Como muestran estos resultados, los archivos de prueba que agregó al cliente también se escribieron en ambos nodos.

Si alguna vez hay un punto en el que uno de los nodos de su clúster de almacenamiento está inactivo, podría no estar sincronizado con el grupo de almacenamiento si se realizan cambios en el sistema de archivos. Hacer una operación de lectura en el punto de montaje del cliente después de que el nodo vuelva a estar en línea alertará al nodo para obtener los archivos faltantes:

Ahora que ha verificado que su volumen de almacenamiento está montado correctamente y puede replicar datos en ambas máquinas en el clúster, puede bloquear el acceso al grupo de almacenamiento.

Paso 7 – Restricción de las características de redundancia

En este punto, cualquier computadora puede conectarse a su volumen de almacenamiento sin restricciones. Puede cambiar esto configurando el autorizar opción, que define las direcciones IP de los clientes que deberían tener acceso al volumen.

Si estás usando el /etc/hosts configuración, los nombres que ha establecido para cada servidor no se enrutarán correctamente. En su lugar, debe usar una dirección IP estática. Por otro lado, si está utilizando registros DNS, el nombre de dominio que configuró funcionará aquí.

En cualquiera de sus nodos de almacenamiento (gluster0 o gluster1), ejecute el siguiente comando:

  • sudo gluster volume set volume1 auth.allow gluster2_ip_address

Si el comando se completa con éxito, devolverá este resultado:

Output

volume set: success

Si necesita eliminar la restricción en cualquier momento, puede escribir:

  • sudo gluster volume set volume1 auth.allow *

Esto permitirá conexiones desde cualquier máquina nuevamente. Esto es inseguro, pero puede ser útil para problemas de depuración.

Si tiene varios clientes, puede especificar sus direcciones IP o nombres de dominio al mismo tiempo (dependiendo de si está utilizando /etc/hosts o resolución de nombre de host DNS), separados por comas:

  • sudo gluster volume set volume1 auth.allow gluster_client1_ip,gluster_client2_ip

Su grupo de almacenamiento ahora está configurado, protegido y listo para usar. A continuación, aprenderá algunos comandos que lo ayudarán a obtener información sobre el estado de su grupo de almacenamiento.

Paso 8 – Obteniendo información sobre tu agrupación de almacenamiento con los comandos de GlusterFS

Cuando comience a cambiar algunas de las configuraciones para su almacenamiento GlusterFS, puede confundirse acerca de las opciones que tiene disponibles, qué volúmenes están activos y qué nodos están asociados con cada volumen.

Hay varios comandos diferentes que están disponibles en sus nodos para recuperar estos datos e interactuar con su grupo de almacenamiento.

Si desea información sobre cada uno de sus volúmenes, ejecute el gluster volume info mando:

Output

Volume Name: volume1
Type: Replicate
Volume ID: a1e03075-a223-43ab-a0f6-612585940b0c
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: gluster0.example.com:/gluster-storage
Brick2: gluster1.example.com:/gluster-storage
Options Reconfigured:
auth.allow: gluster2_ip_address
transport.address-family: inet
storage.fips-mode-rchecksum: on
nfs.disable: on
performance.client-io-threads: off

Del mismo modo, para obtener información sobre cualquier par al que esté conectado este nodo, puede escribir:

Number of Peers: 1

Hostname: gluster0.example.com
Uuid: cb00a2fc-2384-41ac-b2a8-e7a1793bb5a9
State: Peer in Cluster (Connected)

Si desea información detallada sobre el rendimiento de cada nodo, puede perfilar un volumen escribiendo:

  • sudo gluster volume profile volume_name start

Cuando se completa este comando, puede obtener la información recopilada escribiendo:

  • sudo gluster volume profile volume_name info

Output

Brick: gluster0.example.com:/gluster-storage
--------------------------------------------
Cumulative Stats:
 %-latency   Avg-latency   Min-Latency   Max-Latency   No. of calls         Fop
 ---------   -----------   -----------   -----------   ------------        ----
      0.00       0.00 us       0.00 us       0.00 us             30      FORGET
      0.00       0.00 us       0.00 us       0.00 us             36     RELEASE
      0.00       0.00 us       0.00 us       0.00 us             38  RELEASEDIR

    Duration: 5445 seconds
   Data Read: 0 bytes
Data Written: 0 bytes

Interval 0 Stats:
 %-latency   Avg-latency   Min-Latency   Max-Latency   No. of calls         Fop
 ---------   -----------   -----------   -----------   ------------        ----
      0.00       0.00 us       0.00 us       0.00 us             30      FORGET
      0.00       0.00 us       0.00 us       0.00 us             36     RELEASE
      0.00       0.00 us       0.00 us       0.00 us             38  RELEASEDIR

    Duration: 5445 seconds
   Data Read: 0 bytes
Data Written: 0 bytes
. . .

Como se mostró anteriormente, para obtener una lista de todos los componentes asociados a GlusterFS que se ejecutan en cada uno de sus nodos, ejecute el gluster volume status mando:

  • sudo gluster volume status

Output

Status of volume: volume1
Gluster process                             TCP Port  RDMA Port  Online  Pid
------------------------------------------------------------------------------
Brick gluster0.example.com:/gluster-storage 49152     0          Y       19003
Brick gluster1.example.com:/gluster-storage 49152     0          Y       19040
Self-heal Daemon on localhost               N/A       N/A        Y       19061
Self-heal Daemon on gluster0.example.com    N/A       N/A        Y       19836

Task Status of Volume volume1
------------------------------------------------------------------------------
There are no active volume tasks

Si va a administrar sus volúmenes de almacenamiento de GlusterFS, puede ser una buena idea ingresar a la consola de GlusterFS. Esto le permitirá interactuar con su entorno GlusterFS sin necesidad de escribir sudo gluster antes de todo:

Esto le dará un mensaje donde puede escribir sus comandos. ayuda es bueno para orientarse:

Output

 peer help                - display help for peer commands
 volume help              - display help for volume commands
 volume bitrot help       - display help for volume bitrot commands
 volume quota help        - display help for volume quota commands
 snapshot help            - display help for snapshot commands
 global help              - list global commands

Cuando hayas terminado, corre exit para salir de la consola Gluster:

Con eso, estás listo para comenzar a integrar GlusterFS con tu próxima aplicación.

Conclusión

Al completar este tutorial, tiene un sistema de almacenamiento redundante que le permitirá escribir en dos servidores separados simultáneamente. Esto puede ser útil para varias aplicaciones y puede garantizar que sus datos estén disponibles incluso cuando un servidor deja de funcionar.

Source link

Por itencore