Se ha abierto el código del sistema de archivos distribuido TernFS.

La empresa XTX Markets ha abierto el código fuente del sistema de archivos TernFS, diseñado para crear un almacenamiento distribuido, abarcando múltiples centros de datos geográficamente separados y capaz de almacenar decenas de exabytes de datos, trillones de archivos y cientos de miles de directorios, con los que pueden interactuar simultáneamente millones de clientes. El código del proyecto está escrito en C++ y Go y se distribuye bajo la licencia GPLv2. Las especificaciones del protocolo y las bibliotecas cliente se proporcionan bajo la licencia Apache 2.0.

El sistema de archivos está optimizado para cargas propias de sistemas de aprendizaje automático: la grabación y lectura de archivos que no se modifican una vez creados y que contienen más de unos megabytes de datos. No está diseñado para la creación frecuente de nuevos directorios ni para el movimiento frecuente de archivos entre directorios. Existen capacidades tanto para la recuperación de archivos o directorios eliminados por error, como para configurar políticas de eliminación permanente. El contenido del sistema de archivos puede ser replicado entre varios centros de datos en diferentes regiones. Los nodos de almacenamiento pueden incluir diferentes tipos de dispositivos (basados en discos y memoria flash).

Uno de los requisitos en el diseño fue la ausencia de un único punto de falla y asegurar una alta fiabilidad en el almacenamiento: los apagones no deben dañar el sistema de archivos y los archivos no pueden quedar grabados parcialmente (solo se pueden leer archivos completamente grabados). El sistema es resistente a fallos de dispositivos individuales, nodos de metadatos y nodos de almacenamiento. Es posible realizar mantenimiento del almacenamiento sin detener la operación.

La implementación del almacenamiento basado en TernFS en XTX Markets comenzó en el verano de 2023, después de un año y medio de desarrollo del sistema de archivos. A mediados de 2024, todos los sistemas de aprendizaje automático de XTX Markets fueron migrados a TernFS. Actualmente, el almacenamiento está compuesto por más de 30,000 discos y 10,000 dispositivos de memoria Flash, ubicados en tres centros de datos. El volumen total de datos almacenados se estima en 500 petabytes, y el rendimiento máximo es de varios petabytes por segundo. El almacenamiento se utiliza en un clúster que cuenta con más de 100,000 nodos de cómputo. No ha ocurrido ningún incidente que lleve a la pérdida de datos en dos años de funcionamiento.

Entre las limitaciones de TernFS: los archivos grabados no pueden ser modificados; baja eficiencia en el manejo de archivos de menos de 2 MB; bajo rendimiento en las operaciones de creación y eliminación de directorios; falta de separación de derechos de acceso.

Componentes que forman el clúster de almacenamiento TernFS:

  • Nodos de almacenamiento de metadatos, encargados de gestionar la información sobre la estructura de directorios y los atributos de los archivos.
  • Nodos de coordinación de trabajo (CDC - Coordinador de Directorios Cruzados), que ejecutan transacciones que abarcan diferentes directorios.
  • Servicios de almacenamiento que garantizan la retención del contenido de los archivos.
  • Registro que contiene información sobre todos los demás servicios y monitoriza su funcionamiento.
  • Servicios de cliente para acceder a la FS:
    • ternweb — acceso al almacenamiento a través de Web API.
    • terncli — interfaz de línea de comandos.
    • ternfs.ko — módulo para el núcleo de Linux que permite montar el almacenamiento para operar como FS local.
    • ternfuse — implementación del cliente para interactuar con la FS, utilizando el subsistema FUSE.
    • terns3 — implementación de la API de Amazon S3.
  • Procesos en segundo plano:
    • GC — recolector de basura que libera instantáneas caducadas (archivos eliminados pero no limpiados) y limpia los bloques de archivos eliminados de manera irreversible.
    • scrubber — detección de degradación de datos y recuperación.
    • migrator — exclusión de discos defectuosos del almacenamiento.

Se ha abierto el código del sistema de archivos distribuido TernFS.


Fuente: opennet.ru
Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster