Домой Статьи и аналитика Технологии Файловая система Bcachefs официально перестала быть экспериментальной

Файловая система Bcachefs официально перестала быть экспериментальной

Файловая система Bcachefs версии 1.38.6 вышла из статуса экспериментальной разработки, предложив пользователям высокую производительность и надежность уровня XFS.

Кент Оверстрит официально объявил о выходе файловой системы Bcachefs 1.38.6 и снятии с проекта статуса экспериментальной разработки. По словам разработчика, количество сообщений о критических сбоях значительно снизилось, а текущие баги больше не представляют серьезной угрозы для стабильности.

Актуальный релиз включает два ключевых компонента: модуль bcachefs-kernel-dkms для интеграции с ядром Linux (поддерживаются версии от 6.16 и выше) и набор утилит bcachefs-tools для управления файловой системой из пользовательского пространства. Готовые сборки уже доступны для Debian, Ubuntu и Arch Linux, в ближайшее время ожидается поддержка Fedora, openSUSE и NixOS.

Оптимизация и производительность

Версия 1.38.6 сосредоточена на повышении быстродействия без изменения формата дисковых структур. В код внесено порядка 200 исправлений, среди которых: оптимизация работы с деревьями (btree), переработка системы логирования и устранение конкурентных блокировок (lock contention). Процесс сброса состояния журнала (journal flush) теперь полностью избавлен от блокировок, что положительно сказывается на общей отзывчивости системы.

Тесты на 48-ядерном процессоре AMD показали впечатляющие результаты: при запуске 48 клиентов dbench файловая система достигла пропускной способности 16,5 ГБ/с, что превосходит показатели XFS (16 ГБ/с). В планах разработчиков — внедрение патчей, которые поднимут этот показатель до 19 ГБ/с. В тестах fio (случайная запись блоками по 4 КБ) Bcachefs демонстрирует 700 операций в секунду. Хотя XFS показывает в этом сценарии миллион операций, стоит учитывать, что Bcachefs выполняет полный цикл CoW (Copy-on-Write) с проверкой контрольных сумм в реальном времени.

Новые возможности и развитие инфраструктуры

Среди значимых изменений стоит отметить:

  • Поддержка подключения до 255 устройств к одной файловой системе.
  • Перевод CI-инфраструктуры на автоматизированное тестирование сборок DKMS.
  • Развитие механизмов работы с многоуровневыми накопителями и пулами дисков.

Активно идет процесс перевода кодовой базы на язык Rust. На данный момент на Rust уже переписаны утилиты bcachefs-tools, включая API для работы с btree. В будущих обновлениях планируется интеграция Rust-обвязок в модуль ядра, что должно повысить надежность и упростить проведение формальной верификации кода.

Функциональные особенности Bcachefs

Проект позиционируется как конкурент Btrfs и ZFS, сочетающий их продвинутые возможности с производительностью уровня XFS. Ключевые возможности системы:

  • Многоуровневое хранение данных (тирринг) с автоматическим распределением между SSD и HDD.
  • Поддержка RAID-конфигураций (1/10) и прозрачное сжатие (LZ4, gzip, ZSTD).
  • Использование шифрования ChaCha20 и Poly1305.
  • Механизм reconcile (rebalance_v2) для гибкой ребалансировки данных и метаданных при изменении состава пула накопителей.
  • Коды коррекции ошибок на базе кодирования Рида-Соломона, позволяющие автоматически восстанавливать поврежденные данные по аналогии с RAID 5/6.
Источник: http://www.opennet.ru