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
Bcachefs використовує механізм копіювання при запису (COW), зміни в якому не призводять до перезапису даних: новий стан записується в нове місце, після чого вказівник поточного стану змінюється.
Метою Bcachefs є досягнення рівня продуктивності, надійності та масштабованості XFS шляхом забезпечуючи додаткові функції Btrfs і ZFS, такі як розбиття на кілька пристроїв, багатошарове розташування дисків, реплікація (RAID 1/10), прозорі дані та кешування, стиснення в режимах LZ4, gzip і ZSTD, збої в працездатності, цілісність за допомогою контрольних сум, можливість зберігання кодів корекції помилок Reed-Solomon (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