Линус Торвалдс одобри възможността за включване на файловата система Bcachefs в основния състав на ядрото на Linux и добави реализацията на Bcachefs в репозитория, където се развива клонът на ядро 6.7, чийто релиз се очаква в началото на януари. Добавеният в ядрото патч включва около 95 хиляди реда код. Проектът се разработва от Кент Оверстрийт вече повече от 10 години, който също така е разработил системата за кеширане на блокови устройства на SSD дискове Bcache.
Опитите за продвижване на Bcachefs в основния състав на ядрото започнаха през 2020 година, след което беше необходимо почти три години за отстраняване на забележки и недостатъци, установени след рецензиране. През пролетта на тази година беше предложен обновен набор от патчи, който няколко пъти беше отхвърлян, но в крайна сметка през септември беше приет в клона linux-next, предназначен за тестване на възможностите за бъдещи версии на ядрото на Linux.
Bcachefs развивается с использованием технологий, уже опробованных при разработке блочного устройства Bcache, предназначенного для кэширования доступа к медленным жёстким дискам на быстрых SSD-накопителях (входит в ядро, начиная с выпуска 3.10). В Bcachefs используется механизм Copy-on-Write (COW), при котором изменения не приводят к перезаписи данных — новое состояние записывается в новое место, после чего меняется указатель актуального состояния.
В Bcachefs предпринята попытка добиться сочетания уровня производительности, надёжности и масштабируемости, свойственного XFS, и расширенной функциональности, имеющейся в Btrfs и ZFS, такой как включение в раздел нескольких устройств, многослойные раскладки накопителей, репликация (RAID 1/10), кэширование, прозрачное сжатие данных (режимы LZ4, gzip и ZSTD), срезы состояния (снапшоты), верификация целостности по контрольным суммам, возможность хранения кодов коррекции ошибок Рида—Соломона (RAID 5/6), хранение информации в зашифрованном виде (используются ChaCha20 и Poly1305). По производительности Bcachefs опережает Btrfs и другие ФС на базе механизма Copy-on-Write, и демонстрирует скорость работы, близкую к Ext4 и XFS.
Особенностью Bcachefs является поддержка многослойного подключения накопителей, при котором хранилище компонуется из нескольких слоёв — к нижнему слою подключаются наиболее быстрые накопители (SSD), которые используются для кэширования часто используемых данных, а верхний слой образуют более ёмкие и дешёвые диски, обеспечивающие хранение менее востребованных данных. Между слоями может применяться кэширование в режиме отложенной записи (writeback). Накопители можно динамически добавлять и отсоединять от раздела без остановки использования файловой системы (данные мигрируют автоматически).
Източник: opennet.ru
