XTX Markets открыла исходный код файловой системы TernFS для распределённого хранения крупных неизменяемых файлов

Алгоритмическая торговая компания XTX Markets, оперирующая более чем 650 петабайтами данных для прогнозов цен и торговых алгоритмов, открыла исходный код собственной файловой системы TernFS для распределённого хранения крупных неизменяемых файлов.

Решение TernFS спроектировано для создания распределённого хранилища, охватывающего несколько территориально разделённых датацентров и способного хранить до десятков эксабайт данных, триллионов файлов и сотен миллиардов каталогов, с которыми могут одновременно взаимодействовать миллионы клиентов. Всё это работает на стандартном оборудовании и обычных сетях Ethernet.

Исходный код проекта TernFS написан на языках С++ и Go и опубликован на GirtHub под лицензией GPLv2. Спецификации протокола и клиентские библиотеки поставляются под лицензией Apache 2.0.

По информации OpenNET, TernFS оптимизирована для нагрузок, свойственных системам машинного обучения — запись и чтение файлов, не изменяемых после создания и содержащих больше нескольких мегабайт данных. Файловая система не рассчитана на частое создание новых каталогов и частое перемещение файлов между каталогами. Присутствуют возможности как для восстановления удалённых по ошибке файлов или каталогов, так и для настройки политик полного безвозвратного удаления. Содержимое ФС может реплицироваться между несколькими датацентрами в разных регионах. Узлы хранения могут включать различные типы накопителей (на основе дисков и flash‑памяти).

Одним из требований при проектировании TernFS было отсутствие единой точки отказа и обеспечение высокой надёжности хранения — аварийные отключения питания не должны приводить к повреждению файловой системы, а файлы не могут оказаться записанными частично (для чтения доступны только полностью записанные файлы). Система TernFS устойчива к выходу из строя отдельных накопителей, узлов с метаданными и узлов хранения. Возможно выполнение обслуживания хранилища без остановки работы.

Внедрение хранилища на базе TernFS в компании XTX Markets началось летом 2023 года, после полутора лет разработки проекта. В середине 2024 года все системы машинного обучения XTX Markets были переведены на TernFS. В настоящее время хранилище образует более 30 тысяч дисков и 10 тысяч Flash‑накопителей, размещённых в трёх датацентрах. Общий объём хранимых данных оценивается в 500 петабайт, а пиковая производительность — несколько петабайт в секунду. Хранилище на базе TernFS используется в кластере, насчитывающем более 100 тысяч вычислительных узлов. Инцидентов, приводящих к потере данных, за два года эксплуатации не случалось.

Ограничения TernFS:

записанные файлы не могут быть изменены;

низкая эффективность работы с файлами размером меньше 2 МБ;

низкая производительность операции создания и удаления каталогов; отсутствие разделения прав доступа.

Компоненты, образующие кластер хранения TernFS:

узлы хранения метаданных, отвечающие за управление информацией о структуре каталогов и атрибутах файлов;

узлы координации работы (CDC — Cross‑Directory Coordinator), выполняющие транзакции, охватывающие разные каталоги;

сервисы хранения, обеспечивающие хранение содержимого файлов;

реестр, содержащий информацию о всех остальных сервисах и выполняющий мониторинг за их работой;

клиентские службы для обращения пользователей к файловой системе:

ternweb — доступ к хранилищу через Web API;

terncli — интерфейс командной строки;

ternfs.ko — модуль для ядра Linux, позволяющий монтировать хранилище для работы как с локальной файловой системе;

ternfuse — реализация клиента для работы с файловой системой, использующая подсистему FUSE.

terns3 — реализация API Amazon S3.

фоновые процессы:

GC — сборщик мусора, освобождающий просроченные снапшоты (удалённые, но не очищенные файлы) и очищающий блоки для необратимо удаляемых файлов;

scrubber — выявление деградации данных и восстановление;

migrator — исключение из хранилища сбойных дисков.

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии