Btrfs: основные особенности

Алексей Федорчук

Похоже, что btrfs действительно аккумулирует все передовые достижения Unix-like файловых систем за всё время их развития.

Действительно, на Btrfs Wiki её особенности сформулированы следующим образом:

Основанное на экстентах хранилище файлов (максимальный размер файла 264)

Со времён появления из недр проекта BSD файловой системы UFS механизмы хранения файлов развивались одновременно в двух направлениях: по пути внутренней фрагментации логических блоков — для экономии дискового пространства, и по пути группировки блоков в единицы, которые могут быть считаны одной атомарной операцией — для повышения производительности. Экстенты наиболее полно воплощены в XFS. В btrfs мы видим нечто похожее.

Эффективное с точки зрения экномиии пространства размещение маленьких файлов.

Ничего не напоминает? Правильно, подход к маленьким файлам в Reiserfs. Что не удивительно — Крис Мейсон участвовал в её разработке.

Эффективное индексирование каталогов.

Представляется самоочевидным.

Динамическое выделение inodes

Шаг в этом направлении был сделан ещё в XFS.

Перезаписываемые снапшоты

Пожалуй, до сих пор эта идея лучше всего воплощена была в ZFS. В btrfs она дополнена снапшотами снапшотов.

Субтома — отдельные корни внутри единой файловой системы.

Похоже на то, как это реализовано в ZFS — с поправкой на различия терминологии.

Уровни зеркалирования и расщепления данных…

обеспечивающие надёжность или (и) быстродействие.

Контрольные суммы для данных и метаданных, для расчета которых доступны различные алгоритмы.

Обеспечивают восстановление целостности данных при сбоя.

Сжатие данных…

… на предмет экономии дискового пространства.

Интегрированная поддержка множественных устройств, с несколькими алгоритмами raid.

Что делает ненужным отдельные инструменты для создания программных RAID-массивов.

Онлайновая проверка целостности файловой системы.

Некогда предмет городсти UFS2 во FreeBSD — проверка смонтированных файловых систем в процессе работы.

Очень быстрая оффлайновая проверка  целостности файловой системы.

Альтернатива предыдущему методу — если он почему-либо нежелателен: проверка отмонтированных файловых систем. В зависимости от ситуации, и то, и другой метод обеспечивают быстрое восстановление работоспособности системы после сбоев — при современных объемах дисков это важно не только для серверов.

Эффективное инкрементное резервирование данных и зеркалирование файловых систем.

В комментариях не нуждается. «Не щутите с данными, ибо шутки эти глупы и неприличны», как сказал бы Козьма Прутков.

Онлайновая дефрагментация файловой системы.

Для Unix-like файловых систем обычно не актуально, но может быть востребовано на файловых системах, сильно заполненных. Вообще, при разработке btrfs большое внимание уделяется поддержки «старых» (не в смысле возраста разработки, а в смысле времени использования) файловых систем.

К этому следует добавить также:

Журналирование по алгоритму Copy on Write

ранее реализованное в ZFS, и

конверсию файловых систем ext2/ext3 в btrfs без потери данных

Особенность, которая, насколько мне известно,  не имеет ни аналогов, ни предтеч. Ну а о её значении можно особо не распространяться. Причём предполагается, что со временем механизм конверсии будет распространён и на ext4.

Наконец:

Режим оптимизации для работы на твердотельных устройствах, активизируемый посредством опций монтирования.

Вопрос этот приобретает всё большую актуальность — в связи с ростом объемов SSD-накопителей, панедием их стоимости и всё более широким использованием в нетбуках, а в перспективе — и на десктопах. При этом ни одна из современных файловых систем общего назначения не ориентирована на эти устройства. Так что и тут btrfs оказывается уникальной.

Не все из перечисленных особенностей btrfs реализованы в настоящее время, и не всегда в полном объёме. Однако ко времени выхода её релиза (а можно предполагать, что он совпадёт с выходом ядра 2.6.29 — или наоборот) следует ожидать воплощения большей их части.

И тогда возникает вопрос: а его ещё остаётся желать от файловой системы?

Btrfs: основные особенности: 1 комментарий

  1. > И тогда возникает вопрос: а его ещё остаётся желать от файловой системы?
    Надежности и стабильности.Если это будет достигнуто — просто ФС моей мечты.С учетом емкости дисков — все этоактуально уже не только серверам.Просто несколько терабайтных дисков уже удобнее использовать с чем-то таким.

Обсуждение закрыто.