Обзор Ext4 vs Btrfs vs XFS

Многие люди задумываются о выборе лучшей файловой системы для своего компьютера. У пользователей Windows и MacOS X небольшой выбор, им доступна только одна стандартная файловая система, это NTFS и HFS+. В операционной системе Linux все по-другому, здесь доступно множество файловых систем на любой вкус.

Очень широко в Linux используется Ext4, её можно считать файловой системой по умолчанию. Но есть несколько поводов попробовать что-то новое. Например, Btrfs vs XFS. Действительно ли она из них лучше других? Давайте сначала рассмотрим самые популярные файловые системы и особенности их работы, так сказать, сделаем небольшое сравнение.

Как работает файловая система?

Если вы незнакомы с основами работы файловых систем, скажу об этом несколько слов чтобы вы смогли лучше понять, в чем разница Btrfs vs Ext4 vs XFS. Файловые системы используются для того, чтобы контролировать способ записи данных на диск, доступ к этим данным, а также хранят информацию, метаданные о файлах. Фактически, все данные в файловой системе делятся на две части - это метаданные и данные пользователя. Это не просто запрограммировать, но файловые системы постоянно совершенствуются. Постоянно дорабатывается новая функциональность, и они становятся более эффективными.

Обзор Ext4 vs Btrfs vs XFS

Файловая система Ext4 это улучшенная версия Ext3, которая, в свою очередь,  не что иное, как переработанная Ext2. Ext4 - очень стабильная файловая система, которая была выбрана по умолчанию в большинстве дистрибутивов Linux, за несколько последних лет. Но её код уже порядочно устарел. Кроме того, пользователи Linux хотят новых возможностей и функций, которых нет в Ext4, но они есть в других файловых системах, например, в Btrfs и XFS. Сюда относятся запись добавлением, снапшоты, подразделы, увеличенный объем данных и количество файлов, а также многое другое. Дальше мы кратко рассмотрим каждую из предложенных файловых систем, чтобы вы смогли выбрать какая файловая система Btrfs или Ext4 лучше именно для вас.

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

  • Максимальный размер раздела: 50-100 Тб.
  • Максимальный размер файла: 16 Тб.
  • Максимальное количество файлов: 4 млрд.
  • Максимальная длина имени: 255 символов.
  • Количество вложенных каталогов: не ограничено.

Изначально в Linux использовалась файловая система операционной системы Minix, но она имела много ограничений, поэтому в 1992 году Реми Кард начал работать над файловой системой Ext. Тогда, эта файловая система могла использоваться на разделах до двух гигабайт, а максимальный размер имени файла уже был 255 символов.

Спустя немного времени вышла Ext2, в которой было много улучшений, и максимальный размер раздела был увеличен до нескольких терабайт, но у файловой системы была ещё одна проблема - при любом сбое питания был огромный риск потерять все данные. Если во время сбоя записывались какие-либо данные, то файловая система переходила в неопределённое состояние, что могло привести к потере данных вообще не связанных с записываемыми данными.

Чтобы исправить эту проблему Стефан Твидл начал работать над ext3, которая была принята в состав ядра в 2001 году. Для решения такой проблемы все популярные на тот момент файловые системы использовали журналирование. Каждая транзакция записывалась в журнал, а для самой файловой системы применялась только после того, как данные будут полностью записаны на диск. При следующей загрузке файловая система определяла проблему и просто откатывалась к предыдущему состоянию по журналу.

Современная файловая система Ext4 была анонсирована Теодором Цо в 2006 году. Здесь снова были увеличены лимиты, но при этом была сохранена обратная совместимость с Ext3. Файловая система может оперировать разделами, размеров 1 000 000 терабайт или один экзабайт, однако делать этого не стоит. При создании разделов размером больше 50-100 терабайт возникают проблемы масштабирования из-за необходимости сохранять очень большие адреса блоков. Ещё один недостаток Ext4 - это отсутствие поддержки выявления повреждения данных из-за выхода из строя аппаратного обеспечения и отсутствие поддержки менеджера томов. Таким образом. Плюсы Ext4:

  • Очень стабильная, проверенная временем файловая система;
  • Поддерживается во всех дистрибутивах по умолчанию;
  • Продолжает развиваться и улучшаться;
  • Поддерживает прозрачное шифрование;

Минусы Ext4:

  • Не поддерживает менеджер томов;
  • Реальный максимальный объем раздела намного меньше одного экзабайта;
  • Не поддерживает новые модные технологии вроде шифрования и сжатия на лету, copy-on-write, дедупликацию, снапшоты и многое другое.

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

  • Максимальный размер раздела: 16 экзабайт.
  • Максимальный размер файла: 16 экзабайт.
  • Максимальное количество файлов: 2 в 64 степени.
  • Максимальная длина имени: 256 символов.
  • Количество вложенных каталогов: не ограничено.

Btrfs - это новая файловая система, разработанная с нуля. Расшифровывается как B-Tree Filesystem. Она была анонсирована Крисом Масоном в 2006 году во время его работы в Oracle. Btrfs поддерживает управление несколькими томами на одном разделе, контрольные суммы для блоков, асинхронную репликацию, прозрачное сжатие, а также многие другие возможности современных файловых систем.

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

Btrfs уже давно полноценно добавлена в ядро и некоторые дистрибутивы поддерживают её выбор на этапе установки. Например, SUSE Linux использует её в качестве файловой системы по умолчанию с 2015 года. Зато Red Hat больше поддерживает Btrfs с 2017. Возможно для серьезных Enterprice систем эта файловая система ещё не подходит, зато для домашнего использования она вполне готова. Преимущества Btrfs:

  • Большие лимиты и хорошая масштабируемость по сравнению с Ext4.
  • Поддержка большинства возможностей современных файловых систем, таких как менеджер томов, сжатие на лету, дедупликация, copy-on-write, снапшоты и многое другое.
  • Поддержка проверки контрольных сумм, что позволяет точно обнаружить повреждение данных из-за аппаратных проблем.

Минусы Btrfs:

  • Файловая система относительно новая и совсем недавно она считается стабильной. Использование новых возможностей может привести к повреждению данных.
  • Отсутствие шифрования на лету.

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

  • Максимальный размер раздела: 8 экзабайт.
  • Максимальный размер файла: 8 экзабайт.
  • Максимальное количество файлов: 2 в 64 степени.
  • Максимальная длина имени: 256 символов.
  • Количество вложенных каталогов: не ограничено.

XFS считается расширенной файловой системой. Это высоко производительная 64-битная, журналируемая файловая система. Поддержка XFS была добавлена в ядро в 2002 году. А в 2009 она впервые была использована в Red Hat Enterprise Linux 5.4. Файловая система рассчитана на очень высокую производительность для больших файловых систем, а также может обеспечивать хорошую производительность для большого количества параллельных операций.

Тем не менее эта файловая система не завоевала большой популярности. Она очень стабильная и производительная, поэтому используется по умолчанию в RHEL 7 и уже в 8, однако в ней нет ничего такого, чего бы не было в Ext4. XFS явно не относится к файловым системам следующего поколения, как Btrfs. К тому же она имеет ограничения, которые могут мешать обычным пользователям. Плюсы XFS:

  • Очень стабильная и производительная.

Минусы XFS:

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

Заключение и выводы

 

Показатель Ext4 XFS Btrfs
Дата выхода 1992 2002 2006
Максимальный размер раздела 50-100 Тб 8 Эб 16 Эб
Максимальный размер файла 16 Тб 8 Эб 16 Эб
Максимальное количество файлов 2 в 32 степени 2 в 64 степени 2 в 64 степени
Максимальная длина имени 255 255 255
Прозрачное шифрование Да Нет Нет
Прозрачное сжатие Нет Нет Да
Управление томами Нет Нет Да
Дедупликация Нет Нет Да
Уменьшение размера раздела Да Нет Да
Создание снапшотов Нет Нет Да
Copy-on-write Нет Да Да

Так что же лучше использовать? До сих пор Ext4 была победителем, несмотря на идентичную производительность. Но почему? Ответ - удобство и популярность. Ext4 - по-прежнему отличная файловая система для рабочих станций и настольных компьютеров. Она поставляется по умолчанию, а потому пользователь получит её просто установив ОС. Кроме того, Ext4 поддерживает разделы до 100 терабайт и файлы до 16 терабайт, а это по-прежнему очень много. Обычным пользователям столько точно не надо.

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

Даже если скорость передачи данных не очень важна, есть такая характеристика, как скорость работы с файлами. В Btrfs есть много полезных функций: копирование при записи, контрольные сумы, снимки, очистка, самовосстановление данных, дедупликация, а также другие интересные улучшения, которые обеспечивают сохранность данных. В ней только недостает функции ZFS - Z-RAID, так что RAID пока находиться на экспериментальной стадии. Для обычного хранения данных Btrfs лучше подходит чем Ext4, но как будет на самом деле покажет время. Что использовать Btrfs или Ext4 - это только дело вашего вкуса.

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

Кстати, если вы используете Windows и Linux на одной машине, вам может быть интересна моя статья: Подключение ext4 в Windows

Оцените статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (16 оценок, среднее: 4,00 из 5)
Загрузка...

9 комментариев

  1. Аватар Денис 7 декабря, 2015 Ответить
    • Аватар Emir 18 июля, 2017 Ответить
  2. Аватар Андрей 29 января, 2016 Ответить
  3. Аватар The Azag-tot 30 апреля, 2016 Ответить
  4. Аватар Виктор 7 мая, 2016 Ответить
  5. Аватар Flashback 22 апреля, 2020 Ответить
  6. Аватар Andrey 22 сентября, 2020 Ответить
  7. Аватар Axel 14 октября, 2020 Ответить

Ответить

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: