Administracion del sistema

Configuración del servidor de almacenamiento de alta disponibilidad utilizando Glusterfs

Configuración del servidor de almacenamiento de alta disponibilidad utilizando Glusterfs

12 de marzo de 2013
por Lubos Rendek

Introducción

Ya sea que esté administrando una pequeña red doméstica o una red empresarial para una empresa grande, el almacenamiento de datos siempre es una preocupación. Puede ser en términos de falta de espacio en disco o solución de respaldo ineficiente. En ambos casos, los glusterfs pueden ser la herramienta adecuada para solucionar su problema, ya que le permite escalar sus recursos horizontal y verticalmente. En esta guía configuraremos el almacenamiento de datos distribuido y replicado/espejo. Como su nombre, sugiere que el modo de almacenamiento distribuido de un GLUSTERFS le permitirá redistribuir sus datos en múltiples nodos de red, mientras que un modo replicado se asegurará de que todos sus datos se reflejen en todos los nodos de red.

¿Qué es Glusterfs?

Después de leer la introducción, ya debería tener una idea justa de qué es Glusterfs. Puede pensar en ello como un servicio de agregación para todo su espacio de disco vacío en toda su red. Conecta todos los nodos con instalación de Glusterfs a través de TCP o RDMA, creando un solo recurso de almacenamiento que combina todo el espacio de disco disponible en un solo volumen de almacenamiento ( repartido modo) o utiliza el máximo de espacio de disco disponible en todas las notas para reflejar sus datos ( replicado modo ). Por lo tanto, cada volumen consiste en múltiples nodos, que en la terminología Glusterfs se llaman ladrillos.

Supuestos preliminares

Aunque Glusterfs puede ser instalado y usado en cualquier distribución de Linux, este artículo utilizará principalmente Ubuntu Linux. Sin embargo, debería poder usar esta guía en cualquier distribución de Linux como Redhat, Fedora, Suse, etc. La única parte que será diferente será el proceso de instalación de Glusterfs.

Además, esta guía usará 3 nombres de host de ejemplo:

Use el archivo DNS Server o /etc /hosts para definir sus nombres de host y ajustar su escenario a esta guía.

Instalación de Glusterfs

El servidor Glusterfs debe instalarse en todos los hosts que desea agregar a su volumen de almacenamiento final. En nuestro caso será almacenamiento.servidor1 y almacenamiento.servidor2. Puede usar Glusterfs como un solo servidor y una conexión de cliente para actuar como un servidor NFS. Sin embargo, el verdadero valor de GlusterFS es cuando se usa múltiples hosts de servidor para actuar como uno. Use el siguiente comando Linux en ambos servidores para instalar el servidor GLUSTERFS:

almacenamiento.Server1 $ sudo apt-get install glusterfs-server

y

almacenamiento.Server2 $ sudo apt-get install glusterfs-server

Los comandos de arriba instalarán e iniciarán Glusterfs-Server en ambos sistemas. Confirme que ambos servidores se están ejecutando con:

$ sudo Service Glusterfs-server

Configuración de almacenamiento distribuido

Primero crearemos un volumen distribuido Glusterfs. En el modo distribuido, Glusterfs distribuirá uniformemente cualquier datos en todos los ladrillos conectados. Por ejemplo, si los clientes escriben archivos FILE1, FILE2, FILE3 y FILE4 a un directorio montado en Glusterfs, entonces servidor.Storage1 contendrá File1 y File2 y Server.Storage2 obtendrá File3 y File4. Este escenario se ilustra utilizando el diagrama a continuación.

Sonda de pares

Primero, necesitamos hacer que ambos servidores glusterfs hablen entre sí, lo que significa que estamos creando efectivamente un grupo de servidores de confianza.

almacenamiento.Server1 $ Sudo Gluster Gluster Probe Storage.servidor2
Sonda exitosa

El comando anterior agregará almacenamiento.servidor2 a un grupo de servidores de confianza. Esta configuración se replica en cualquier servidor conectado para que no tenga que ejecutar el comando anterior en otros porciones. A estas alturas, ambos servidores tendrán el archivo de configuración de pares disponibles de manera similar al siguiente:

$ Cat/Etc/Glusterd/Peers/951B8732-42F0-42E1-A32F-0E1C4BAEC4F1
uuid = 951B8732-42F0-42E1-A32F-0E1C4BAEC4F1
estado = 3
hostname1 = almacenamiento.servidor2

Crear volumen de almacenamiento

A continuación, podemos usar ambos servidores para definir un nuevo volumen de almacenamiento que consta de dos ladrillos, uno para cada servidor.

almacenamiento.servidor1 $ sudo gluster volumen crear almacenamiento dist-vol.servidor1:/distata \ almacenamiento.servidor2:/distata
La creación de volumen Dist-Vol ha tenido éxito. Inicie el volumen para acceder a los datos.

El comando anterior creó un nuevo volumen llamado Dist-Vol que consta de dos ladrillos. Si el directorio /Dist-Data no existe, también se creará en ambos servidores mediante el comando anterior. Como ya se mencionó anteriormente, puede agregar solo un ladrillo al volumen y así hacer que el servidor de clusterfs actúe como un servidor NFS. Puede verificar si su nuevo volumen fue creado por:

$ sudo Gluster Volum Info Dist-Vol
Nombre del volumen: Dist-Vol
Tipo: distribuir
Estado: creado
Número de ladrillos: 2
Tipo de transporte: TCP
Ladrillos:
Brick1: almacenamiento.servidor1:/distata
Brick2: almacenamiento.servidor2:/distata

Iniciar volumen de almacenamiento

Ahora, estamos listos para comenzar su nuevo volumen:

almacenamiento.servidor1 $ sudo gluster volumen iniciar dist-vol
El volumen inicial Dist-Vol ha tenido éxito
almacenamiento.servidor1 $ sudo gluster volumen info Dist-Vol
Nombre del volumen: Dist-Vol
Tipo: distribuir
Estado: iniciado
Número de ladrillos: 2
Tipo de transporte: TCP
Ladrillos:
Brick1: almacenamiento.servidor1:/distata
Brick2: almacenamiento.servidor2:/distata

Esto concluye una configuración del servidor de datos Glusterfs en el modo distribuido. El resultado final debe ser un nuevo volumen distribuido llamado Dist-Vol que consta de dos ladrillos.

Configuración del cliente

Ahora que hemos creado un nuevo volumen de Glusterfs, podemos usar el cliente Glusterfs para montar este volumen a cualquier hosts. Inicie sesión en el host del cliente e instale el cliente GLUSTEFS:

almacenamiento.cliente $ sudo apt-get install glusterfs-client

A continuación, cree un punto de montaje al que montará su nuevo volumen Dist-Vol Glusterfs, por ejemplo, Export-Dist:

almacenamiento.Cliente $ sudo Mkdir /Export-Dist

Ahora, podemos montar el volumen Dist-Vol Glusterfs con el montar dominio:

almacenamiento.Cliente $ sudo Montaje -T Glusterfs Storage.servidor1: Dist-Vol /Export-Dist

Todos gritan estar listo. Utilizar el montar Comando para ver si ha montado el volumen de Glusterfs correctamente:

$ Monte | Grep Glusterf

Prueba de configuración distribuida de GLUSTERFS

Todo está listo para que podamos comenzar algunas pruebas. En el lado del cliente, cita 4 archivos en el directorio montado en Glusterfs:

almacenamiento.cliente $ touch /export-dist /file1 file2 file3 file4

El Glusterfs ahora tomará todos los archivos y los redistribuirá uniformemente entre todos los ladrillos en el volumen de Dist-Vol. Por lo tanto, almacenamiento.Server1 contendrá:

almacenamiento.servidor1 $ ls /distata /
file3 file4

y almacenamiento.Server2 contendrá:

almacenamiento.servidor2 $ LS /DIST-DATA
file1 file2

Por supuesto, sus resultados pueden ser diferentes.

Configuración de almacenamiento replicada

El procedimiento de crear un volumen Glusterfs replicado es similar al volumen distribuido explicado anteriormente. De hecho, la única diferencia es la forma en que se crea el volumen de clusterfs. Pero vamos de nuevo desde el principio:

Sonda de pares

Primero, necesitamos hacer que ambos servidores glusterfs hablen entre sí, lo que significa que estamos creando efectivamente un grupo de servidores de confianza.

almacenamiento.Server1 $ Sudo Gluster Gluster Probe Storage.servidor2
Sonda exitosa

Si esto ya está hecho, puede omitir este paso.

Crear volumen de almacenamiento

En este paso necesitamos crear un volumen de réplica.

$ Sudo Gluster Volume Cree replica replica 2 \ almacenamiento.servidor1:/REPLA DE ALMACENAMIENTO DE DATOS.Server2:/Reply Data La creación de volumen repl-vole ha sido exitoso. Inicie el volumen para acceder a los datos. 

La traducción básica del comando anterior podría ser que hemos creado un volumen replicado (réplica) llamado repl-vol . El número 2 en el comando indica el recuento de rayas, lo que significa que al expandir este volumen siempre debemos agregar el número de ladrillos igual al conteo múltiple del volumen (2, 4, 8 16 etc.).

Iniciar volumen de almacenamiento

Es hora de comenzar nuestro nuevo volumen replicado:

$ sudo Gluster Volume Start Repl-Vol
El volumen de inicio de repl-Vol ha sido exitoso

Verifique el estado:

almacenamiento.servidor1 $ sudo gluster volumen info repl-vole
Nombre del volumen: repl-vol
Tipo: replicar
Estado: iniciado
Número de ladrillos: 2
Tipo de transporte: TCP
Ladrillos:
Brick1: almacenamiento.servidor1:/reply-data
Brick2: almacenamiento.servidor2:/reply-data

Configuración del cliente

La configuración del cliente es la misma que cuando se configura el cliente para el montaje de volumen distribuido.

Instalar cliente:

almacenamiento.cliente $ sudo apt-get install glusterfs-client

Crea un punto de montaje:

almacenamiento.Cliente $ sudo mkdir /export-reple

Monte el volumen de glusterfs repl-vol con el montar dominio:

almacenamiento.Cliente $ sudo Montaje -T Glusterfs Storage.servidor1: repl-vol /export-repleL

Todos los gritos estar ahora listos. Utilizar el montar Comando para ver si ha montado el volumen de Glusterfs correctamente:

$ Monte | Grep Glusterf

Prueba de configuración replicada de glusterfs

El punto del volumen de glusterfs replicado es que los datos se reflejarán sin problemas en todos los nodos. Así, al crear archivos en /export-replepl /

$ touch /export-repl /file1 file2 file3 file4

Todos los archivos estarán disponibles en ambos servidores:

almacenamiento.servidor1 $ ls /reply-data /
file1 file2 file3 file4

y

almacenamiento.servidor2 $ ls /reply-data /
file1 file2 file3 file4

Volúmenes Glusterfs en expansión

En el caso de que necesite ampliar su almacenamiento de datos para incluir ladrillos adicionales, el proceso es simple:

$ sudo Gluster Volumen Add-Brick Rep-Vol Storage.servidor3:/repl-vol Storage.servidor4: repl-vol /export-repliat

Esto agregará otros dos ladrillos de almacenamiento a su vol. Una vez que agregue nuevos ladrillos, es posible que necesite volver a equilibrar todo el volumen con:

$ sudo Gluster Volume Reple Repl-Vol Fix-Layout Start

y sincronizar / migrar todos los datos con:

$ sudo Gluster Volume Beralance Repl-Vol Migrate-Data Start

Además, puede verificar el progreso de reequilibrio con

$ sudo gluster volumen reequilibre vol0 estado

Configuraciones de seguridad

Además de la configuración anterior, puede hacer que todo el volumen sea más seguro permitiendo que solo ciertos hosts se unan al grupo de confianza. Por ejemplo, si solo queremos el anfitrión con 10.1.1.10 para que se permita participar en el volumen repl-vole usamos el siguiente comando Linux:

$ sudo Gluster Volume Set Repl-Vol Auth.Permitir 10.1.1.10

En el caso de que necesitemos toda la subred, simplemente use Asterisk:

$ sudo Gluster Volume Set Repl-Vol Auth.Permitir 10.1.1.*

Conclusión

Glusterfs es un poderoso software con licencia GPL3. También se puede usar como una RAID 1 rápida RAID 1 definiendo dos ladrillos de dispositivos físicos separados en el host único en el volumen replicado de Glusterfs. Por supuesto, sería mejor usar la redada de software para ese trabajo, pero aún así la posibilidad es. Encontré Glusterfs fácil de usar y configurar.

Apéndice

Aquí solo enumeraré algunos errores y respuestas que encontré mientras jugaba con Glusterfs:

Número incorrecto de ladrillos

Número incorrecto de ladrillos suministrados 1 para el tipo de réplica con el conteo 2

Si ha creado un volumen con Stripe Count 2, debe agregar al menos 2 ladrillos adicionales en ese momento.

Almacenamiento del anfitrión.servidor1 no un amigo

Almacenamiento del anfitrión.servidor1 no un amigo

Primero agregue el servidor Glusterfs al grupo de confianza antes de intentar incluirlo en el volumen.

Cómo reproducir el formato WMV en el códec de video de alias de Linux no disponible
Recientemente intenté abrir un archivo WMV (Microsoft ASF) usando VLC. VLC no pudo abrir la transmisión de video, así que intenté un par de reproducto...
El sistema de gestión de contenido de Joomla Docker Implementación y uso
El sistema de gestión de contenido de Joomla Docker Implementación y uso...
At- Página Manual
Nombre AT, Batch, ATQ, ATRM -Queue, Examine o Elimine trabajos para la sinopsis de ejecución posterior en [-V] [-q Queue] [-f archivo] [-mldbv] tiempo...