Otvoren je kod distribuiranog datotečnog sustava TernFS

Tvrtka XTX Markets otvorila je izvorni kod datotečnog sustava TernFS, dizajniranog za stvaranje distribuirane pohrane koja pokriva nekoliko teritoriijalno odvojenih podatkovnih centara i sposoban je pohranjivati do desetaka eksabajta podataka, trilijuna datoteka i stotina milijardi katalogâ, s kojima mogu istovremeno raditi milijuni klijenata. Kod projekta napisan je na jezicima C++ i Go i distribuira se pod GPLv2 licencom. Specifikacije protokola i klijentske biblioteke isporučuju se pod Apache 2.0 licencom.

FS je optimiziran za opterećenja svojstvena sustavima strojnog učenja — zapisivanje i čitanje datoteka koje se ne mijenjaju nakon stvaranja i koje sadrže više od nekoliko megabajta podataka. FS nije namijenjen za čestu izradu novih katalogâ i često premještanje datoteka između katalogâ. Postoje mogućnosti za oporavak slučajno izbrisanih datoteka ili katalogâ, kao i za postavljanje politika potpunog nepovratnog brisanja. Sadržaj FS može se replicirati između nekoliko podatkovnih centara u različitim regijama. Čvorovi pohrane mogu uključivati različite vrste uređaja za pohranu (na temelju diskova i flash memorije).

Jedan od zahtjeva pri projektiranju bio je izostanak jedinstvene točke neuspjeha i osiguranje visoke pouzdanosti pohrane — iznenadni prekidi napajanja ne smiju dovesti do oštećenja FS-a, a datoteke ne mogu biti djelomično zapisane (za čitanje su dostupne samo potpuno zapisane datoteke). Sustav je otporan na kvarove pojedinih uređaja za pohranu, čvorova s metapodacima i čvorova pohrane. Održavanje pohrane može se provoditi bez zaustavljanja rada.

Implementacija pohrane temeljenog na TernFS u tvrtki XTX Markets započela je u ljeto 2023. godine, nakon godinu i pol dana razvoja FS-a. Sredinom 2024. godine svi sustavi strojnog učenja XTX Markets premješteni su na TernFS. Trenutno pohrana sadrži više od 30 tisuća diskova i 10 tisuća Flash uređaja, smještenih u tri podatkovna centra. Ukupni volumen pohranjenih podataka procjenjuje se na 500 petabajta, a vršna izvedba doseže nekoliko petabajta u sekundi. Pohrana se koristi u klasteru koji se sastoji od više od 100 tisuća računalnih čvorova. Tijekom dvije godine uporabe nije bilo incidenata koji bi doveli do gubitka podataka.

Među ograničenjima TernFS: zapisane datoteke se ne mogu mijenjati; niska učinkovitost rada s datotekama manjim od 2 MB; niska izvedba operacija stvaranja i brisanja direktorija; nedostatak podjele prava pristupa.

Komponente koje čine klaster pohrane TernFS:

  • Čvorovi pohrane metapodataka, zaduženi za upravljanje informacijama o strukturi direktorija i atributima datoteka.
  • Čvorovi koordinacije rada (CDC — Cross-Directory Coordinator), koji izvršavaju transakcije koje obuhvaćaju različite direktorije.
  • Službe pohrane koje osiguravaju pohranu sadržaja datoteka.
  • Registar koji sadrži informacije o svim ostalim uslugama i provodi nadzor nad njihovim radom.
  • Klijentske usluge za pristup korisnika FS-u:
    • ternweb — pristup pohrani putem Web API-ja.
    • terncli — sučelje naredbenog retka.
    • ternfs.ko — modul za Linux kernel koji omogućuje montiranje pohrane za rad kao s lokalnim FS-om.
    • ternfuse — implementacija klijenta za rad s FS-om, koja koristi FUSE podsustav.
    • terns3 — implementacija Amazon S3 API-ja.
  • Pozadinski procesi:
    • GC — sakupljač smeća koji oslobađa istečene snimke (izbrisane, ali ne očišćene datoteke) i čisti blokove za nepovratno izbrisane datoteke.
    • scrubber — otkrivanje degradacije podataka i oporavak.
    • migrator — isključenje neispravnih diskova iz pohrane.

Otvoren je kod distribuiranog datotečnog sustava TernFS


Izvor: opennet.ru
Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster