XTX Markets представляет TernFS — распределённую файловую систему с открытым исходным кодом и эксабайтным масштабом

XTX Markets использует TernFS — облачную распределённую файловую систему эксабайтного масштаба, созданную для работы с триллионами файлов и миллионами клиентов.
XTX Markets (https://www.xtxmarkets.com/) объявила, что её собственная файловая система TernFS теперь доступна как программное обеспечение с открытым исходным кодом под лицензией GPL-2.0-or-later для основных компонентов файловой системы и Apache-2.0 с исключением LLVM для определений протоколов и клиентских библиотек
Изначально созданная для удовлетворения огромных потребностей компании в хранении данных, TernFS предназначена для хранения эксабайтов данных, поддерживает триллионы файлов и миллионы клиентов одновременно.
Теперь эти возможности доступны всем, поскольку на рынке появилась TernFS, которая присоединилась к таким проектам, как Ceph, Lustre и GlusterFS, уже давно занимающим лидирующие позиции в этой области. Но прежде чем мы продолжим, давайте подробнее рассмотрим саму файловую систему.
TernFS используется в XTX с середины 2023 года. Она управляет более чем 500 петабайтами данных в трёх центрах обработки данных, используя около 30 000 жёстких дисков и 10 000 флеш-накопителей. Система способна масштабироваться гораздо дальше — до 10 эксабайт логического хранилища, триллионов файлов и миллионов одновременных клиентов.
В архитектуре TernFS особое внимание уделяется неизменяемости, надёжности и работе в нескольких регионах. Файлы после записи становятся неизменяемыми, что упрощает репликацию и обеспечение согласованности в масштабе. Метаданные распределяются между несколькими сегментами, что устраняет единые точки отказа, а репликация и кодирование Рида — Соломона обеспечивают избыточность.
Ключевые компоненты включают в себя:
- Реестр для метаданных кластера и отслеживания сервисов
- Фрагменты метаданных, использующие RocksDB с консенсусом через LogsDB
- Блокируйте службы, которые хранят содержимое файлов в избыточном количестве на разных узлах
- Координатор межкаталогов для операций, охватывающих несколько каталогов
Доступ осуществляется через модуль ядра Linux, клиент FUSE и минимальную реализацию S3 API. Система оптимизирована для работы с большими неизменяемыми файлами — обычно размером более нескольких мегабайт. Это означает, что она не подходит для работы с небольшими файлами, частыми обновлениями или операциями с каталогами, требующими быстрых изменений.
Для получения дополнительной информации см. объявление: https://www.xtxmarkets.com/tech/2025-ternfs/ или посетите недавно опубликованный репозиторий на GitHub.
Редактор: AndreyEx