Bcachefs версія 1.38.6: важливі зміни та новини

Bcachefs досягнув важливого етапу: тепер не експериментальний

Bcachefs, сучасна файлову систему Linux з копіюванням при записі, яка підтримує шифрування, знімки, стиснення та інші розширені функції, тепер не вважається експериментальною. Лідер проекту Кент Оверстріт у блозі повідомив, що нова версія 1.38.6 зосереджується на покращенні продуктивності.

Історичне оголошення від Bcachefs

Оверстріт зазначив: “Ми більше не експериментальні. Я прибрав цю позначку з сайту – кілька місяців тому, на основі того, що кількість повідомлень про помилки зменшується і стають менш серйозними.” Це оголошення значить багато для тих, хто стежить за Bcachefs.

Основні нововведення в Bcachefs 1.38.6

Версія 1.38.6 також акцентує увагу на двох основних областях розвитку: Reconcile і erasure coding. Reconcile – це система управління пристроями та даними, яка відстежує стан даних. Вона дозволяє Bcachefs переміщати дані у фоновому режимі та здійснювати зміни, не вимагаючи участі користувачів.

Erasure coding також більше не вважається експериментальним. Bcachefs використовує код Ріда-Соломона, який застосовується в RAID5 і RAID6. Проект заявляє, що ця стратегія уникне звичних проблем з RAID.

Покращення продуктивності та результати тестів

У цій версії вдосконалено продуктивність. Оверстріт повідомив, що тестування призвело до більше ніж 200 виправлень у основному коді btree, журналі та коді файлової системи. Ключові зміни включають швидший шлях підтвердження транзакцій та нові методи для уникнення блокувань.

У тестах dbench на системі з 48-ядерним AMD EPYC 9454, Bcachefs 1.38.6 досяг 16.5 GB/s, а XFS – 16 GB/s. З додатковими патчами, Bcachefs досяг 19 GB/s. У тестах fio 4K Bcachefs показав 700,000 IOPS, у той час як XFS – 1 мільйон IOPS.

Bcachefs і Rust

Також триває робота з Rust. Код користувацького простору Bcachefs вже переписаний на Rust, і команда планує додати прив’язки до DKMS модуля. Спочатку Rust буде використано для тестів як додаткова залежність.

Bcachefs та Linux Kernel

Після суперечок між Оверстрітом та Товардсом, Bcachefs більше не входить до складу ядра. Тепер його поставляють як DKMS модуль, починаючи з Linux 6.18. Сайт зазначає сумісність з Linux 6.16 і новішими версіями.

Чи стабільний Bcachefs тепер?

Хоча тепер позначка експериментальна зникла, використовувати Bcachefs для важливих даних варто з обережністю. Файлові системи отримують довіру з часом через різні навантаження та ситуації збоїв.

Bcachefs 1.38.6 – більше ніж просто ще одне випуск, і надія, що майбутні версії відновлять базову підтримку Bcachefs в ядрі Linux за замовчуванням.

Детальніше ознайомитися з Bcachefs можна на офіційному сайті: bcachefs.org.