Kodi i sistemit të skedarëve të shpërndarë TernFS është hapur.

Kompania XTX Markets hapi kodin burim të sistemit të skedarëve TernFS, e projektuar për të krijuar një ruajtje të shpërndarë që mbulon disa data qendrat të ndara gjeografikisht dhe që është në gjendje të ruajë deri në dhjetëra eksabajt të dhënash, triliona skedare dhe qindra miliarda katalogë, me të cilët mund të ndërveprojnë njëkohësisht miliona klientë. Kodi i projektit është shkruar në gjuhët C++ dhe Go dhe shpërndahet nën licencën GPLv2. Specifikimet e protokollit dhe bibliotekat klienti ofrohen nën licencën Apache 2.0.

FS është optimizuar për ngarkesat që i përkasin sistemeve të mësimit të makinerive - shkrimi dhe leximi i skedareve, të cilat nuk ndryshohen pas krijimit dhe përmbajnë më shumë se disa megabajt të dhëna. FS nuk është e dizajnuar për krijimin e shpeshtë të katalogëve të rinj dhe për zhvendosjen e shpeshtë të skedareve midis katalogëve. Janë të pranishme mundësi për rikuperimin e skedareve ose katalogëve të fshirë gabimisht, si dhe për përcaktimin e politikave për eliminimin e plotë dhe të pakthyeshëm. Përmbajtja e FS mund të replikojë midis disa qendrave të të dhënave në rajone të ndryshme. Njësitë e ruajtjes mund të përfshijnë lloje të ndryshme ruajtësish (bazuar në disqe dhe memorie flash).

NjĂ« nga kĂ«rkesat gjatĂ« projektimit ishte mungesa e njĂ« pike tĂ« vetme dĂ«shtimi dhe sigurimi i njĂ« ruajtjeje tĂ« lartĂ« tĂ« besueshmĂ«risĂ« - ndĂ«rprerjet emergjente tĂ« energjisĂ« nuk duhet tĂ« çojnĂ« nĂ« dĂ«mtimin e FS, dhe skedarĂ«t nuk mund tĂ« regjistrohen pjesĂ«risht (tĂ« lexueshĂ«m janĂ« vetĂ«m skedarĂ«t e regjistruar plotĂ«sisht). Sistemi Ă«shtĂ« i qĂ«ndrueshĂ«m ndaj dĂ«shtimit tĂ« njĂ«sive tĂ« veçanta, njĂ«sive me metadatat dhe njĂ«sive tĂ« ruajtjes. ËshtĂ« e mundur kryerja e mirĂ«mbajtjes sĂ« ruajtjes pa ndaluar funksionimin.

Zbatimi i ruajtjes në bazë të TernFS në kompaninë XTX Markets filloi verën e vitit 2023, pas një vite e gjysmë zhvillimi të FS. Në mes të vitit 2024, të gjitha sistemet e mësimit të makinerive të XTX Markets u kaluan në TernFS. Aktualisht, ruajtja formon më shumë se 30 mijë disqe dhe 10 mijë ruajtës flash, të vendosur në tri data qendra. Vëllimi i përgjithshëm i të dhënave të ruajtura vlerësohet në 500 petabajt, dhe performanca maksimale - disa petabajt në sekondë. Ruajtja përdoret në një grup që numëron më shumë se 100 mijë njësish llogaritëse. Nuk ka pasur incidente që çojnë në humbjen e të dhënave në dy vitet e fundit të eksploatimit.

Disa avantazhet e TernFS: skedarët e regjistruar nuk mund të modifikohen; eficiencë e ulët në punën me skedarë më të vegjël se 2 MB; performancë e ulët në operacionet e krijimit dhe fshirjes së katalogëve; mungesë e ndarjes së të drejtave të aksesit.

Komponentët që formojnë klastrin e ruajtjes TernFS:

  • NjĂ«sitĂ« e ruajtjes sĂ« metadata-s, pĂ«rgjegjĂ«se pĂ«r menaxhimin e informacionit mbi strukturĂ«n e katalogĂ«ve dhe atributet e skedarĂ«ve.
  • NjĂ«sitĂ« e koordinimit (CDC - Koordinatori i KatalogĂ«ve) qĂ« realizojnĂ« transaksione pĂ«rfshirĂ«se tĂ« ndryshme katalogĂ«sh.
  • ShĂ«rbimet e ruajtjes qĂ« ofrojnĂ« ruajtjen e pĂ«rmbajtjes sĂ« skedarĂ«ve.
  • Regjistri qĂ« pĂ«rmban informacionin mbi tĂ« gjithĂ« shĂ«rbimet e tjera dhe monitoron punĂ«n e tyre.
  • ShĂ«rbimet klienti pĂ«r qasje tĂ« pĂ«rdoruesve nĂ« FS:
    • ternweb - qasje nĂ« magazinĂ« pĂ«rmes Web API.
    • terncli - ndĂ«rfaqja e linjĂ«s sĂ« komandĂ«s.
    • ternfs.ko - moduli pĂ«r bĂ«rthamĂ«n Linux, i cili lejon montimin e ruajtjes pĂ«r tĂ« punuar si me FS lokale.
    • ternfuse - realizimi i klientit pĂ«r tĂ« punuar me FS, duke pĂ«rdorur nĂ«n-sistemin FUSE.
    • terns3 - realizimi i API-sĂ« Amazon S3.
  • Proceset prapa scenave:
    • GC - mbledhĂ«si i mbeturinave, qĂ« çliron snapshotet e skaduara (skedarĂ« tĂ« fshirĂ«, por jo tĂ« pastruar) dhe pastron blloqet pĂ«r skedarĂ«t qĂ« janĂ« fshirĂ« pĂ«rfundimisht.
    • scrubber - identifikimi i degradimit tĂ« tĂ« dhĂ«nave dhe rikuperimi.
    • migrator - pĂ«rjashtimi i disqeve tĂ« dĂ«shtuar nga ruajtja.

Kodi i sistemit të skedarëve të shpërndarë TernFS është hapur.


Burimi: opennet.ru
Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster