Адкрыты код размеркаванай файлавай сістэмы TernFS

Кампанія XTX Markets адкрыла зыходны код файлавай сістэмы TernFS, спраектаванай для стварэння размеркаванага сховішча, які ахоплівае некалькі тэрытарыяльна падзеленых датацэнтраў і здольнага захоўваць да дзясяткаў эксабайт дадзеных, трыльёнаў файлаў і сотняў мільярдаў каталогаў, з якімі могуць адначасова ўзаемадзейнічаць мільёны кліентаў. Код праекту напісаны на мовах З++ і Go і распаўсюджваецца пад ліцэнзіяй GPLv2. Спецыфікацыі пратакола і кліенцкія бібліятэкі пастаўляюцца пад ліцэнзіяй Apache 2.0.

ФС аптымізавана для нагрузак, уласцівых сістэмам машыннага навучання - запіс і чытанне файлаў, не змяняных пасля стварэння і якія змяшчаюць больш за некалькі мегабайт дадзеных. ФС не разлічана на частае стварэнне новых каталогаў і частае перасоўванне файлаў паміж каталогамі. Прысутнічаюць магчымасці як для аднаўлення выдаленых па памылцы файлаў ці каталогаў, так і для налады палітык поўнага беззваротнага выдалення. Змесціва ФС можа рэпліцыравацца паміж некалькімі датацэнтрамі ў розных рэгіёнах. Вузлы захоўвання могуць уключаць розныя тыпы назапашвальнікаў (на аснове дыскаў і flash-памяці).

Адным з патрабаванняў пры праектаванні была адсутнасць адзінай кропкі адмовы і забеспячэнне высокай надзейнасці захоўвання - аварыйныя адключэнні сілкавання не павінны прыводзіць да пашкоджання ФС, а файлы не могуць апынуцца запісанымі часткова (для чытання даступныя толькі цалкам запісаныя файлы). Сістэма ўстойлівая да выхаду са строю асобных назапашвальнікаў, вузлоў з метададзенымі і вузлоў захоўвання. Магчыма выкананне абслугоўвання сховішча без спынення працы.

Укараненне сховішчы на ​​базе TernFS у кампаніі XTX Markets пачалося летам 2023 года, пасля паўтара года распрацоўкі ФС. У сярэдзіне 2024 гады ўсе сістэмы машыннага навучання XTX Markets былі перакладзены на TernFS. У цяперашні час сховішча ўтварае больш за 30 тысяч дыскаў і 10 тысяч Flash-назапашвальнікаў, размешчаных у трох датацэнтрах. Агульны аб'ём захоўваемых дадзеных ацэньваецца ў 500 петабайт, а пікавая прадукцыйнасць - некалькі петабайт у секунду. Сховішча выкарыстоўваецца ў кластары, які налічвае больш за 100 тысяч вылічальных вузлоў. Інцыдэнтаў, якія прыводзяць да страты дадзеных, за два гады эксплуатацыі не здаралася.

Сярод абмежаванняў TernFS: запісаныя файлы не могуць быць зменены; нізкая эфектыўнасць працы з файламі памерам менш за 2 МБ; нізкая прадукцыйнасць аперацыі стварэння і выдаленні каталогаў; адсутнасць падзелу правоў доступу.

Кампаненты, якія ўтвараюць кластар захоўвання TernFS:

  • Вузлы захоўвання метададзеных, якія адказваюць за кіраванне інфармацыяй аб структуры каталогаў і атрыбутах файлаў.
  • Вузлы каардынацыі працы (CDC – Cross-Directory Coordinator), якія выконваюць транзакцыі, якія ахопліваюць розныя каталогі.
  • Сэрвісы захоўвання, якія забяспечваюць захоўванне змесціва файлаў.
  • Рэестр, які змяшчае інфармацыю аб усіх астатніх сэрвісах і выконвае маніторынг за іх працай.
  • Кліенцкія службы для звароту карыстальнікаў да ФС:
    • ternweb - доступ да сховішча праз Web API.
    • terncli - інтэрфейс каманднага радка.
    • ternfs.ko — модуль для ядра Linux, позволяющий монтировать хранилище для работы как с локальной ФС.
    • ternfuse - рэалізацыя кліента для працы з ФС, якая выкарыстоўвае падсістэму FUSE.
    • terns3 - рэалізацыя API Amazon S3.
  • Фонавыя працэсы:
    • GC - зборшчык смецця, які вызваляе пратэрмінаваныя снапшоты (выдаленыя, але не вычышчаныя файлы) і ачышчальны блокі для незваротна выдаляных файлаў.
    • scrubber - выяўленне дэградацыі дадзеных і аднаўленне.
    • migrator - выключэнне са сховішча збойных дыскаў.

Адкрыты код размеркаванай файлавай сістэмы TernFS


Крыніца: opennet.ru
Купіць надзейны хостынг для сайтаў з абаронай ад DDoS, VPS VDS серверы 🔥 Купіць надзейны хостынг для сайтаў з абаронай ад DDoS, VPS VDS серверы | ProHoster