Modo de clúster del sistema de archivos distribuido GlusterFS

1.Descripción general de GlusterFS

GlusterFS es el núcleo de Gluster, la solución de almacenamiento escalable. Es un sistema de archivos distribuido de código abierto con una fuerte escalabilidad horizontal, capaz de soportar una capacidad de almacenamiento de múltiples PB y procesar miles de clientes mediante expansión. GlusterFS utiliza redes TCP/IP o InfiniBand RDMA para reunir recursos de almacenamiento distribuidos físicamente y utilizar un único espacio de nombres global para administrar los datos. GlusterFS se basa en un diseño de espacio de usuario apilable que proporciona un rendimiento excelente para una variedad de cargas de datos diferentes.
GlusterFS admite clientes estándar que ejecutan aplicaciones estándar en cualquier red IP estándar. Como se muestra en la Figura 2, los usuarios pueden usar protocolos estándar como NFS/CIFS para acceder a los datos de la aplicación en un espacio de nombres unificado globalmente. GlusterFS permite a los usuarios deshacerse del sistema de almacenamiento cerrado original, independiente y de alto costo, y utilizar dispositivos de almacenamiento ordinarios y económicos para implementar administración centralizada, expansión horizontal y grupos de almacenamiento virtualizados, cuya capacidad de almacenamiento se puede expandir al nivel TB/PB. Las características principales de GlusterFS son las siguientes:

l?Escabilidad y alto rendimiento

GlusterFS aprovecha funciones duales para proporcionar soluciones de almacenamiento altamente escalables desde terabytes hasta petabytes. La arquitectura Scale-Out permite mejorar la capacidad de almacenamiento y el rendimiento simplemente agregando recursos. Los recursos de disco, computación y E/S se pueden agregar de forma independiente, admitiendo interconexiones de red de alta velocidad como 10GbE e InfiniBand. Gluster Elastic Hash libera a GlusterFS de la necesidad de servidores de metadatos, elimina puntos únicos de falla y cuellos de botella en el rendimiento y realmente logra el acceso a datos paralelos.

l Alta disponibilidad

GlusterFS puede replicar archivos automáticamente, como duplicación o copias múltiples, asegurando que los datos estén siempre accesibles, incluso en caso de falla del hardware. La autorreparación restaura los datos a su estado correcto y las reparaciones se realizan de forma incremental en segundo plano prácticamente sin carga de rendimiento. GlusterFS no diseña su propio formato de archivo de datos privados, sino que utiliza sistemas de archivos de disco estándar convencionales en los sistemas operativos (como EXT3, ZFS) para almacenar archivos, de modo que se puedan copiar y acceder a los datos utilizando varias herramientas estándar.

l Espacio de nombres unificado global

El espacio de nombres unificado global agrega recursos de disco y memoria en un único grupo de almacenamiento virtual, protegiendo el hardware físico subyacente de las aplicaciones y usuarios de la capa superior. Los recursos de almacenamiento se pueden expandir de manera flexible en un grupo de almacenamiento virtual según sea necesario, como expandirse o reducirse. Al almacenar imágenes de máquinas virtuales, no hay límite en la cantidad de archivos de imágenes virtuales que se pueden almacenar y miles de máquinas virtuales comparten datos a través de un único punto de montaje. La E/S de la máquina virtual se puede equilibrar automáticamente la carga en todos los servidores del espacio de nombres, eliminando los puntos de acceso y los cuellos de botella de rendimiento que a menudo ocurren en entornos SAN.

l Algoritmo hash elástico

GlusterFS utiliza algoritmos de hash elásticos para localizar datos en grupos de almacenamiento en lugar de índices de servidores de metadatos centralizados o distribuidos. En otros sistemas de almacenamiento escalables, los servidores de metadatos a menudo causan cuellos de botella en el rendimiento de E/S y puntos únicos de falla. En GlusterFS, todos los sistemas de almacenamiento en configuraciones de almacenamiento escalables pueden ubicar de manera inteligente cualquier fragmento de datos sin mirar el índice ni consultar otros servidores. Este mecanismo de diseño paraleliza completamente el acceso a los datos, logrando un verdadero escalamiento lineal del rendimiento.

l Gestión de volumen elástico

Los datos se almacenan en volúmenes lógicos, que se pueden particionar lógicamente de forma independiente desde un grupo de almacenamiento físico virtualizado. Los servidores de almacenamiento se pueden agregar y eliminar en línea sin interrumpir la aplicación. Los volúmenes lógicos se pueden aumentar y reducir en todos los servidores configurados, moverse entre servidores para equilibrar la capacidad o agregar y eliminar sistemas, todo en línea. Los cambios en la configuración del sistema de archivos también se pueden realizar y aplicar en línea en tiempo real, lo que permite la adaptación a las condiciones cambiantes de la carga de trabajo o el ajuste del rendimiento en línea.

l Basado en protocolos estándar

El servicio de almacenamiento Gluster admite los protocolos nativos NFS, CIFS, HTTP, FTP y Gluster, y es totalmente compatible con los estándares POSIX. Las aplicaciones existentes pueden acceder a los datos en Gluster sin realizar modificaciones ni utilizar API dedicadas. Esto es muy útil al implementar Gluster en un entorno de nube pública. Gluster abstrae la API específica del proveedor de servicios en la nube y luego proporciona una interfaz POSIX estándar.

2. Objetivos de diseño

La filosofía de diseño de GlusterFS es significativamente diferente de los sistemas de archivos distribuidos, en clúster o paralelos existentes. Si GlusterFS no logra un gran avance en diseño, será difícil obtener una ventaja en la competencia con Lustre, PVFS2, Ceph, etc., y mucho menos competir con GPFS, StorNext, ISILON, IBRIX y otros sistemas de archivos comerciales con muchos años de acumulación de tecnología y acumulación de mercado. Sus principales objetivos de diseño incluyen los tres siguientes:

lSistema de almacenamiento elástico (Elasticidad)

La elasticidad del sistema de almacenamiento significa que las empresas pueden aumentar o disminuir de manera flexible el almacenamiento de datos y agregar o eliminar recursos en el grupo de almacenamiento según las necesidades comerciales sin interrumpir el funcionamiento del sistema. Uno de los objetivos de diseño de GlusterFS es la elasticidad, permitiendo la adición y eliminación dinámica de volúmenes de datos, la expansión o reducción de volúmenes de datos, la adición y eliminación de servidores de almacenamiento, etc., sin afectar el funcionamiento normal del sistema y los servicios comerciales. Las primeras versiones de GlusterFS carecían de flexibilidad y algunos trabajos de gestión requerían interrupciones del servicio. La última versión 3.1. GlusterFS logra este objetivo de diseño principalmente mediante tecnología de virtualización de almacenamiento y gestión de volúmenes lógicos.

Escalado lineal

La expansión lineal es muy difícil de lograr para los sistemas de almacenamiento. Por lo general, la relación entre la expansión de escala del sistema y la mejora del rendimiento es una curva logarítmica LOG, porque las cargas correspondientes se generarán al mismo tiempo y parte de la mejora del rendimiento se consumirá. Muchos sistemas de archivos paralelos/en clúster/distribuidos actuales tienen una alta escalabilidad: los nodos de almacenamiento de Lustre pueden alcanzar más de 1000 y el número de clientes puede llegar a más de 25 000. Esta escalabilidad es muy poderosa, pero Lustre no se expande linealmente.

La expansión vertical (Scale-Up) tiene como objetivo aumentar la capacidad de almacenamiento o el rendimiento de un solo nodo, pero a menudo existen varias limitaciones teóricas o físicas que no pueden satisfacer las necesidades de almacenamiento. La expansión horizontal (Scale-Out) mejora la capacidad o el rendimiento de todo el sistema mediante la adición de nodos de almacenamiento. Este mecanismo de expansión es un punto de acceso actual en la tecnología de almacenamiento y puede responder eficazmente a los requisitos de almacenamiento, como la capacidad y el rendimiento. La mayoría de los sistemas de archivos distribuidos, paralelos o en clúster actuales tienen capacidades de expansión horizontal.

GlusterFS es una arquitectura de escalamiento lineal que puede lograr capacidad de almacenamiento lineal y mejoras de rendimiento mediante el escalamiento horizontal de nodos de almacenamiento. Por lo tanto, combinado con la expansión vertical de GlusterFS, se pueden obtener capacidades de expansión multidimensional. Aumentar el disco de cada nodo puede aumentar la capacidad de almacenamiento. Agregar nodos de almacenamiento puede mejorar el rendimiento, reuniendo así más recursos de disco, memoria y E/S. en mayor capacidad y mayor rendimiento Rendimiento de los pools de almacenamiento virtual. GlusterFS aprovecha tres tecnologías básicas para lograr capacidades de escalamiento lineal:

1)??? Eliminar servicios de metadatos

2)??? Distribución eficiente de datos para lograr escalabilidad y confiabilidad

3)??? Maximizar el rendimiento mediante la paralelización de una arquitectura totalmente distribuida

l?Alta confiabilidad (Confiabilidad)

Al igual que GFS (sistema de archivos de Google), GlusterFS se puede construir en servidores y dispositivos de almacenamiento comunes, por lo que la confiabilidad es particularmente crítica. GlusterFS ha incorporado la confiabilidad en su diseño central desde el principio y utiliza una variedad de tecnologías para lograr este objetivo de diseño. En primer lugar, se supone que las fallas son eventos normales, incluidos hardware, disco, fallas de red y corrupción de datos causada por una mala operación del administrador. GlusterFS está diseñado para admitir funciones de replicación y reparación automáticas para garantizar la confiabilidad de los datos sin la intervención del administrador. En segundo lugar, GlusterFS utiliza la función de registro de los sistemas de archivos de disco subyacentes, como EXT3/ZFS, para proporcionar un cierto grado de confiabilidad de los datos sin reinventar la rueda. En tercer lugar, GlusterFS es un diseño de servidor sin metadatos, que no requiere sincronización de metadatos ni mantenimiento de coherencia, lo que reduce en gran medida la complejidad del sistema y no solo mejora el rendimiento, sino que también mejora en gran medida la confiabilidad del sistema.

3.???Características técnicas

La implementación técnica de GlusterFS es significativamente diferente de los sistemas de almacenamiento tradicionales u otros sistemas de archivos distribuidos existentes, lo que se refleja principalmente en los siguientes aspectos.

l?Implementación completa del software (solo software)

GlusterFS considera que el almacenamiento es un problema de software que no se puede resolver limitando a los usuarios a un proveedor o configuración de hardware específicos. GlusterFS adopta un diseño abierto y admite ampliamente equipos informáticos, de redes y de almacenamiento estándar de la industria, en lugar de incluir equipos de hardware especializados personalizados. Para los clientes comerciales, GlusterFS puede entregarse como un dispositivo virtual, empaquetado con un contenedor de máquina virtual o como una imagen implementada en la nube pública. En la comunidad de código abierto, GlusterFS se implementa ampliamente en varios sistemas operativos basados ​​en hardware inactivo barato, formando un grupo de recursos de almacenamiento virtual centralizado y unificado. En resumen, GlusterFS es una implementación abierta de software que es completamente independiente del hardware y los sistemas operativos.

Pila completa del sistema operativo de almacenamiento

GlusterFS no solo proporciona un sistema de archivos distribuido, sino que también proporciona muchas otras funciones distribuidas importantes, como administración de memoria distribuida, programación de E/S, RAID suave y autorreparación. GlusterFS se basa en la experiencia y las lecciones de la arquitectura microkernel y las ideas de diseño del sistema operativo GNU/Hurd para implementar una pila completa de sistema operativo de almacenamiento en el espacio del usuario.

l?Implementación del espacio de usuario (Espacio de usuario)

A diferencia de los sistemas de archivos tradicionales, GlusterFS se implementa en el espacio del usuario, lo que hace que su instalación y actualización sea particularmente sencilla. Además, esto también reduce en gran medida el umbral para que los usuarios normales modifiquen GlusterFS en función del código fuente. Solo requiere habilidades generales de programación en C y no requiere experiencia especial en programación del kernel.

l?Arquitectura modular apilable

GlusterFS adopta una arquitectura modular y apilada y puede admitir entornos de aplicaciones altamente personalizados a través de una configuración flexible, como almacenamiento de archivos grandes, almacenamiento masivo de archivos pequeños, almacenamiento en la nube, aplicaciones de protocolo de transmisión múltiple, etc. Cada función se implementa en forma de módulos, y luego combinaciones simples en forma de bloques de construcción pueden realizar funciones complejas. Por ejemplo, el módulo Replicate puede implementar RAID1, el módulo Stripe puede implementar RAID0 y la combinación de los dos puede lograr RAID10 y RAID01, logrando un alto rendimiento y alta confiabilidad al mismo tiempo.

l?Datos almacenados en formatos nativos

GlusterFS almacena datos en formatos de datos originales (como EXT3, EXT4, XFS, ZFS) e implementa una variedad de mecanismos automáticos de reparación de datos. Como resultado, el sistema es extremadamente resistente y se puede acceder a los archivos a través de otras herramientas estándar incluso sin conexión. Si los usuarios necesitan migrar datos desde GlusterFS, aún pueden utilizarlos por completo sin realizar ninguna modificación.

l? Sin metadatos con el algoritmo Hash elástico

Para los sistemas de almacenamiento de escalamiento horizontal, uno de los mayores desafíos es registrar la relación de mapeo entre la lógica de los datos y la ubicación física, es decir, los metadatos de los datos, que también pueden incluir información como atributos y permisos de acceso. Los sistemas de almacenamiento distribuido tradicionales utilizan servicios de metadatos centralizados o distribuidos para mantener los metadatos. Los servicios de metadatos centralizados pueden provocar puntos únicos de falla y cuellos de botella en el rendimiento, mientras que los servicios de metadatos distribuidos tienen problemas de coherencia en la carga de rendimiento y la sincronización de metadatos. Especialmente para aplicaciones con archivos pequeños y masivos, la cuestión de los metadatos es un desafío muy grande.

GlusterFS adopta de forma única el diseño de un servicio libre de metadatos, en lugar de utilizar algoritmos para localizar archivos. Los metadatos y los datos no se separan, sino que se almacenan juntos. Todos los servidores del sistema de almacenamiento en el clúster pueden localizar de manera inteligente fragmentos de datos de archivos simplemente aplicando algoritmos basados ​​en nombres y rutas de archivo, sin la necesidad de consultar índices u otros servidores. Esto permite la paralelización total del acceso a los datos, lo que da como resultado un verdadero escalamiento lineal del rendimiento. El servidor libre de metadatos mejora enormemente el rendimiento, la confiabilidad y la estabilidad de GlusterFS.

4.??? Arquitectura y diseño general

La arquitectura general y los componentes de GlusterFS se muestran en la Figura 2. Consiste principalmente en un servidor de almacenamiento (Brick Server), un cliente y una puerta de enlace de almacenamiento NFS/Samba. No es difícil descubrir que en la arquitectura GlusterFS no existe ningún componente de servidor de metadatos: esta es su característica de diseño más importante y tiene una importancia decisiva para mejorar el rendimiento, la confiabilidad y la estabilidad de todo el sistema. GlusterFS admite interconexión de red de alta velocidad TCP/IP e InfiniBand RDMA. Los clientes pueden acceder a los datos a través del protocolo nativo Glusterfs. Otros terminales que no ejecutan clientes GlusterFS pueden acceder a los datos a través de la puerta de enlace de almacenamiento a través del protocolo estándar NFS/CIFS.

El servidor de almacenamiento proporciona principalmente funciones básicas de almacenamiento de datos y los datos del archivo final se distribuyen en diferentes servidores de almacenamiento mediante una estrategia de programación unificada. Glusterfsd se ejecuta en ellos y es responsable de manejar las solicitudes de servicios de datos de otros componentes. Como se mencionó anteriormente, los datos se almacenan directamente en el sistema de archivos local del servidor en su formato original, como EXT3, EXT4, XFS, ZFS, etc. La ruta de almacenamiento de datos se especifica al ejecutar el servicio. Varios servidores de almacenamiento pueden formar un clúster a través del administrador de volúmenes en el cliente o puerta de enlace de almacenamiento, como los clústeres de almacenamiento Stripe (RAID0), Replicate (RAID1) y DHT (Distributed Hash). También se pueden usar combinaciones anidadas para formar clústeres más complejos. , como RAID10.

Como no hay un servidor de metadatos, el cliente asume más funciones, incluida la gestión del volumen de datos, la programación de E/S, el posicionamiento de archivos, el almacenamiento en caché de datos y otras funciones. El proceso Glusterfs se ejecuta en el cliente, que en realidad es un enlace simbólico a Glusterfsd. El módulo FUSE (sistema de archivos en el espacio de usuario) se utiliza para montar GlusterFS en el sistema de archivos local para lograr un acceso compatible con POSIX a los datos del sistema. En la última versión 3.1. La carga del cliente GlusterFS es mayor que la de los sistemas de archivos distribuidos tradicionales, incluido el uso de CPU y memoria.

La puerta de enlace de almacenamiento GlusterFS proporciona gestión de volumen elástica y funciones de proxy de acceso NFS/CIFS. En él se ejecutan procesos Glusterd y Glusterfs, los cuales son enlaces simbólicos de Glusterfsd. El administrador de volúmenes es responsable de la creación, eliminación, expansión y reducción de capacidad, suavizado de capacidad y otras funciones de volúmenes lógicos, y es responsable de proporcionar información de volúmenes lógicos y funciones de notificación de actualizaciones activas a los clientes. GlusterFS 3.1.X implementa una gestión elástica y automatizada de volúmenes lógicos sin interrumpir los servicios de datos o los servicios de aplicaciones de capa superior. Para clientes Windows o clientes que no tienen GlusterFS instalado, se debe acceder a ellos a través de la puerta de enlace proxy NFS/CIFS. En este momento, la puerta de enlace está configurada como un servidor NFS o Samba. En comparación con el cliente nativo, el rendimiento de la puerta de enlace está restringido por NFS/Samba.

GlusterFS es un diseño de arquitectura de pila modular, como se muestra en la Figura 3. El módulo se llama Translator y es un poderoso mecanismo proporcionado por GlusterFS. Con la ayuda de esta interfaz bien definida, la funcionalidad del sistema de archivos se puede ampliar de manera eficiente y sencilla. Las interfaces del módulo de servidor y cliente son compatibles y se puede cargar el mismo traductor en ambos lados al mismo tiempo. Cada traductor es una biblioteca dinámica SO, que se carga dinámicamente según la configuración durante el tiempo de ejecución. Cada módulo implementa una función básica específica. Todas las funciones en GlusterFS se implementan a través de traductores, como clúster, almacenamiento, rendimiento, protocolo, características, etc. Los módulos básicos y simples pueden lograr funciones complejas mediante la combinación de pilas. Esta idea de diseño se basa en el diseño del sistema de archivos virtual del micronúcleo GNU/Hurd, que puede convertir el acceso a sistemas externos en llamadas apropiadas al sistema de destino. La mayoría de los módulos se ejecutan en el lado del cliente, como sintetizadores, programadores de E/S y optimización del rendimiento, etc. El lado del servidor es relativamente simple. Tanto el cliente como el servidor de almacenamiento tienen sus propias pilas de almacenamiento, formando un árbol de funciones de Translator y aplicando varios módulos. El diseño de arquitectura modular y apilada reduce en gran medida la complejidad del diseño del sistema y simplifica la implementación, las actualizaciones y el mantenimiento del sistema.

5.??? Algoritmo hash elástico

Para los sistemas distribuidos, el procesamiento de metadatos es la clave para determinar la escalabilidad, el rendimiento y la estabilidad del sistema. GlusterFS adopta un enfoque diferente, abandona por completo los servicios de metadatos y utiliza algoritmos hash elásticos para reemplazar los servicios de metadatos centralizados o distribuidos en los sistemas de archivos distribuidos tradicionales. Esto resuelve fundamentalmente el problema de los metadatos, logrando así una alta escalabilidad casi lineal y al mismo tiempo mejora el rendimiento y la confiabilidad del sistema. GlusterFS utiliza algoritmos para la ubicación de datos. Cualquier servidor y cliente en el clúster puede ubicar, leer y escribir datos solo según la ruta y el nombre del archivo. En otras palabras, GlusterFS no requiere la separación de metadatos y datos porque el posicionamiento de los archivos se puede paralelizar de forma independiente. El proceso de acceso a datos en GlusterFS es el siguiente:

1. Calcule el valor hash y los parámetros de entrada son la ruta del archivo y el nombre del archivo;

2. Seleccione un subvolumen (servidor de almacenamiento) en el clúster según el valor hash y ubique el archivo;

3. Realice el acceso a los datos en el subvolumen seleccionado.

GlusterFS utiliza actualmente el algoritmo Davies-Meyer para calcular el valor hash del nombre del archivo y obtener un número entero de 32 bits. El algoritmo Davies-Meyer tiene una muy buena distribución hash y es muy eficiente desde el punto de vista computacional. Suponiendo que hay N servidores de almacenamiento en el volumen lógico, el espacio entero de 32 bits se divide uniformemente en N subespacios consecutivos y cada espacio se asigna a un servidor de almacenamiento. De esta forma, el valor hash de 32 bits calculado se proyectará a un servidor de almacenamiento, es decir, el subvolumen que queremos seleccionar. ¿Es realmente así de simple? Ahora consideremos la adición y eliminación de nodos de almacenamiento, el cambio de nombre de archivos, etc. ¿Cómo resuelve GlusterFS estos problemas y lo hace flexible?

Cuando se agrega un nuevo nodo de almacenamiento al volumen lógico, si no se realiza ningún otro procesamiento, el espacio de asignación del valor hash cambiará y el directorio de archivos existente puede reubicarse en otros servidores de almacenamiento, lo que provocará una falla de ubicación. La solución al problema es redistribuir el directorio de archivos y mover los archivos al servidor de almacenamiento correcto, pero esto aumenta considerablemente la carga del sistema, especialmente para los sistemas de almacenamiento masivo que ya almacenan grandes cantidades de datos. Obviamente, no es factible. Otro método es utilizar un algoritmo hash consistente para modificar el espacio de mapeo hash del nuevo nodo y los nodos adyacentes. Solo una parte de los datos de los nodos adyacentes necesita moverse al nuevo nodo y el impacto es relativamente pequeño. Sin embargo, esto trae otro problema, es decir, la carga general del sistema está desequilibrada. GlusterFS no adoptó los dos métodos anteriores, pero diseñó un algoritmo más flexible. La distribución hash de GlusterFS se basa en el directorio como unidad básica. El directorio principal del archivo utiliza atributos extendidos para registrar la información de mapeo del subvolumen, y los directorios de subarchivos a continuación se distribuyen en el servidor de almacenamiento al que se encuentra el directorio principal. pertenece. Dado que el directorio de archivos guarda la información de distribución por adelantado, el nuevo nodo no afectará la distribución del almacenamiento de archivos existente y comenzará a participar en la programación de la distribución del almacenamiento desde el directorio recién creado. Con este diseño, los nuevos nodos no necesitan mover ningún archivo, pero el equilibrio de carga no se suaviza y los nodos antiguos están muy cargados. GlusterFS tiene en cuenta este problema en su diseño: al crear un nuevo archivo, dará prioridad al nodo con la carga de capacidad más ligera y creará un enlace de archivo en el nodo de almacenamiento de destino directamente al nodo donde realmente está almacenado el archivo. Además, la herramienta de administración de volúmenes elásticos GlusterFS puede realizar el suavizado de carga manualmente en segundo plano, moviendo y redistribuyendo archivos, después de lo cual se programarán todos los servidores de almacenamiento.

Actualmente, GlusterFS tiene soporte limitado para eliminar nodos de almacenamiento y aún no es completamente ininterrumpido. Si elimina el nodo directamente, los archivos en el servidor de almacenamiento no serán examinados ni accesibles, y la creación del directorio de archivos también fallará. Actualmente existen dos soluciones manuales: una es volver a copiar los datos del nodo a GlusterFS y la otra es usar un nuevo nodo para reemplazar el nodo eliminado y conservar los datos originales.

Si se cambia el nombre de un archivo, obviamente el algoritmo hash producirá valores diferentes y es muy probable que el archivo se ubique en un servidor de almacenamiento diferente, lo que provocará una falla en el acceso al archivo. Al utilizar el método de movimiento de datos, es difícil completarlo en tiempo real para archivos grandes. Para no afectar el rendimiento y la interrupción del servicio, GlusterFS utiliza enlaces de archivos para resolver el problema del cambio de nombre de archivos. Se crea un enlace en el servidor de almacenamiento de destino para apuntar al servidor de almacenamiento real, y el sistema lo resuelve y redirige cuando se accede. Además, la migración de archivos se realiza en segundo plano al mismo tiempo y el enlace del archivo se eliminará automáticamente después del éxito. Se realiza un procesamiento similar para el movimiento de archivos, la ventaja es que la operación en primer plano se puede procesar en tiempo real y la migración de datos físicos se coloca en segundo plano y se ejecuta en el momento adecuado.

El algoritmo hash elástico asigna volúmenes lógicos a archivos, entonces, ¿cómo asigna GlusterFS volúmenes físicos a volúmenes lógicos? GlusterFS3.1.X implementa una gestión de volumen verdaderamente elástica, como se muestra en la Figura 4. Los volúmenes de almacenamiento son una abstracción del hardware subyacente y pueden ampliarse y reducirse según sea necesario, así como migrarse entre diferentes sistemas físicos. Los servidores de almacenamiento se pueden agregar y quitar en línea, y el equilibrio de carga de datos se puede realizar automáticamente entre clústeres. Los datos siempre están disponibles en línea sin interrupción de la aplicación. Las actualizaciones de la configuración del sistema de archivos también se pueden realizar en línea, y los cambios de configuración se pueden propagar rápida y dinámicamente por todo el clúster, adaptándose automáticamente a las fluctuaciones de carga y al ajuste del rendimiento.

??? El algoritmo hash elástico en sí no proporciona tolerancia a fallos de datos. GlusterFS utiliza duplicación o replicación para garantizar la disponibilidad de los datos. Se recomienda la duplicación o replicación de 3 vías. En el modo de replicación, el servidor de almacenamiento utiliza replicación de escritura síncrona en otros servidores de almacenamiento y una falla de un solo servidor es completamente transparente para el cliente. Además, GlusterFS no limita la cantidad de copias y las lecturas se distribuyen a todos los nodos de almacenamiento espejo, lo que puede mejorar el rendimiento de lectura. El algoritmo de hash elástico asigna archivos a volúmenes lógicos únicos y la replicación garantiza que los datos se almacenen en al menos dos nodos de almacenamiento diferentes. La combinación de los dos hace que GlusterFS sea más elástico.

6.??? Traductores

Como se mencionó anteriormente, los traductores son un poderoso mecanismo de extensión de funciones del sistema de archivos proporcionado por GlusterFS. Esta idea de diseño está tomada del sistema operativo de micronúcleo GNU/Hurd. Todas las funciones en GlusterFS se implementan a través del mecanismo Translator, que se carga como una biblioteca dinámica en tiempo de ejecución, y el servidor y el cliente son compatibles entre sí. GlusterFS 3.1.X incluye principalmente los siguientes tipos de traductores:

(1) Clúster: distribución del clúster de almacenamiento, actualmente existen tres métodos: AFR, DHT y Stripe.

(2) Depurar: realizar un seguimiento de las funciones internas de GlusterFS y de las llamadas al sistema

(3) Cifrado: implementación de cifrado de datos simple

(4) Funciones: control de acceso, bloqueo, compatibilidad con Mac, silencio, cuota, solo lectura, papelera de reciclaje, etc.

(5) Mgmt: Gestión de volumen elástico

(6) Montaje: implementación de la interfaz FUSE

(7)?Nfs: servidor NFS interno

(8) Rendimiento: io-cache, io-threads, lectura rápida, lectura anticipada, stat-prefetch, sysmlink-cache, escritura retrasada y otras optimizaciones de rendimiento

(9) Protocolo: implementación del protocolo de servidor y cliente

(10) Almacenamiento: implementación de la interfaz POSIX del sistema de archivos subyacente

Aquí nos centramos en los traductores de clúster, que son el núcleo de la realización del almacenamiento en clúster de GlusterFS e incluyen tres tipos: AFR (replicación automática de archivos), DHT (tabla hash distribuida) y Stripe.

AFR es equivalente a RAID1. Se retienen múltiples copias del mismo archivo en múltiples nodos de almacenamiento. Se utiliza principalmente para lograr alta disponibilidad y reparación automática de datos. Todos los subvolúmenes de AFR tienen el mismo espacio de nombres. Al buscar archivos, se comienza desde el primer nodo hasta que la búsqueda es exitosa o se busca el último nodo. Al leer datos, AFR programará todas las solicitudes a todos los nodos de almacenamiento y realizará un equilibrio de carga para mejorar el rendimiento del sistema. Al escribir datos, primero debe bloquear el archivo en todos los servidores de bloqueo. De forma predeterminada, el primer nodo es el servidor de bloqueo y se pueden especificar varios nodos. Luego, AFR escribe datos en todos los servidores en forma de eventos de registro. Después del éxito, los registros se eliminan y desbloquean. AFR detecta y repara automáticamente inconsistencias de datos en el mismo archivo, utilizando registros de cambios para determinar buenas copias de datos. La reparación automática se activa cuando se accede al directorio de archivos por primera vez. Si es un directorio, los datos correctos se copiarán en todos los subvolúmenes. Si el archivo no existe, se creará. Si la información del archivo no coincide , será reparado. Si el registro indica una actualización, se actualizará.

DHT es el algoritmo hash elástico presentado anteriormente: utiliza el método hash para distribuir datos y el espacio de nombres se distribuye en todos los nodos. Al buscar archivos, se utiliza el algoritmo hash elástico y no depende de espacios de nombres. Sin embargo, al atravesar el directorio de archivos, la implementación es más compleja e ineficiente y es necesario buscar en todos los nodos de almacenamiento. Un solo archivo solo se programará en un nodo de almacenamiento único. Una vez ubicado el archivo, el modo de lectura y escritura es relativamente simple. DHT no tiene tolerancia a fallas y necesita usar AFR para lograr alta disponibilidad, como se muestra en el caso de aplicación en la Figura 5.

Stripe es equivalente a RAID0, que es almacenamiento fragmentado. Los archivos se dividen en fragmentos de datos de longitud fija y se almacenan en todos los nodos de almacenamiento en una rotación Round-Robin. Todos los nodos de almacenamiento en Stripe forman un espacio de nombres completo. Al buscar un archivo, es necesario consultar todos los nodos, lo cual es muy ineficiente. Al leer y escribir datos, Stripe involucra todos los nodos de almacenamiento fragmentados y las operaciones se pueden ejecutar simultáneamente entre varios nodos, con un rendimiento muy alto. Stripe se usa generalmente en combinación con AFR para formar RAID10/RAID01 para lograr alto rendimiento y alta disponibilidad al mismo tiempo. Por supuesto, la utilización del almacenamiento será inferior al 50%.

7.??? Discusión de diseño

GlusterFS es un sistema de archivos distribuido elástico con alta escalabilidad, alto rendimiento, alta disponibilidad y escalabilidad horizontal. Tiene características de diseño arquitectónico únicas, como diseño de servidor sin metadatos, arquitectura de pila, etc. Sin embargo, los problemas de las aplicaciones de almacenamiento son muy complejos y GlusterFS no puede satisfacer todas las necesidades de almacenamiento, debe haber deficiencias en el diseño y la implementación, hagamos un breve análisis a continuación.

l? No hay servidor de metadatos versus servidor de metadatos

El beneficio del diseño de servidor libre de metadatos es que no existe un punto único de falla ni problemas de cuellos de botella en el rendimiento, lo que puede mejorar la escalabilidad, el rendimiento, la confiabilidad y la estabilidad del sistema. Para aplicaciones con archivos pequeños y masivos, este diseño puede resolver eficazmente el difícil problema de los metadatos. Su impacto negativo es que los problemas de coherencia de los datos son más complicados, las operaciones de recorrido del directorio de archivos son ineficientes y faltan funciones globales de supervisión y gestión. Al mismo tiempo, también hace que el cliente asuma más funciones, como posicionamiento de archivos, almacenamiento en caché de espacios de nombres, mantenimiento de vistas de volúmenes lógicos, etc., lo que aumenta la carga en el cliente y ocupa una cantidad considerable de CPU y memoria.

l?Espacio de usuario vs espacio del kernel

El espacio de usuario es relativamente sencillo de implementar, requiere menos habilidades de desarrollador y su ejecución es relativamente segura. El espacio del usuario es ineficiente y los datos deben intercambiarse con el espacio del kernel varias veces. Además, GlusterFS utiliza FUSE para implementar la interfaz estándar del sistema de archivos, lo que resulta en una pérdida de rendimiento. La implementación del espacio del kernel puede lograr un alto rendimiento de datos. La desventaja es que la implementación y la depuración son muy difíciles y los errores del programa a menudo provocan fallas del sistema y baja seguridad. En términos de expansión vertical, el espacio del kernel es mejor que el espacio del usuario y GlusterFS tiene la capacidad de expansión horizontal para compensarlo.

l?Apilados versus no apilados

Esto es un poco como la batalla entre el diseño de microkernel y el diseño monokernel de sistemas operativos. El concepto de diseño de la pila GlusterFS se deriva del sistema operativo de microkernel GNU/Hurd. Tiene fuertes capacidades de expansión del sistema. La complejidad del diseño y la implementación del sistema se reduce considerablemente. La combinación de la pila de módulos funcionales básicos puede lograr funciones poderosas. Al observar el archivo de configuración del volumen GlusterFS, podemos encontrar que el árbol de funciones del traductor suele tener más de 10 capas de profundidad y se llama capa por capa, y la eficiencia es evidente. El diseño sin pila puede considerarse como un diseño de núcleo único similar a Linux: las llamadas al sistema se implementan mediante interrupciones, lo cual es muy eficiente. El problema con este último es que el núcleo del sistema está inflado, es complejo de implementar y expandir y difícil de depurar cuando surgen problemas.

l?Formato de almacenamiento original versus formato de almacenamiento privado

GlusterFS utiliza el formato original para almacenar archivos o fragmentos de datos, a los que se puede acceder directamente mediante varias herramientas estándar, tiene buena interoperabilidad de datos y es muy conveniente para la migración y la gestión de datos. Sin embargo, la seguridad de los datos se convierte en un problema porque los datos se almacenan de manera mundana y pueden ser copiados y vistos directamente por quienes entran en contacto con ellos. Obviamente, esto es inaceptable para muchas aplicaciones, como los sistemas de almacenamiento en la nube. Los usuarios están particularmente preocupados por la seguridad de los datos, lo que también es una razón importante que afecta el desarrollo del almacenamiento en la nube pública. El formato de almacenamiento privado puede garantizar la seguridad de los datos, incluso si se filtran, se desconocen. GlusterFS necesita implementar su propio formato privado, que es relativamente complejo en diseño, implementación y gestión de datos, y también tendrá un cierto impacto en el rendimiento.

l?Archivos grandes versus archivos pequeños

¿GlusterFS es adecuado para el almacenamiento de archivos grandes o pequeños? El algoritmo hash elástico y la estrategia de distribución de datos Stripe eliminan las dependencias de metadatos, optimizan la distribución de datos, mejoran el paralelismo del acceso a los datos y pueden mejorar en gran medida el rendimiento del almacenamiento de archivos de gran tamaño. Para archivos pequeños, el diseño del servicio sin metadatos resuelve el problema de los metadatos. Sin embargo, GlusterFS no se ha optimizado en términos de E/S. Todavía hay una gran cantidad de archivos pequeños en el sistema de archivos subyacente del servidor de almacenamiento. El acceso a los metadatos del sistema de archivos local es un cuello de botella y la distribución y el paralelismo de datos no pueden funcionar completamente. su función. Por lo tanto, GlusterFS es adecuado para almacenar archivos grandes, pero el rendimiento de archivos pequeños es deficiente y todavía hay mucho espacio para la optimización.

l?Disponibilidad versus utilización del almacenamiento

GlusterFS utiliza tecnología de replicación para proporcionar una alta disponibilidad de datos, no hay límite en el número de replicaciones y la función de reparación automática se basa en la replicación. La disponibilidad y la utilización del almacenamiento son una contradicción: alta disponibilidad significa baja utilización del almacenamiento y viceversa. Al utilizar la tecnología de replicación, la tasa de utilización del almacenamiento es 1/número de replicaciones, la duplicación es del 50 % y la replicación de tres vías es solo del 33 %. De hecho, existen formas de mejorar la disponibilidad y la utilización del almacenamiento al mismo tiempo. Por ejemplo, la tasa de utilización de RAID5 es (n-1)/n, RAID6 es (n-2)/n, y la tecnología de codificación de borrado puede proporcionar mayor utilización del almacenamiento. Sin embargo, no puedes quedarte con el pastel y comértelo también, ya que ambas cosas tendrán un mayor impacto en el rendimiento.

Además, la implementación actual del código de GlusterFS no es lo suficientemente buena, el sistema no es lo suficientemente estable y la cantidad de ERRORES es relativamente alta. A juzgar por la situación de implementación en su sitio web oficial, hay muchos usuarios de prueba, pero hay pocas aplicaciones reales en el entorno de producción. La capacidad de implementación de almacenamiento de varios TB a docenas de TB representa una gran proporción, y hay muy pocos casos de cientos. de TB a nivel PB. Esto también puede explicar desde otro aspecto que GlusterFS no es lo suficientemente estable en la actualidad y necesita más tiempo para probarlo. Sin embargo, es innegable que GlusterFS es un sistema de archivos en clúster con un futuro brillante. Su capacidad de expansión horizontal lineal le otorga una ventaja natural, especialmente para los sistemas de almacenamiento en la nube.

3. Introducción a la terminología
GlusterFS es un sistema de archivos distribuido de código abierto. Se presentan más funciones en la documentación de referencia del apéndice.

Brick: una unidad de almacenamiento en GFS que es un directorio de exportación de un servidor en un grupo de almacenamiento confiable. Puede identificarse por el nombre del host y el nombre del directorio, como 'SERVIDOR:EXPORTAR'
Cliente: Dispositivo con volumen GFS montado
Atributos extendidos: xattr es una característica del sistema de archivos que permite a los usuarios o programas asociar archivos/directorios y metadatos.
FUSE: Filesystem Userspace es un módulo del kernel cargable que permite a los usuarios sin privilegios crear sus propios sistemas de archivos sin modificar el código del kernel. Al ejecutar el código del sistema de archivos en el espacio del usuario, se conecta al kernel a través del código FUSE.
GFID de replicación geográfica
: cada archivo o directorio en un volumen GFS está asociado con datos únicos de 128 bits, que se utilizan para simular el inodo. Espacio de nombres:
cada volumen de Gluster exporta un único ns como punto de montaje POSIX.
Nodo: un dispositivo con varios ladrillos
RDMA: acceso remoto directo a la memoria, admite el acceso directo a la memoria sin pasar por el sistema operativo de ambas partes.
RRDNS: DNS round robin es un método para devolver diferentes dispositivos a través de la rotación de DNS para el equilibrio de carga.Autorreparación
: se utiliza para ejecutarse en segundo plano para detectar inconsistencias en archivos y directorios en volúmenes de réplica y resolver estas inconsistencias.
Cerebro dividido:
Traductor de cerebro dividido:
Volfile: El archivo de configuración del proceso glusterfs, generalmente ubicado en /var/lib/glusterd/vols/volname
Volumen: Una colección lógica de ladrillos

3. Conceptos y Algoritmos

1. Grupo de almacenamiento confiable

Una colección de nodos de almacenamiento
Creada "invitando" a otros nodos a través de un nodo, llamado aquí sonda Los
miembros se pueden agregar y eliminar dinámicamente.
El comando para agregar es el siguiente:
nodo1# gluster peer probe nodo2 El
comando de eliminación es el siguiente:
nodo1# gluster peer separe nodo3

2. Bricks
- Brick es una colección de nodos y un directorio de exportación, por ejemplo, nodo1:/brick1
- Brick es el RAID subyacente o el disco formateado por el sistema de archivos XFS o ext4, por lo que hereda las limitaciones del sistema de archivos
- Cada nodo es ¿Hay un número ilimitado de ladrillos
? La situación ideal es que todos los ladrillos de un grupo tengan el mismo tamaño.

3 、 volúmenes

El volumen es una combinación lógica de ladrillos
. Se identifica mediante el nombre cuando se crea
. El volumen es un directorio montable
. El número de ladrillos en cada nodo no cambia, por ejemplo,mount –t glusterfs www.std.com:test /mnt/gls.
Diferentes ladrillos en un nodo pueden pertenecer a diferentes volúmenes
Se admiten los siguientes tipos:
a) volumen distribuido
b) volumen seccionado
c) volumen replicado
d) volumen replicado distribuido
e) volumen replicado seccionado
f) rollo de replicación seccionado distribuido

3.1 Volúmenes distribuidos
¿La distribución de archivos existe en diferentes bloques
? Los directorios son visibles en cada bloque
? La falla de un solo bloque causará la pérdida de datos
? No se requiere un servidor de metadatos adicional

gluster是没有元数据服务器的,它定位文件和寻址都是通过哈希算法,这里使用的叫Davies-Meyer hash algorithm,可寻址空间为2^32次方,即0-4294967296,例如这里有四个节点,那么0-1073741824为node1的可寻址空间,1073741825-214748348为node2的可寻址空间,以此类推。访问一个文件时,通过文件名计算出一个地址,例如2142011129,属于1073741825-214748348,则将它存在node2中。

3.2 ¿Replicar volúmenes
? ¿Replicar sincrónicamente todos los directorios y archivos
? ¿Mantiene los datos altamente disponibles cuando falla un nodo
? ¿Operaciones transaccionales, mantiene la coherencia
? ¿Tiene un registro de cambios
? El número de copias se puede determinar arbitrariamente

3.3 Volumen de replicación distribuida
: el modo más común
: las operaciones de lectura pueden lograr el equilibrio de carga

3.4 Volumen seccionado
: los archivos se dividen en fragmentos y se almacenan en diferentes bloques.
Solo se recomienda usarlo para archivos muy grandes (más grandes que el tamaño del disco duro)
. La falla del bloque provocará la pérdida de datos. Se recomienda usarlo al mismo tiempo. al mismo tiempo que los volúmenes replicados.
Los fragmentos son archivos con agujeros, lo que ayuda a mantener la coherencia del desplazamiento.

4. Mecanismo de acceso

? ¿ Protocolo nativo basado en FUSE
? ¿ NFSv3
? ¿ PYME
? Libgfapi
? ¿Descanso/HTTP
? HDFS

4.1
Cuando el cliente nativo de acceso nativo basado en FUSE está conectado, al solicitar un determinado archivo, ubicará directamente el archivo en ese nodo o nodos, enviará la solicitud a esos nodos y completará la operación.

4.2 Acceso NFS El acceso
a través de otros protocolos como NFS o SMB no es tan sencillo. Primero debe pasar por una capa de servicios de equilibrio de carga, que pueden ser RRDNS y servicios HA. Estos servicios no los proporciona gluster y deben ser implementados por usted mismo. RRDNS es encontrar un nodo ligeramente cargado entre cada nodo para enviar la solicitud. HA puede usar ctdb u otros. Cuando el nodo al que se envía la solicitud falla, transferirá la solicitud a otro nodo. En resumen, busque un nodo con anticipación y envíele la solicitud. Aquí, la solicitud se completa a través del servidor NFS en el nodo, pero el archivo solicitado no está necesariamente en ese nodo, por lo que todavía queda un paso por seguir. que es enviarlo nuevamente a ese nodo. Encuentre dónde está el archivo y reubíquelo al nodo con el archivo para completar la operación. En comparación con el acceso del cliente nativo, puede ver que es mucho más complicado, por lo que el rendimiento del acceso NFS no es ideal.

4.3 libgfapi
Proporciona una interfaz de programación a través de la cual se pueden escribir y acceder a programas
Reduce el cambio de contexto
Integra qemu, samba y NFS Ganesha a través de esta interfaz
Proporciona interfaces sincrónicas y asincrónicas
Implementa el enlace de varios lenguajes


4.4 libgfapi v/sFUSE-Gluster de acceso a FUSE es un sistema de archivos de espacio de usuario que solo puede interactuar con el kernel a través de FUSE, por lo que los comandos pasados ​​son aceptados primero por el sistema de archivos virtual del kernel VFS, un dispositivo virtual registrado por FUSE /dev/ Fuse sabe que ha llegado una solicitud en este momento, por lo que la acepta y no la pasa al sistema de archivos subyacente XFS o EXT4.... Hay una serie de programas de lectura y escritura registrados por gluster en FUSE para procesar la solicitud y Complete esta serie de procesos de lectura y escritura, se transmite a través de la red, después de que el glusterfsd del nodo recibe la solicitud, completa la operación y luego transmite el resultado al cliente a través de la red, como se muestra en la siguiente figura:

4.5 Acceso a libgfapi v/sFUSE-libgfapi ¿
Por qué gluster proporciona una interfaz API para integrar aplicaciones en gluster? Porque NFS y SMB externos no pueden comunicarse con gluster por sí mismos. Solo pueden comunicarse con gluster a través de un fusible, que es un FUSE de fase líquida NFS. información, gluster también transfiere información a fuse, y se comunican. Esto es muy inconveniente y requiere pasar por la capa del núcleo. Esto consume muchos recursos y tiempo, y es innecesario. Sería bueno juntos, ¿verdad? Fuse es tan redundante. Entonces, a través de una interfaz encapsulada por el propio gluster, NFS, SMB, etc. se integran y están juntos, como se muestra en la figura siguiente, todo el proceso es mucho más fácil.

5. Pila de traductores personalizables

El traductor es equivalente al módulo funcional en gluster. Se agregan uno o más traductores para completar una función, como la configuración de caché, la configuración del número de subprocesos, la configuración relacionada con NFS integrada, etc. Los traductores se organizan capa por capa en el formulario de una pila., no desordenada.

6. Integración de ecosistemas

? OpenStack: Es muy famoso y puede entenderse como un conjunto de herramientas que le permiten disfrutar de nubes públicas, nubes privadas y otros servicios relacionados
? Samba: intercambio de recursos entre Windows y Unix
? Ganesha: escrito por un NFS indio en el espacio del usuario , este indio tiene un nombre impronunciable, que es el mismo que el dios indio de la sabiduría con trompa de elefante, llamado Ganesha
oVirt: almacenamiento virtualizado basado en KVM (Kernel-based Virtual Machine) Software de gestión
? qemu: también relacionado con la virtualización
? Hadoop : computación paralela distribuida, parte del ecosistema MapReduce


                                            GlusterFS的实验命令

1
disco /dev/sdb: 21,5 GB, 21474836480 bytes, 41943040 sectores
Unidades = sectores de 1 * 512 = 512 bytes
Tamaño del sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes
Tipo de etiqueta de disco: dos
Identificador de disco: 0x504b4536

Inicio Arranque Inicio Fin Bloques Id Sistema
/dev/sdb1 2048 10487807 5242880 83 Linux
/dev/sdb2 10487808 20973567 5242880 83 Linux /
dev/sdb3 20973568 31459327 5242880 83 Linux
/ dev/sdb4 31459328 41943039 5241856 5 Extendido
/dev/sdb5 31461376 41943039 5240832 83Linux

2Formato
:

mkfs.xfs /dev/sdb1
mkfs.xfs /dev/sdb2
mkfs.xfs /dev/sdb3
mkfs.xfs /dev/sdb5

3
mkdir /root/sdb{1…4}
montar /dev/sdb1 /root/sdb1
montar /dev/sdb2 /root/sdb2
montar /dev/sdb3 /root/sdb3
montar /dev/sdb5 /root/sdb4

/dev/sdb1 /root/sdb1 xfs predeterminado 0 0
/dev/sdb2 /root/sdb2 xfs predeterminado 0 0
/dev/sdb3 /root/sdb3 xfs predeterminado 0 0
/dev/sdb5 /root/sdb4 xfs predeterminado 0 0


systemctl detener firewalld
setenforce 0

nombre de host nodo1
vim /etc/hosts

192.168.100.100 nodo1
192.168.100.110 nodo2
192.168.100.120 nodo3
192.168.100.130 nodo4

Prepare el software yum warehouse
vim /etc/yum.repos.d/benet.repo
[benet]
name=ldsakl
baseurl=file:///root/gfsrepo
enable=1
gpgcheck=0

Instalación de GFS
yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma.x86_64

scp /etc/yum.repos.d/benet.repo [email protected]:/etc/yum.repos.d/

Inicie el servicio
systemctl start glusterd
systemctl enable glusterd

Ver relaciones de vecinos:
estado de pares de gluster

Agregar nodo
Sonda de pares de gluster nodo1
Sonda de pares de gluster nodo2
Sonda de pares de gluster nodo3
Sonda de pares de gluster nodo4


Cree un nuevo volumen distribuido
gluster volume create dis-v node1:/root/sdb1 node2:/root/sdb1 force

Ver volúmenes:
información de volumen de gluster dis-v

Crea un nuevo volumen rayado

volumen gluster crear stripe-v stripe 2 nodo1:/root/sdb2 nodo2:/root/sdb2 force

información de volumen de gluster stripe-v


Crear un nuevo volumen de replicación volumen
gluster crear rep-v réplica 2 nodo3:/root/sdb1 nodo4:/root/sdb1 force

información de volumen de gluster rep-v


Cree un nuevo volumen seccionado distribuido:

volumen gluster crear FBSTD-v stripe 2 nodo1:/root/sdb3 nodo2:/root/sdb3 nodo3:/root/sdb3 nodo4:/root/sdb3 force

Cree un nuevo volumen de replicación distribuida:
volumen gluster cree FBSFZ-v réplica 2 nodo1:/root/sdb4 nodo2:/root/sdb4 nodo3:/root/sdb4 nodo4:/root/sdb4 force

mkdir -p /1/dis-v
mkdir -p /1/stripe-v
mkdir -p /1/rep-v
mkdir -p /1/FBSTD-v
mkdir -p /1/FBSFZ-v

Inicie el volumen especificado
gluster volumen iniciar FBSFZ-v

Detener el volumen especificado
gluster volumen detener FBSFZ-v

Eliminar el volumen especificado
gluster volumen eliminar FBSFZ-v

Ver los volúmenes en la
lista de volúmenes de gluster del clúster

Ver información sobre el volumen especificado
gluster volumen información rep-v

Verifique el estado del volumen
gluster

vim /etc/fstab
nodo1:dis-v /1/dis-v glusterfs valores predeterminados,_netdev 0 0

volumen de gluster establecido dis-v auth.allow 192.168.100.*

Supongo que te gusta

Origin blog.csdn.net/m0_57207884/article/details/119727221
Recomendado
Clasificación