TernFS izkliedētās failu sistēmas kods ir atvērtā koda

XTX Markets ir padarījis TernFS failu sistēmu par atvērtā koda versiju, kas paredzēta izkliedētas krātuves izveidei, aptverot vairākus ģeogrāfiski izkliedētus datu centrus un spējot uzglabāt desmitiem eksabaitu datu, triljonus failu un simtiem miljardu direktoriju, kuriem vienlaikus var piekļūt miljoniem klientu. Projekta kods ir rakstīts C++ un Go valodās un ir licencēts saskaņā ar GPLv2 licenci. Protokola specifikācijas un klientu bibliotēkas ir licencētas saskaņā ar Apache 2.0 licenci.

Failu sistēma ir optimizēta mašīnmācīšanās sistēmām raksturīgajām darba slodzēm — failu rakstīšanai un lasīšanai, kas pēc izveides ir nemaināmi un satur vairāk nekā dažus megabaitus datu. Failu sistēma nav paredzēta biežai jaunu direktoriju izveidei vai biežai failu pārsūtīšanai starp direktorijiem. Funkcijas ietver nejauši izdzēstu failu vai direktoriju atkopšanu, kā arī politiku konfigurēšanu neatgriezeniskai dzēšanai. Failu sistēmas saturu var replicēt starp vairākiem datu centriem dažādos reģionos. Krātuves mezgli var ietvert dažādus krātuves veidus (disku un zibatmiņu).

Viena no projektēšanas prasībām bija vienas kļūmes vietas neesamība un augstas krātuves uzticamības nodrošināšana: strāvas padeves pārtraukumi nedrīkst sabojāt failu sistēmu, un failus nevar daļēji ierakstīt (lasīšanai pieejami tikai pilnībā ierakstīti faili). Sistēma ir noturīga pret atsevišķu disku, metadatu mezglu un krātuves mezglu kļūmēm. Krātuves uzturēšana ir iespējama, nepārtraucot darbību.

XTX Markets sāka ieviest uz TernFS balstītu krātuvi 2023. gada vasarā pēc pusotra gada izstrādes. Līdz 2024. gada vidum visas XTX Markets mašīnmācīšanās sistēmas bija migrētas uz TernFS. Krātuvē pašlaik ir vairāk nekā 30 000 disku un 10 000 zibatmiņas disku, kas izvietoti trīs datu centros. Kopējais uzglabāto datu apjoms tiek lēsts 500 petabaitu apmērā, un maksimālā veiktspēja sasniedz vairākus petabaitus sekundē. Krātuve tiek izmantota klasterī, kurā ir vairāk nekā 100 000 skaitļošanas mezglu. Divu darbības gadu laikā nav notikuši incidenti, kas izraisītu datu zudumu.

TernFS ierobežojumi ietver: ierakstītos failus nevar modificēt; zema efektivitāte, strādājot ar failiem, kas mazāki par 2 MB; zema direktoriju izveides un dzēšanas darbību veiktspēja; atļauju atdalīšanas trūkums.

TernFS krātuves klastera sastāvdaļas ir:

  • Metadatu glabāšanas mezgli, kas atbild par informācijas pārvaldību par direktoriju struktūrām un failu atribūtiem.
  • Starpdirektoriju koordinatora (CDC) mezgli, kas veic darījumus dažādos direktorijos.
  • Krātuves pakalpojumi, kas nodrošina failu satura glabāšanu.
  • Reģistrs, kurā ir informācija par visiem pārējiem pakalpojumiem un tiek uzraudzīta to darbība.
  • Klientu apkalpošanas pakalpojumi lietotājiem, lai piekļūtu FS:
    • ternweb — piekļuve krātuvei, izmantojot Web API.
    • terncli ir komandrindas saskarne.
    • ternfs.ko — модуль для ядра Linux, позволяющий монтировать хранилище для работы как с локальной ФС.
    • ternfuse ir klienta ieviešana darbam ar FS, izmantojot FUSE apakšsistēmu.
    • terns3 ir Amazon S3 API ieviešana.
  • Fona procesi:
    • GC ir atkritumu savācējs, kas atbrīvo novecojušus momentuzņēmumus (dzēstus, bet ne attīrītus failus) un attīra blokus neatgriezeniski izdzēstiem failiem.
    • skruberis — datu degradācijas noteikšana un atgūšana.
    • migrator — izslēgt no krātuves neizdevušos diskus.

TernFS izkliedētās failu sistēmas kods ir atvērtā koda


Avots: opennet.ru
Iegādājieties uzticamu mitināšanu vietnēm ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa vietņu mitināšanu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster