Btrfs vs Ext4 — возможности, сильные и слабые стороны. В чем разница и что лучше?

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

Ядро Linux поддерживает множество файловых систем. Чаще всего используются Ext4, Btrfs, XFS и ZFS, самая последняя файловая система, выпущенная еще в 2018 году. Каждая из этих файловых систем имеет свой собственный способ организации данных, достоинств и недостатков.

В этом руководстве мы сравним Btrfs и Ext4, и постараемся понять их функциональные возможности, сильные и слабые стороны.

Файловая система Ext4

Ext4 — файловая система по умолчанию для многих дистрибутивов Linux. Она была выпущена в октябре 2008 года с ядром Linux 2.6.28. Ext4 — это четвертая версия расширенной файловой системы и преемница Ext3.

Ext4 — это надежная файловая система, которая используется уже долгое время. Это журналируемая файловая система, что означает, что она ведет «журнал» о том, где файлы расположены на диске, и отслеживает любые другие изменения на диске.

Файловая система Btrfs

Btrfs или файловая система B-Tree — это новая, современная файловая система с открытым исходным кодом. Это файловая система с копированием при записи (CoW), адаптированная для систем Linux, и ее название происходит от использования B-trees для хранения внутренних файловых структур. В настройке файловой системы CoW, когда данные изменяются, копии файловой системы изменяются и записывают данные обратно в доступное место в файловой системе.

Так как данные копируются в другое место файловой системы, это устраняет риск повреждения данных в случае отключения электроэнергии. Важно отметить, что во время модификации, исходные данные сохраняются и остаются неизменными.

Самый большой недостаток файловой системы Btrfs заключается в том, что большие файлы легко дефрагментируются, и поэтому требуется периодическая дефрагментация.

Разработка Btrfs началась еще в 2007 году в Oracle как альтернатива файловой системе ZFS, но и другие крупные компании, включая SUSE, Facebook, Redhat, вносят свой вклад в ее развитие. Btrfs существует потому, что разработчики хотели расширить функциональные возможности файловой системы, включив в нее такие функции, как моментальные снимки, контрольная сумма и т. д.

Возможности BTRFS

Некоторые из интересных функций, предлагаемых btrfs, включают:

1) Поддержка огромных файлов

Файловая система Btrfs может поддерживать до 2 в 64 степени байтов, что эквивалентно 16EiB или exbibytes! Это огромный размер хранилища!

2) Эффективное хранилище файлов

Btrfs предоставляет файловое хранилище на основе экстентов. Это описывается как непрерывная область, зарезервированная для хранения файлов. Накладные расходы на метаданные файлов значительно сокращаются, а небольшие метаданные напрямую способствуют повышению эффективности и производительности хранилища.

По-прежнему являясь эффективным хранилищем файлов, Btrfs обеспечивает эффективное хранилище для файлов меньшего размера, упаковывая их как метаданные.

3) Встроенная поддержка RAID

Файловая система Btrfs включает поддержку RAID 0 (удаление данных), 1 (зеркальное отображение данных) и RAID 10 (удаление и зеркалирование данных).

4) Онлайн-дефрагментация и изменение размера

С помощью Btrfs можно выполнять дефрагментацию и изменение размера, даже когда файловая система находится в оперативном режиме.

5) Снимки с возможностью записи и только для чтения

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

6) Поддержка контрольных сумм

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

7) Оптимизированная поддержка SSD-накопителей

Диски SSD (твердотельные накопители) действительно обеспечивают приличную скорость, надежность и стабильность на ПК. Файловая система Btrfs дополнительно повышает их производительность за счет оптимизации производительности чтения и записи и, таким образом, увеличения срока службы SSD.

Сравнение файловых систем Ext4 и Btrfs

1. Журнал и поддержка копирования при записи

Это первое существенное различие между двумя файловыми системами. Файловая система Ext4 — это файловая система с журналированием, а Btrfs — файловая система с функцией копирования при записи (CoW).

2. Поддержка нескольких устройств

Распространение одной файловой системы на несколько устройств дает определенные преимущества, такие как увеличенная емкость и надежность. Btrfs имеет встроенную поддержку RAID, которая упрощает управление несколькими устройствами на уровне файловой системы.

Файловая система Ext4 не имеет встроенной поддержки нескольких устройств. Вам придется использовать сторонние менеджеры логических томов, такие как LVM 2, чтобы распределить вашу файловую систему на несколько устройств и дисков.

3. Дедупликация на уровне файловой системы:

Дедупликация — это функция, которая автоматически удаляет повторяющиеся копии данных из файловой системы для экономии места на диске. Файловая система Btrfs поддерживает дедупликацию, заменяя идентичные блоки в файловой системе логическими ссылками на одну копию блока. Эта функция экономит огромное количество дискового пространства.

Файловая система Ext4 не поддерживает дедупликацию.

4. Сжатие на уровне файловой системы

Btrfs использует алгоритмы сжатия для поддержки сжатия данных на уровне файловой системы. Это означает, что данные будут автоматически сжиматься при записи в файловую систему.

Файловая система Ext4 не имеет встроенной поддержки сжатия.

5. Максимальный раздел и размер файла

Самый большой раздел, который вам разрешено создать с помощью ext4, составляет 1 эксбибайт — что эквивалентно примерно 1 152 921,5 терабайтов. Максимальный размер файла составляет 16 ТиБ, что намного больше, чем у любого жесткого диска, который в настоящее время может купить обычный потребитель.

Btrfs поддерживает максимальный размер раздела и файла до 16Eib.

Ext4 позволяет создавать максимум 232 (= 4 294 967 296 ~ = 4 миллиарда) файлов. Btrfs позволяет создать максимум 264 (= 18 446 744 073 709 551 616 ~ = 18 квинтиллионов) файлов.

6. Контрольная сумма / поддержка ECC

Файловая система Btrfs использует контрольную сумму CRC32C для обеспечения целостности данных и предотвращения их повреждения. Файловая система Ext4 не гарантирует целостность ваших данных.

7. Поддержка снимков

Файловая система Btrfs поддерживает моментальные снимки файла только для чтения и записи. Моментальный снимок — это под-объем, который совместно использует свои данные и метаданные с другим под-томом, используя возможности COW.

Файловая система Ext4 не поддерживает создание снимков файловой системы.

8. Подразделение блоков и упаковка хвостов.

Перераспределение блоков — это функция, при которой большие файлы хранятся в блоках, при этом эффективно используется хвостовое пространство в конце последнего блока. Перераспределение блоков — это метод сохранения частей другого файлового блока в хвостовом блоке и экономии места на диске.

Btrfs был разработан, чтобы использовать это доступное пространство и может упаковывать хвосты нескольких блоков с другими файлами. Это улучшает производительность файловой системы и увеличивает эффективность хранения.

Ext4 не поддерживает упаковку хвоста.

Заключение

Файловая система Ext4 — это последняя версия расширенной файловой системы. Ext4 существует уже давно и зарекомендовала себя как надежная и стабильная. Она рекомендуется для повседневного использования.

Ext4 ориентирован на высокую производительность и масштабируемость. Это надежный вариант, поскольку она существует уже давно, принося с собой все годы тестирования системы и исправления ошибок. Несмотря на все ее функции, она не поддерживает дедупликацию, сжатие или шифрование данных.

С другой стороны, Btrfs — это современная файловая система, которая может обрабатывать в шестнадцать раз больше данных, чем Ext4. Это улучшение особенно важно, поскольку Linux теперь используется в корпоративных структурах. Btrfs имеет много хороших функций упомянутых выше, таких как копирование при записи, моментальные снимки, контрольные суммы и дублирование. Btrfs растет быстрыми темпами, но все еще не считается стабильной.

До сих пор ext4 казался гораздо лучшим выбором для настольной системы, поскольку это файловая система по умолчанию, и при передаче файлов она работает быстрее, чем btrfs. Файловая система btrfs заслуживает внимания, но полная замена ext4 на настольном Linux может произойти еще не скоро.

Поделитесь с друзьями
FOX
FOX

Люблю что-то новое

Статей: 126

Добавить комментарий

3 комментариев
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
OldRunner

Я уже больше года, как перешел на btrfs на всех своих системах — доволен, как слон после купания, и уще ни разу не пожалел.
Рекомендую всем — даже и сомневаться не стоит.

Snow fire

корень системы у меня как раз на btrfs… должен сказать, что загружается довольно быстро система и лучше реагирует, чем на ext4

UALinux

надо будет попробовать.
наверное не зря линуксы редхат/федора и оракл на нее переходят

3
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x