Introducción
- 1557
- 158
- Sta. Enrique Santiago
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:
- almacenamiento.Server1 - servidor de almacenamiento GLUTERFS
- almacenamiento.Server2 - Server de almacenamiento GLUSTERFS
- almacenamiento.Cliente - Cliente de almacenamiento GLUSTERFS
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 ladrillos nuevos, 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.
Tutoriales de Linux relacionados:
- Espejos de ubuntu
- Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
- Cosas para instalar en Ubuntu 20.04
- Una introducción a la automatización, herramientas y técnicas de Linux
- Cosas que hacer después de instalar Ubuntu 22.04 Jellyfish de Jammy ..
- Cómo usar ADB Android Debug Bridge para administrar su Android ..
- Ubuntu 20.04 Guía
- Descarga del archivo WGet en Linux
- Cosas para instalar en Ubuntu 22.04
- Ubuntu 22.04 Copia de seguridad y restauración del sistema