The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Открыт код распределённой файловой системы TernFS

22.09.2025 22:00

Компания 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 - исключение из хранилища сбойных дисков.


  1. Главная ссылка к новости (https://www.xtxmarkets.com/tec...)
  2. OpenNews: Открыт код распределённой файловой системы 3FS, используемой в DeepSeek
  3. OpenNews: Выпуск отказоустойчивой файловой системы LittleFS 2.10
  4. OpenNews: Обновление кластерной файловой системы LizardFS
  5. OpenNews: Первый публичный выпуск распределённой файловой системы JuiceFS
  6. OpenNews: Компания Versity открыла исходные тексты файловой системы ScoutFS
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63927-ternfs
Ключевые слова: ternfs
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (21) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 22:54, 22/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Отличное место для маленького бекдорчика.
     
     
  • 2.5, Rev (ok), 23:08, 22/09/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Почему только для одного? :)
     

  • 1.4, Rev (ok), 23:07, 22/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > Код проекта написан на языках С++ и Go

    Пока не перепишут на Rust не интересно. C++ явно приберёг там сотню-другую CVE и RCE, а Go подарит тормоза от всей души своего GC :)

     
     
  • 2.6, Anonim (??), 23:14, 22/09/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Где гарантия, что компилятор раст не оставляет бэкдоры?
     
     
  • 3.8, НяшМяш (ok), 23:16, 22/09/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Где гарантия, что компилятор раст не оставляет бэкдоры?

    В LLVM

     
     
  • 4.19, Аноним (19), 01:04, 23/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Т.е. гарантия, что может оставлять.
     
  • 3.16, Аноним (16), 00:07, 23/09/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Где гарантия, что из crates.io не приползёт Shai-Hulud?
     
  • 2.20, Алексей (??), 01:37, 23/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Абсолютно бессмысленное действие. Судя по описанию эта файловая система не предполагает доступа извне сторонними пользователями. Просто хранилище для определенных внутренних нужд. Поэтому даже если там миллион дырок, то это абсолютно неважно.
     

  • 1.7, НяшМяш (ok), 23:15, 22/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Вот так надо разрабатывать файлухи. Спокойно запилили, обкатали в бою, потом опционально открыли. А не тот цирк, что с bcachefs происходит.
     
     
  • 2.13, пох. (?), 00:01, 23/09/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    жаль что не нужна абсолютно никому кроме них.
    (а вероятней всего и этим тоже не нужна, потому и выкинули нате-на-лопате)

     
  • 2.14, Аноним (14), 00:02, 23/09/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.18, Аноним (18), 01:01, 23/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вот только это не файлуха, а какая-то самба на стероидах. Ну т.е. сетевой сервис.
     
     
  • 3.22, Аноним (22), 03:07, 23/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А ты с какими-то боевыми хранилищами то сталкивался когда? Они все по похожей архитектуре строятся. И вполне себе фс, просто не для подкроватей.
     

  • 1.10, zjai (?), 23:30, 22/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > Код проекта написан на языках С++ и Go и

    спасибо, закройте обратно

     
  • 1.11, нейм (?), 23:52, 22/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Tern хорошие велики делает, дорогие правда
     
  • 1.12, myster (ok), 23:58, 22/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чем она лучше той же IPFS?
     
     
  • 2.24, Аноним (22), 03:10, 23/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А ты пробовал какую-то нагрузку на ипфс давать? Я пробовал, оно начинает дичайше тормозить.
     

  • 1.15, Самый Лучший Гусь (?), 00:02, 23/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Непонятно зачем когда есть сeph
     
     
  • 2.23, Аноним (22), 03:08, 23/09/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Цеф крайне херово масштабируется между ДЦ.
     

  • 1.17, torvn77 (ok), 00:45, 23/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Очень хорошая новость, репозитарии дистрибутивов на распределённых ФС с каждой такой разработкой всё ближе.
    Да и веса нейросетей на таких ФС распространять хорошо.
     
  • 1.21, Аноним (21), 01:46, 23/09/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не понятно нахрена оно нужно без MapReduce поверх.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру