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

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

Проект Bcachefs официально перешел в стадию стабильной разработки с поддержкой 255 устройств и новыми оптимизациями производительности.

Файловая система Bcachefs официально перестала быть экспериментальной
Файловая система Bcachefs официально перестала быть экспериментальной — иллюстрация к материалу. Источник: linux.org.ru

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

Состав и доступность релиза

Актуальный выпуск включает два ключевых пакета:

  • bcachefs-kernel-dkms — модуль ядра, собираемый через DKMS с поддержкой Linux 6.16 и новее.
  • bcachefs-tools — набор инструментов для работы в пространстве пользователя, включая команды для создания, проверки и восстановления файловой системы.

На текущий момент пакеты доступны пользователям Debian, Ubuntu и Arch Linux; в ближайшее время ожидается поддержка Fedora, openSUSE и NixOS.

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

Несмотря на отсутствие изменений в структуре дискового формата, версия 1.38.6 содержит около 200 правок, направленных на повышение быстродействия:

  • Логика транзакций была оптимизирована до 4 КБ машинного кода.
  • Устранены конфликтующие блокировки (lock contention) при работе с btree.
  • Процесс сброса состояния журнала (journal flush) теперь полностью избавлен от блокировок.

В тестах dbench на 48-ядерном процессоре AMD файловая система показала пропускную способность 16,5 Гбайт/с, опередив XFS (16 Гбайт/с). В планах разработчиков — внедрение патчей для достижения 19 Гбайт/с.

Дальнейшее развитие и Rust

В текущей версии реализована поддержка объединения до 255 устройств в один пул. Команда проекта также активно переводит кодовую базу на язык Rust. Уже переписаны утилиты bcachefs-tools, а в следующих релизах планируется интеграция Rust в DKMS-модуль ядра, что должно повысить общую стабильность и упростить дальнейшую поддержку проекта.

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

Система позиционируется как решение, объединяющее возможности Btrfs/ZFS с производительностью уровня XFS. Ключевые возможности включают:

  • Многоуровневое хранение: разделение данных между быстрыми SSD и медленными HDD.
  • Репликация и RAID: поддержка RAID 1/10 и кодов коррекции ошибок Рида-Соломона.
  • Безопасность: шифрование (ChaCha20, Poly1305) и проверка целостности контрольными суммами.
  • Сжатие: поддержка алгоритмов LZ4, gzip и ZSTD.

Новые механизмы в Bcachefs

Среди недавних значимых внедрений выделяются:

  • Reconcile (rebalance_v2): расширенный механизм ребалансировки, который затрагивает не только данные, но и метаданные, автоматически реагируя на изменение конфигурации пула устройств.
  • Коды коррекции ошибок: обеспечивают автоматическое восстановление поврежденных данных по принципу RAID 5/6, эффективно работая даже с накопителями разного объема.
Источник: https://www.linux.org.ru