Bcachefs — это файловая система с копированием при записи для операционных систем на базе Linux.
Похоже, старания автора BcacheFS принесли свои плоды, с недавнего времени стало известно новость о том, что его файловая система, наконец, удалось принять и объединены с кодом ядра Linux, в частности в ветке linux-next (который тестирует функции будущих версий ядра Linux).
И чуть более 3 лет Кент Оверстрит, автор BcacheFS, усердно работал над доработкой своей файловой системы, чтобы ее можно было включить в код основной ветки ядра Linux.
Несмотря на то, что BcacheFS был принят и объединенный с веткой linux-next, запрос извлечь, чтобы включить код от BcacheFS в основной ветке его отверг Линус Торвальдс, на что в комментариях отца Linux он рекомендовал Кенту Оверстриту сначала оценить пригодность патчей, предложенных в экспериментальной ветке Linux-next, чтобы в случае успеха проверки BcachefsFS могла быть включена в ядро 6.7, запуск которого ожидается в декабре.
Для тех, кто не знает о BcachefsFS, следует знать, что это файловая система развитый используя технологии уже протестирован в разработке блочного устройства Bcache, предназначен для кэширования доступа к медленным жестким дискам на быстрых SSD (включен в ядро с версии 3.10).
скриншот того, что Bcachefs уже принят в Linux
Бкэшефс использует механизм копирования при записи (COW), в котором изменения не приводят к перезаписи данных: новое состояние записывается в новое место, после чего указатель текущего состояния изменяется.
Цель Bcachefs — достичь уровня производительности, надежности и масштабируемости XFS за счет обеспечивая при этом дополнительные функции Btrfs и ZFS, такие как разбиение на несколько устройств, многоуровневая структура дисков, репликация (RAID 1/10), прозрачные данные и кэширование, сжатие в режимах LZ4, gzip и ZSTD, сбои в работе, проверка целостности с использованием контрольных сумм. , возможность хранения кодов коррекции ошибок Рида-Соломона (RAID 5/6), хранение информации в зашифрованном виде (используются ChaCha20 и Poly1305).
Что касается производительности, Bcachefs опережает Btrfs и другие файловые системы. основан на механизме копирования при записи и демонстрирует скорость работы, близкую к Ext4 и XFS.
Особенность от Bcachefs это поддержка многоуровневых подключений дисков, в котором хранилище состоит из нескольких уровней: к нижнему уровню подключены более быстрые диски (SSD), который используется для кэширования часто используемых данных, а верхний уровень состоит из более быстрых дисков. Просторный и экономичный. обеспечить хранение менее используемых данных.
Между уровнями можно использовать кэширование в режиме обратной записи. Диски можно динамически добавлять и отключать от раздела, не прекращая использование файловой системы (данные переносятся автоматически).
Стоит отметить, что из последних достижений В разработке Bcachefs выделяется стабилизация реализации записываемых снимков. По сравнению с Btrfs, снимки в Bcachefs теперь масштабируются намного лучше и лишены проблем, присущих Btrfs. На практике снимки были проверены на работоспособность при организации резервных копий MySQL.
О планах на будущее включить желание использовать язык Rust при разработке Bcachefs. По словам автора Bcachefs, который любит программировать, а не отлаживать код, было бы безумием писать код на C сейчас, когда доступен лучший вариант.
Rust уже участвует в Bcachefs в реализации некоторых утилит, запускаемых в пользовательском пространстве. Кроме того, назревает идея постепенно полностью переписать Bcachefs на Rust, поскольку использование этого языка значительно экономит время отладки.
источник: https://www.phoronix.com