Mecanismo de trabajo MooseFS y análisis de ventajas y desventajas

1. Introducción a MooseFS

MooseFS es un sistema de archivos de red distribuido con redundancia y tolerancia a fallas. Almacena datos en múltiples servidores físicos o discos o particiones separados para garantizar que haya múltiples copias de respaldo de un dato. Para el cliente o usuario que accede, todo el clúster del sistema de archivos de red distribuido parece un recurso. De sus operaciones de archivos, MooseFS es equivalente a un sistema de archivos similar a UNIX.

2. Cuatro roles en la arquitectura MooseFS

  • Servidor de administración (Master Server): también conocido como servidor de metadatos, responsable de administrar cada servidor de almacenamiento de datos, programar lecturas y escrituras de archivos, recuperar espacio de archivos y recuperar copias de múltiples nodos. Actualmente, MFS solo admite un servidor maestro de metadatos, que es un punto único de falla y requiere un servidor estable para actuar.
  • Servidor Metalogger: es responsable de hacer una copia de seguridad del archivo de registro de cambios del servidor de administración. El tipo de archivo es changelog_ml. *. Mfs, para que pueda hacerse cargo cuando el servidor de administración tiene un problema. El servidor de registro de metadatos es un nuevo servicio agregado después de mfs 1.6 Los registros de metadatos se pueden guardar en el servidor de administración o se pueden almacenar por separado en un servidor. Para garantizar la seguridad y fiabilidad de los datos, se recomienda utilizar un servidor separado para almacenar registros de metadatos. Cabe señalar que el daemon de registro de metadatos está en el mismo servidor que el servidor de administración, y el servidor de registro de metadatos de respaldo es su cliente, y el archivo de registro se obtiene del servidor de administración para el respaldo.
  • Servidor de almacenamiento de datos (Chunk Server): el servidor de almacenamiento de datos es un servidor que realmente almacena los datos del usuario. Es responsable de conectarse al servidor de administración, obedecer la programación del servidor de administración, proporcionar espacio de almacenamiento y proporcionar transmisión de datos a los clientes. Al almacenar archivos, primero divida el archivo en bloques y luego cópielos entre servidores de almacenamiento de datos.
  • Cliente (Cliente): monte el servidor de almacenamiento de datos administrado en el servidor de administración remota a través de la interfaz del núcleo FUSE, de modo que el efecto del sistema de archivos compartidos y el uso del sistema de archivos local se vea igual.

3. Mecanismo de trabajo de MooseFS

1. Diagrama de arquitectura de clúster

Inserte la descripción de la imagen aquí

2. Mecanismo de lectura y escritura.

2.1 Mecanismo de lectura

Inserte la descripción de la imagen aquí

  1. Primero, el cliente (Cliente) accede al servidor maestro (Maestro) para obtener información como la ubicación de la entidad de archivo.
  2. El servidor maestro consulta los registros de caché y envía la información relevante, como la ubicación de la entidad de archivo al cliente.
  3. El cliente (Cliente) accede al servidor correspondiente (Chunk Server) que almacena los datos de la entidad de acuerdo con la información obtenida.
  4. El servidor que almacena los datos de la entidad (Chunk Server) devuelve los datos correspondientes al cliente (Cliente).
2.2 Mecanismo de escritura

Inserte la descripción de la imagen aquí

  1. El cliente accede al servidor maestro y solicita escribir datos.
  2. El servidor maestro consulta los registros de caché. Si se trata de un archivo nuevo, se pondrá en contacto con el servidor de datos posterior (Servidor de fragmentos) para crear un objeto de fragmento correspondiente para prepararse para almacenar el archivo.
  3. El servidor de datos (servidor de fragmentos) devuelve el mensaje de éxito al servidor maestro para crear el objeto de fragmentos.
  4. El servidor maestro envía información relacionada, como la ubicación de la entidad de archivo al cliente.
  5. El cliente (Cliente) accede al servidor de datos correspondiente (Chunk Server) para escribir datos.
  6. Sincronice datos entre servidores de datos (servidor Chunk) y confirme el éxito de cada uno.
  7. El servidor de datos (Chunk Server) devuelve la información escrita con éxito al cliente (Cliente).
  8. El cliente informa al servidor maestro que la escritura se ha completado.

Cuatro, pros y contras análisis

1. Ventajas

  1. Desde que se lanzó MFS basado en GPL, es completamente gratuito, y el desarrollo y la comunidad son muy activos, y la información es muy rica.
  2. Ligero, fácil de implementar, fácil de configurar, fácil de mantener
  3. Sistema de archivos universal, se puede utilizar sin modificar las aplicaciones de capa superior
  4. Bajo costo de expansión, admite expansión en línea, no afecta a los negocios y la arquitectura del sistema es altamente escalable
  5. Arquitectura de alta disponibilidad, sin punto único de falla para todos los componentes
  6. Los objetos de archivo están altamente disponibles, y se puede establecer cualquier grado de redundancia de archivos (proporcionando un nivel de redundancia más alto que Raid 10)
  7. Proporcionar carga del sistema, distribuir datos de lectura y escritura a todos los servidores, acelerar el rendimiento de lectura y escritura
  8. Proporciona muchas funciones avanzadas, como la función de papelera de reciclaje similar a Windows, GC (recolección de basura) similar a JAVA, función de instantánea, etc.
  9. MooseFS es una implementación en C de Google Filesystem
  10. Interfaz de monitoreo Web Gui incorporada
  11. Mejore la eficiencia de lectura o escritura aleatoria y la eficiencia de lectura y escritura de archivos pequeños masivos

2. Desventajas

  1. El cuello de botella de rendimiento del propio servidor maestro. La arquitectura maestro-esclavo de MFS es similar a la replicación maestro-esclavo de MySQL. El esclavo puede expandirse, pero el maestro no es fácil de expandir. La contramedida a corto plazo es hacer la segmentación según el negocio.
  2. A medida que aumenta el número total de archivos almacenados en la arquitectura MFS, los requisitos de memoria del servidor maestro continuarán aumentando (MFS almacena en caché la estructura del sistema de archivos en la memoria del servidor Maset). Según datos oficiales, 8 g corresponden a 25 millones de archivos, y 200 millones de archivos requieren 64 GB de memoria. Las contramedidas a corto plazo también se dividen según el negocio.
  3. La solidez de la solución de punto único del servidor maestro. En la actualidad, el funcionario viene con la sincronización de la información de datos del Servidor Maestro al Servidor Metalogger. Una vez que el Servidor Maestro tiene un problema, el Servidor Metalogger puede restaurarse y actualizarse al Servidor Maestro, pero toma tiempo de recuperación. En la actualidad, el problema de un solo punto del servidor maestro también se puede resolver a través de una solución de alta disponibilidad de terceros (heartbeat + drbd + moosefs).
  4. Metalogger Server tiene un intervalo más largo para copiar metadatos (ajustable).

V. Referencias

Sitio web oficial de MooseFS [https://moosefs.com]

Introducción al sistema de archivos distribuidos de MooseFS [https://www.cnblogs.com/hjc4025/p/9956988.html]

MooseFS del sistema de archivos distribuido [https://blog.51cto.com/zouqingyun/1698710]

Publicó 40 artículos originales · 25 alabanzas · 100,000+ vistas

Supongo que te gusta

Origin blog.csdn.net/yym373872996/article/details/105650977
Recomendado
Clasificación