Aperto il codice del file system distribuito TernFS.

L'azienda XTX Markets ha aperto il codice sorgente del file system TernFS, progettato per creare uno storage distribuito che copre più data center geograficamente separati e in grado di archiviare fino a decine di exabyte di dati, trilioni di file e centinaia di miliardi di directory, ai quali possono interagire contemporaneamente milioni di clienti. Il codice del progetto è scritto in C++ e Go e viene distribuito sotto licenza GPLv2. Le specifiche del protocollo e le librerie client sono fornite sotto licenza Apache 2.0.

Il filesystem è ottimizzato per carichi tipici dei sistemi di machine learning: registrazione e lettura di file non modificabili dopo la creazione e contenenti più di alcuni megabyte di dati. Il filesystem non è progettato per la creazione frequente di nuove directory e per il frequente spostamento di file tra directory. Sono disponibili funzioni per il recupero di file o directory eliminati per errore, oltre alla possibilità di impostare politiche di eliminazione permanente. Il contenuto del filesystem può essere replicato tra diversi data center in regioni distinte. I nodi di archiviazione possono includere diversi tipi di dispositivi di memorizzazione (sia basati su dischi che su memoria flash).

Uno dei requisiti nel design è l'assenza di un singolo punto di guasto e l'assicurazione di un'elevata affidabilità dell'archiviazione: le interruzioni di corrente non devono causare danni al filesystem e i file non possono risultare parzialmente registrati (solo file completamente registrati sono disponibili per la lettura). Il sistema è resistente al guasto di singoli dispositivi di memorizzazione, nodi di metadati e nodi di archiviazione. È possibile effettuare la manutenzione dello storage senza interrompere l'attività.

L'implementazione dello storage basato su TernFS presso XTX Markets è iniziata nell'estate del 2023, dopo un anno e mezzo di sviluppo del file system. A metà del 2024, tutti i sistemi di machine learning di XTX Markets sono stati migrati su TernFS. Attualmente, lo storage consiste in oltre 30.000 dischi e 10.000 unità Flash, distribuiti in tre data center. Il volume totale dei dati memorizzati è stimato in 500 petabyte, con una capacità di picco che raggiunge diversi petabyte al secondo. Lo storage è utilizzato all'interno di un cluster che conta oltre 100.000 nodi computazionali. Non si sono verificati incidenti che abbiano portato a perdite di dati nei due anni di operatività.

Tra i limiti di TernFS: i file registrati non possono essere modificati; bassa efficienza nella gestione di file di dimensioni inferiori a 2 MB; scarse prestazioni nelle operazioni di creazione e cancellazione di directory; assenza di separazione dei diritti di accesso.

I componenti che costituiscono il cluster di storage TernFS:

  • Nodi di storage dei metadati, responsabili della gestione delle informazioni sulla struttura delle directory e sugli attributi dei file.
  • Nodi di coordinamento (CDC - Cross-Directory Coordinator), che eseguono transazioni che coprono directory diverse.
  • Servizi di storage che garantiscono la memorizzazione del contenuto dei file.
  • Registro contenente informazioni su tutti gli altri servizi e monitorando il loro funzionamento.
  • Servizi per gli utenti per accedere al sistema di file storage:
    • ternweb — accesso allo storage tramite Web API.
    • terncli — interfaccia a riga di comando.
    • ternfs.ko — modulo per il kernel Linux che consente di montare lo storage per l'uso come filesystem locale.
    • ternfuse — implementazione di un client per lavorare con il filesystem, utilizzando il sottosistema FUSE.
    • terns3 — implementazione dell'API Amazon S3.
  • Processi in background:
    • GC — garbage collector che libera snapshot scaduti (file rimossi ma non ancora cancellati) e pulisce i blocchi per i file eliminati in modo irreversibile.
    • scrubber — rilevamento della degradazione dei dati e recupero.
    • migrator — esclusione dallo storage di dischi guasti.

Aperto il codice del file system distribuito TernFS.


Fonte: opennet.ru
Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS 🔥 Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS | ProHoster