Каковы преимущества Btrfs для конечных пользователей?

22

Btrfs начал набирать обороты в замене ext4 в качестве файловой системы по умолчанию для нескольких дистрибутивов, таких как Fedora Core 16 . Он экспериментально доступен в ряде других дистрибутивов ( из Википедии: openSUSE 11.3, SLES 11 SP1, Ubuntu 10.10, Sabayon Linux, RHEL6, MeeGo, Debian 6.0 и Slackware 13.37). Я, конечно, не готов переконвертировать все свои серверы на рабочем месте (мой выбор файловой системы, как правило, консервативный), я рассматриваю возможность его использования дома и на некоторых не критически важных производственных машинах на работе.

Btrfs предоставляет набор функций, который во многом похож на ZFS. Я могу понять, почему это было бы желательно в «корпоративной» среде, особенно с системами, ориентированными на доставку хранилища. Но как этот набор функций полезен для конечных пользователей? Какие преимущества дает мне список функций Btrfs на машинах, основной функцией которых не является представление хранилища? Какие преимущества это дает мне на моем ноутбуке?

За пределами корпоративного хранилища, зачем мне переходить на Btrfs с проверенной и настоящей файловой системы Ext?


источник
2
Не могли бы вы подробнее остановиться на пункте «Выбор файловой системы по умолчанию для нескольких дистрибутивов» (я имею в виду ссылки?) - это наиболее интересно.
rozcietrzewiacz
2
Афаик, на диске формат еще не стабилен. Я не буду использовать это, пока это не так. И если вы не можете ответить, почему вы, вы тоже не должны.
ксенотеррацид
2
Большая проблема в решении Fedora - отсутствие fsck thread.gmane.org/gmane.linux.redhat.fedora.devel/152285 . fedoraproject.org/wiki/Features/F16BtrfsDefaultFs .
Руфо Эль Магуфо
2
Процесс компонента всегда имеет запасной план, если предложенная функция не готова. К счастью, это легко в этом случае - сохранить статус-кво. Подробности в этом случае здесь .
Mattdm
1
«Btrfs предоставляет набор функций, который во многом похож на ZFS». Действительно, но не во всех отношениях. Например, ZFS не нужен fsck, и это сделано специально. ZFS не повреждена паникой ОС или сбоями питания диска.
Jlliagre

Ответы:

21

Из вики :

Extent based file storage
2^64 byte == 16 EiB maximum file size
Space-efficient packing of small files
Space-efficient indexed directories
Dynamic inode allocation
Writable snapshots, read-only snapshots
Subvolumes (separate internal filesystem roots)
Checksums on data and metadata
Compression (gzip and LZO)
Integrated multiple device support 
    RAID-0, RAID-1 and RAID-10 implementations 
Efficient incremental backup
Background scrub process for finding and fixing errors on files with redundant copies
Online filesystem defragmentation 

Объяснение для пользователей настольных компьютеров:

  • Компактная упаковка небольших файлов: важно для настольных компьютеров с десятками тысяч файлов (maildirs, репозитории с кодом и т. Д.).
  • Динамическое распределение inode: избегайте ограничений Ext2 / 3/4 в количестве inode. Ограничения inode Btrfs находятся в совершенно другой лиге (тогда как inode in ext4 выделяются во время создания файловой системы и не могут быть изменены после создания, как правило, в 1-2 миллиона, с жестким ограничением в 4 миллиарда, inodes btrfs динамически распределяются по мере необходимости, и жесткий предел составляет 2 ^ 64, около 18,4 квинтиллиона, что примерно в 4,6 миллиарда раз превышает жесткий предел ext4).
  • Снимки только для чтения: быстрое резервное копирование.
  • Контрольные суммы данных и метаданных: необходимы для целостности данных. Ext4 имеет только целостность метаданных.
  • Сжатие: сжатие LZO очень быстрое.
  • Фоновый процесс очистки для поиска и исправления ошибок в файлах с избыточными копиями: целостность данных.
  • Оперативная дефрагментация файловой системы: autodefrag в 3.0 будет дефрагментировать некоторые типы файлов, такие как базы данных (например, профили Firefox или хранилище akonadi).

Я рекомендую вам ядро ​​3.0. Также btrfs - это хорошая FS для SSD.

Руфо Эль Магуфо
источник
4
Быстрое резервное копирование и полный откат системы
psusi
11

Для выгоды: я полагаю, что это будут в основном функции резервного копирования и зеркалирования.

Но почему вы так спешите думать о btrfs как о файловой системе, готовой заменить любую из ваших текущих? Обе вики, на которые вы ссылаетесь:

(...) it is currently possible to corrupt a filesystem irrecoverably if your 
machine crashes or loses power on disks that don't handle flush requests
correctly. This will be fixed when the fsck tool is ready.

и документация ядра 3.0

  Btrfs filesystem (EXPERIMENTAL) Unstable disk format
  (...)
  Btrfs is highly experimental, and THE DISK FORMAT IS NOT FINALIZED. 
  You should say N here unless you are interested in testing Btrfs 
  with non-critical data.

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

Но когда дело доходит до формы, я считаю, что конечный пользователь будет иметь значение только для личных данных, таких как вещи в домашнем каталоге. Там не будет необходимости в страховочной сети для перемещения вещей в мусорное ведро - на самом деле будет необходимость переопределить «мусор» в настольных средах. Остальные функции, вероятно, в конечном итоге (для пользователя) будут чувствовать себя быстрее (если вообще будут), но быстрее израсходуют дисковое пространство.

rozcietrzewiacz
источник
5

BTRFS значительно выросла за эти годы (с тех пор, как был задан этот вопрос). Теперь он достаточно стабилен для большинства простых случаев использования, даже для разных уровней RAID (например, RAID-1 - стабильный и простой в настройке). Учитывая тот факт, что BTRFS хранит контрольные суммы, он способен надежно обнаруживать повреждения (в отличие от классических систем RAID, где доступна только четность).
Текущие версии даже способны исправлять типичные ошибки в файловой системе BTRFS RAID-5 (например, путем замены неисправного диска) (хотя raid56 все еще нуждается в улучшении, см. Обновление ниже ).
В случае сбоя операции восстановления / замены сначала обновите ядро ​​(что, вероятно, решает эту проблему) - и, если необходимо, BTRFS имеет некоторые функции восстановления. Даже в худшем случае (например, при отказе нескольких дисков) вы часто сможете скопировать файлы, которые все еще исправны, и вы будете знать, какие файлы повреждены. Поэтому, игнорируя все эти другие функции (такие как создание снимков, копирование CoW, подобъемы), можно использовать BTRFS, если обнаружение повреждения данных / файлов является основным приоритетом.

Обновление: в июне 2016 года было обнаружено, что реализация RAID-5/6 в BTRFS имеет недостатки. BTRFS в целом стабильна, но реализация raid56 очень нова, все равно считается экспериментальной, и теперь ее следует использовать только для тестирования, пока она не будет исправлена. Если вы используете RAID-5/6, вы можете преобразовать его в RAID-1. Он по-прежнему предлагает преимущества для конечных пользователей, такие как контрольная сумма (другие файловые системы могут вообще не знать о поврежденных файлах) и защита в случае сбоя диска.

Справка: BTRFS иногда вычисляет неправильный паритет

basic6
источник
RAID 5 и 6 в настоящее время полностью повреждены в BTRFS и вызывают потерю данных. Избегайте!
Гарет Дэвидсон
1
RAID-5 был плохим примером в этом ответе. Обновлено.
basic6