Btrfs - это новейшая файловая система, которая в данный момент очень активно развивается, и, несмотря на ещё несколько незрелый вид, уже интегрирована в ядро ОС Linux. В целом, говоря предельно кратко, Btrfs — это файловая система, созданная специально для Linux, основанная на структурах B-деревьев и экстентах, и работающая по принципу «копирование при записи» (copy-on-write).
Мне кажется, что для понимания необходимости создания этой файловой системы, необходимо хотя бы вкратце показать исторический фон, на котором она создавалась. В связи с этим стало уже стереотипным мнением, воспринимать Btrfs как прямой ответ на файловую систему ZFS, которую было запрещено включать в состав ядра Linux из-за лицензионной несовместимости с ним.
Феномен появления столь масштабного решения как ZFS, ряд возможностей которой отсутствовали в традиционных файловых системах Linux, нельзя было оставить незамеченным, поэтому Крис Мэйсон (Chris Mason), директор управления Linux Kernel Engineering в Oracle, инициировал разработку новой, не менее масштабной и амбициозной ФС, основанной c прицелом специально под ОС Linux.
Прежде чем привести список основных технических возможностей этой файловой системы, следует ещё раз подчеркнуть, что разработка этой ФС ещё в самом разгаре, и, не смотря на то, что многое уже сделано — многие возможности ещё далеки от совершенства и логического завершения.
Крис Мэйсон, ведущий разработчик btrfs (Oracle)
Как пример такой незавершенности, можно привести то, что до сих пор не доработан до конца инструмент для проверки файловой системы и исправления её ошибок (есть правда утилита для восстановления данных, написанная Йозефом. Работает она также пока в режиме ReadOnly, так что если у кого-то есть сломанные разделы с btrfs — стоит попробовать).
Также лишь совсем недавно вновь начал свою работу Git-репозиторий на kernel.org с набором утилит btrfs-progs
, ориентированных на управление разделами с файловой системой Btrfs (кстати в новой версии появилась поддержка режима scrub
, при котором осуществляется чтение и проверка всех данных и метаданных с целью выявления ошибок и нарушений целостности в файловой системе Btrfs).
Вот её основные особенности:
dynamic inodes
). Иначе говоря, в этой ФС нет максимального количества обслуживаемых файлов; И хотя эта ФС пока активно развивается, в качестве иллюстрации точек её будущего роста и масштабности общей задумки, в качестве примера можно привести решение компании Oracle реализовать сетевой протокол новой распределенной файловой системы CRFS (фактически заменяющий устаревшие NFS и CIFS), который будет спроектирован и оптимизирован полностью под btrfs.
Крис Мэйсон доволен btrfs, несмотря на её острую критику
Второй похожий пример: после долгого анализа существующих ФС, консорциум Intel и Nokia выбрал для своей новейшей мобильной Linux-платформы MeeGo как раз btrfs, которая в сравнении с другими аналогами оказалась наиболее перспективной.
Свежее техническое описание устройства и возможностей btrfs можно найти в подробной статье одного из её разработчиков — Йозифа. Также обратите внимание на инструкцию «Создание и обслуживание разделов с файловой системой Btrfs»
Начало этой серии статей здесь. Следующая часть (продолжение) — вот здесь.
Оставьте комментарий!