Major AWS Outage Happening 🔥 Горячее 💬 Длинная дискуссия
—
Комментарии (542)
- AWS-инцидент затронул DynamoDB в регионе us-east-1, что каскадом вывел из строя десятки зависимых сервисов — от Amazon-магазина до Zoom и Coinbase.
- Пользователи вспомнили, что AWS-облако не единственный провайдер, и обсуждают, как минимизировать риски, включая мульти-регион и мульти-клауд.
- Некоторые комментаторы подчеркивают, что большинство сервисов, которые «упали» в этот день, на самом деле зависят от AWS, и что это не первый раз, когда такое случается.
TernFS – An exabyte scale, multi-region distributed filesystem
TernFS — экзабайтная распределенная файловая система с поддержкой нескольких регионов
XTX — алгоритмическая торговая фирма, использующая статистические модели для прогнозирования цен. По мере роста вычислительных мощностей потребности в хранилищах также увеличивались. Изначально использовались NFS и коммерческие решения, но в итоге было принято решение разработать собственную файловую систему — TernFS.
TernFS теперь доступна как открытое ПО на GitHub. В статье объясняется её архитектура и ключевые детали реализации.
Зачем ещё одна файловая система?
Крупные tech-компании часто разрабатывают собственные распределенные файловые системы из-за их критической важности. XTX оказалась в аналогичной ситуации и создала TernFS как универсальное решение для хранения — от «холодных» данных до временных файлов для обмена между GPU-задачами.
Возможности TernFS:
- Масштабируемость до десятков экзабайт, триллионов файлов и миллионов одновременных клиентов.
- Избыточное хранение данных для защиты от сбоев дисков.
- Отсутствие единой точки отказа в службах метаданных.
- Поддержка снимков файлов для защиты от случайного удаления.
- Работа в нескольких регионах.
- Агностичность к оборудованию, использование TCP/IP.
- Эффективное использование разных типов хранилищ (SSD, HDD).
- Доступ через собственный API (TCP/UDP) и модуль ядра Linux.
- Минимальные зависимости для сборки (C++, Go, RocksDB).
Ограничения:
- Файлы неизменяемы после записи.
- Не подходит для очень маленьких файлов (медиана — 2 МБ).
- Ограниченная пропускная способность при создании/удалении директорий.
- Отсутствие встроенной системы разрешений.
Разработка началась в 2022 году, с 2023 года система используется в production. К середине 2024 года все ML-задачи работают на TernFS. По состоянию на сентябрь 2025 года система хранит более 500 ПБ на 30 000 дисках и 10 000 SSD в трёх дата-центрах, с пиковой пропускной способностью в несколько ТБ/с. Потерь данных не зафиксировано.
Высокоуровневая архитектура
Основной API TernFS реализован четырьмя службами:
- Шарды метаданных — хранят структуру директорий и метаданные файлов.
- Координатор междиректорных транзакций (CDC) — выполняет транзакции между шардами.
- Службы блоков — хранят содержимое файлов.
- Реестр — хранит информацию обо всех службах и мониторит их.
Диаграмма взаимодействия служб TernFS и клиентов.
Далее подробно рассматривается каждая служба и другие аспекты реализации, включая мультирегиональность.
Комментарии (93)
- Обсуждение технических особенностей TernFS: отсутствие RDMA, использование TCP/IP, репликация данных, ограничение на минимальный размер файла (~2MB), специализированная система метаданных.
- Сравнение с другими файловыми системами (CephFS, Lustre, GPFS): различия в архитектуре, производительности, поддержке POSIX и целевых use cases.
- Вопросы о бизнес-модели и масштабах данных XTX: хранение >500PB для ML-моделей в трейдинге, критика "отсутствия реальной ценности".
- Обсуждение лицензии (GPLv2-or-later/Apache-2.0) и предложения по улучшению документации (добавление примеров использования).
- Замечания о нишевых решениях для больших данных: акцент на immutable-данные, сложности с метаданными для tiny files, специализация под конкретные задачи.