Бкэшефс
Разработчик(и) | Кент Оверстрит |
---|---|
Представлено | 21 августа 2015 г |
Структуры | |
Содержимое каталога | Гибридное дерево B+ |
Распределение файлов | Экстенты |
Плохие блоки | Ничего не записано |
Функции | |
Даты записи | модификация (mtime), модификация атрибута (ctime), доступ (atime), создание (crtime) |
Атрибуты | Расширенные атрибуты |
Файловая система разрешения | POSIX (+ ACL в xattrs) |
Прозрачный сжатие | Да |
Прозрачный шифрование | Да |
Копирование при записи | Да |
Другой | |
Поддерживается операционные системы | Линукс |
Веб-сайт | Бкэшефс |
Bcachefs — это копирования при записи (COW) файловая система для операционных систем на базе Linux . Его основной разработчик, Кент Оверстрит, впервые анонсировал его в 2015 году, и он был добавлен в ядро Linux, начиная с версии 6.7. [1] [2] Он призван конкурировать с современными функциями ZFS или Btrfs , а также по скорости и производительности с ext4 или XFS .
Функции
[ редактировать ]Bcachefs — это копирования при записи (COW) файловая система для операционных систем на базе Linux . [3] Возможности включают кэширование , [4] файловой системы полное шифрование с использованием алгоритмов ChaCha20 и Poly1305 , [5] собственное сжатие [4] через LZ4 , gzip [6] и Zстандарт , [7] снимки , [4] CRC-32C и 64-битная контрольная сумма . [3] Он может охватывать блочные устройства, в том числе в конфигурациях RAID . [5]
Более ранние версии Bcachefs предоставляли всю функциональность Bcache , системы блочного кэширования для Linux, с которой Bcachefs разделяет около 80% своего кода. [8] По состоянию на декабрь 2021 года функциональность блочного кэша была удалена. [7]
На уровне структуры данных bcachefs использует B-деревья, как и многие другие современные файловые системы, но с необычно большим размером узла, по умолчанию составляющим 256 КиБ. Эти узлы имеют внутреннюю логарифмическую структуру , образующую гибридную структуру данных, что снижает необходимость перезаписи узлов при обновлении. [9] Снимки реализуются не путем клонирования дерева COW, а путем добавления номера версии к объектам файловой системы. [10] Функция COW и распределитель сегментов позволяют реализовать RAID, который, как утверждается, не страдает ни от дыр в записи, ни от фрагментации ввода-вывода. [7]
Стабильность
[ редактировать ]![]() | Этот раздел нуждается в расширении . Вы можете помочь, добавив к нему . ( июль 2024 г. ) |
Bcachefs описывает себя как «работающую и стабильную компанию с небольшим сообществом пользователей». [11] Обсуждая Linux 6.9-rc3 7 апреля 2024 года, Линус Торвальдс затронул вопрос стабильности bcachefs, сказав: «Если вы считаете, что bcachefs уже стабилен, я могу вам продать мост » . [12]
История
[ редактировать ]Первичную разработку осуществил Кент Оверстрит, разработчик Bcache , который он описывает как «прототип» идей, которые стали Bcachefs. Оверстрит планирует, что Bcachefs заменит Bcache. [8] Оверстрит заявил, что разработка Bcachefs началась, когда разработчики Bcache осознали, что его кодовая база «развилась... в полноценную файловую систему общего назначения POSIX » и что «в ней был действительно чистый и элегантный дизайн», если они взял в этом направлении. Через некоторое время после того, как в 2013 году Bcache был объединен с основным ядром Linux, Оверстрит оставил свою работу в Google, чтобы полностью посвятить себя работе над Bcachefs. [3]
После нескольких лет нефинансированной разработки Оверстрит анонсировал Bcachefs в 2015 году, после чего назвал код «более или менее полным» и призвал тестировщиков и участников. Он планировал, что это будет продвинутая файловая система с современными функциями. [13] как у ZFS или Btrfs , со скоростью и производительностью таких файловых систем, как ext4 и XFS . [3] По состоянию на 2017 год Overstreet получал финансовую поддержку для разработки Bcachefs через Patreon . [5]
По состоянию на середину 2018 года формат на диске устоялся. [8] Патчи были отправлены на рассмотрение для включения Bcachefs в основное ядро Linux, но еще не были приняты. [4]
К середине 2019 года необходимые функции Bcachefs были завершены, а соответствующие исправления для LKML были отправлены на экспертную оценку. [14] [15] В октябре 2023 года Bcachefs был объединен с ядром Linux 6.7. [16] который был выпущен в январе 2024 года. [2]
Ссылки
[ редактировать ]- ^ «kernel/git/torvalds/linux.git — дерево исходного кода ядра Linux» . git.kernel.org . Проверено 31 октября 2023 г.
- ^ Jump up to: а б Ларабель, Майкл (07 января 2024 г.). «Выпущен Linux 6.7 с Bcachefs, Intel Meteor Lake в хорошей форме и поддержкой Nouveau GSP» . www.phoronix.com . Проверено 7 января 2024 г.
- ^ Jump up to: а б с д Ларабель 2015 .
- ^ Jump up to: а б с д Ларабель 2018 .
- ^ Jump up to: а б с Лодки 2017 года .
- ^ «Параметры — документация bcachefs» .
- ^ Jump up to: а б с Оверстрит, Кент (18 декабря 2021 г.). «bcachefs: Принципы работы» (PDF) . Проверено 10 мая 2023 г.
- ^ Jump up to: а б с Край 2018 года .
- ^ «Архитектура» . bcachefs.org .
- ^ «Снимки» . bcachefs.org .
- ^ «bcachefs.org» . Архивировано из оригинала 3 апреля 2024 г.
- ^ Торвальдс, Линус (07 апреля 2024 г.). «Линукс 6.9-rc3» . Список рассылки ядра Linux (Список рассылки).
- ^ Джексон 2015 .
- ^ ЛКМЛ 2021 .
- ^ ЛКМЛ 2022 .
- ^ «Bcachefs объединены с ядром Linux 6.7» . www.phoronix.com . Проверено 31 октября 2023 г.
Цитируемые работы
[ редактировать ]- Баадер, Ханс-Иоахим (17 марта 2017 г.). «Новая версия bcachefs обеспечивает шифрование » . Pro-Linux (на немецком языке) . Проверено 23 ноября 2018 г.
- Эдж, Джейк (23 мая 2018 г.). «Обновление bcachefs» . LWN.net . Архивировано из оригинала 1 июня 2018 г. Проверено 22 ноября 2018 г.
- Джексон, Иоав (21 августа 2015 г.). «Бывший инженер Google разрабатывает новую файловую систему Linux» . Мир ПК . Проверено 22 ноября 2018 г.
- Ларабель, Майкл (21 августа 2015 г.). «Новая файловая система Linux нацелена на скорость, но при этом имеет функции, подобные ZFS/Btrfs» . Фороникс . Архивировано из оригинала 23 августа 2015 г. Проверено 22 ноября 2018 г.
- Ларабель, Майкл (9 мая 2018 г.). «Файловая система Bcachefs работает над внедрением в ядро Linux» . Фороникс . Архивировано из оригинала 9 июля 2018 г. Проверено 22 ноября 2018 г.
- ЛКМЛ (10.06.2019). «обновление статуса bcachefs (готовка завершена; давайте объединим эту присоску)» . Список рассылки ядра Linux .
- ЛКМЛ (04.11.2021). «Обновление статуса bcachefs — текущая и будущая работа» . Список рассылки ядра Linux . Проверено 2 декабря 2021 г.
- ЛКМЛ (16 февраля 2022 г.). "бкашефс" . Список рассылки ядра Linux . Проверено 14 сентября 2022 г.