Алексей Федорчук
Похоже, что 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 — или наоборот) следует ожидать воплощения большей их части.
И тогда возникает вопрос: а его ещё остаётся желать от файловой системы?
> И тогда возникает вопрос: а его ещё остаётся желать от файловой системы?
Надежности и стабильности.Если это будет достигнуто — просто ФС моей мечты.С учетом емкости дисков — все этоактуально уже не только серверам.Просто несколько терабайтных дисков уже удобнее использовать с чем-то таким.