Le code du système de fichiers distribué TernFS est ouvert

La société XTX Markets a ouvert le code source du système de fichiers TernFS, conçu pour créer un stockage distribué couvrant plusieurs centres de données géographiquement séparés et capable de stocker des dizaines d'exaoctets de données, des trillions de fichiers et des centaines de milliards de répertoires, pouvant être simultanément accédés par des millions de clients. Le code du projet est écrit en C++ et Go et est distribué sous la licence GPLv2. Les spécifications du protocole et les bibliothèques clientes sont fournies sous la licence Apache 2.0.

Le système de fichiers est optimisé pour les charges de travail typiques des systèmes d'apprentissage machine — l'écriture et la lecture de fichiers, qui ne sont pas modifiés après leur création et contenant plus de quelques mégaoctets de données. Le système de fichiers n'est pas conçu pour la création fréquente de nouveaux répertoires et le déplacement fréquent de fichiers entre répertoires. Il offre des capacités pour la récupération de fichiers ou de répertoires supprimés par erreur, ainsi que pour la configuration de politiques de suppression irréversible. Le contenu du système de fichiers peut être répliqué entre plusieurs centres de données dans différentes régions. Les nœuds de stockage peuvent inclure différents types de supports (disques durs et mémoire flash).

Une des exigences lors de la conception était l'absence de point de défaillance unique et l'assurance d'une haute fiabilité de stockage — les coupures de courant ne doivent pas entraîner de dommages au système de fichiers, et les fichiers ne peuvent pas être enregistrés partiellement (seuls les fichiers entièrement enregistrés sont accessibles en lecture). Le système est résistant à la défaillance de supports individuels, de nœuds de métadonnées et de nœuds de stockage. Il est possible de réaliser la maintenance du stockage sans arrêter le fonctionnement.

L'implémentation du stockage basé sur TernFS dans la société XTX Markets a commencé à l'été 2023, après un an et demi de développement du système de fichiers. À la mi-2024, tous les systèmes d'apprentissage machine d'XTX Markets ont été transférés sur TernFS. À l'heure actuelle, le stockage est composé de plus de 30 000 disques et 10 000 dispositifs de stockage flash, répartis sur trois centres de données. Le volume total des données stockées est estimé à 500 pétaoctets, et les performances maximales atteignent plusieurs pétabytes par seconde. Le stockage est utilisé dans un cluster comptant plus de 100 000 nœuds de calcul. Aucun incident entraînant une perte de données n'a été signalé en deux ans d'exploitation.

Parmi les limitations de TernFS : les fichiers enregistrés ne peuvent pas être modifiés ; faibles performances avec des fichiers de moins de 2 Mo ; faible efficacité lors de la création et de la suppression de répertoires ; absence de séparation des droits d'accès.

Composants formant le cluster de stockage TernFS :

  • Nœuds de stockage des métadonnées, responsables de la gestion des informations sur la structure des répertoires et les attributs des fichiers.
  • Nœuds de coordination des opérations (CDC — Coordinateur Cross-Directory), exécutant des transactions couvrant différents répertoires.
  • Services de stockage garantissant la conservation du contenu des fichiers.
  • Registre contenant des informations sur tous les autres services et assurant leur suivi.
  • Services clients pour permettre aux utilisateurs d'accéder au FS :
    • ternweb — accès au stockage via l'API Web.
    • terncli — interface en ligne de commande.
    • ternfs.ko — module pour le noyau Linux, permettant de monter le stockage pour fonctionner comme un FS local.
    • ternfuse — implémentation d'un client pour travailler avec le FS, utilisant le sous-système FUSE.
    • terns3 — implémentation de l'API Amazon S3.
  • Processus en arrière-plan :
    • GC — collecteur de déchets, libérant les snapshots obsolètes (fichiers supprimés mais non nettoyés) et nettoyant les blocs pour les fichiers supprimés de façon irréversible.
    • scrubber — identification de la dégradation des données et restauration.
    • migrator — exclusion des disques défaillants du stockage.

Le code du système de fichiers distribué TernFS est ouvert


Source : opennet.ru
Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster