Bcachefs доведена до состояния, пригодного для включения в состав ядра Linux

1 ноября 2020 года

Кент Оверстрит (Kent Overstreet) объявил в списке рассылки разработчиков ядра Linux о готовности реализации файловой системы Bcachefs для рецензирования перед включением в основной состав ядра. Bcachefs развивается с использованием технологий, уже опробованных при разработке блочного устройства Bcache, предназначенного для кэширования доступа к медленным жёстким дискам на быстрых SSD-накопителях.

В файловой системе используется механизм Copy-on-Write (COW), при котором изменения не приводят к перезаписи данных - новое состояние записывается в новое место, после чего меняется указатель актуального состояния. Особенностью Bcachefs является поддержка многослойного подключения накопителей, при котором хранилище компонуется из нескольких слоёв - к нижнему слою подключаются наиболее быстрые накопители (SSD), которые используются для кэширования часто используемых данных, а верхний слой образуют более ёмкие и дешёвые диски, обеспечивающие хранение менее востребованных данных. Между слоями может применяться кэширование в режиме отложенной записи (writeback).

Кроме типовых возможностей POSIX ФС, например xattrs и ACL, Bcachefs предоставляет доступ к таким расширенным функциям, как возможность подключения к разделу нескольких накопителей, репликация (RAID 1/10), кэширование, срезы состояния (снапшоты), прозрачное сжатие данных (режимы LZ4, gzip и ZSTD), верификация целостности данных и метаданных по контрольным суммам, коды коррекции ошибок Рида—Соломона (RAID 5/6), хранение информации в зашифрованном виде (используются ChaCha20 и Poly1305). Накопители можно динамически добавлять и отсоединять от раздела без остановки использования файловой системы (данные мигрируют автоматически). Из пока не реализованных возможностей отмечается поддержка квот и поддержка экспорта через NFS.

По производительности Bcachefs опережает Btrfs и другие ФС на базе механизма Copy-on-Write, и демонстрирует производительность, близкую к Ext4 и Xfs. Реализация шифрования ФС по производительности близка к dm-crypt, но, при этом, dm-crypt не поддерживает аутентифицированное шифрование. Bcachefs хорошо масштабируется и протестирована в работе хранилища, размером 50 ТБ. Изначально проблемой Bcachefs было большое время монтирования, вызванное тем, что во время монтирования осуществлялся обход всех inode, dirent-ов и extent-ов. В новом наборе патчей проведена работа по решению этой проблемы и большие ФС теперь монтируются кардинально быстрее.

Источники править

 
 
Creative Commons
Эта статья содержит материалы из статьи «Bcachefs доведена до состояния, пригодного для включения в состав ядра Linux», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.