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

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

В файловой системе Bcachefs используется механизм 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-ов. В новом наборе патчей проведена работа по решению этой проблемы и большие ФС теперь монтируются кардинально быстрее.

Источник: http://www.opennet.ru/opennews/art.shtml? num=54000

©  OpenNet