Меню

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



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

На домашнем компьютере озадачился выбором файловой системы для своего домашнего раздела и специального раздела для backup, пока что по критерию — производительность, о надёжности пока не беспокоюсь ибо бекапы рулят

Желание подобрать ФС возникло после того как ощутил разницу между копирование больших файлов на Ext4 и ReiserFS, ReiserFS видимо не для этого должна использоваться

Для тестов использовал наиболее типичные для моего домашнего компьютера задачи (копирование больших и маленьких файлов, поиск текста в исходниках, удаление хлама, make clean)

cmd1=»cp -r /media/media4/video/best $dest»
cmd2=»rsync -rlhtgopu /media/media4/backup $dest»
cmd3=»grep linux -sir $dest/backup/wine-src/»
cmd4=»find $dest -type f -delete»

  1. В качестве данных использовал DVDRipы фильмов и свой старенький backup (фотки и сорци кое каких собираемых руками программ)
  2. данные перемещались с Sata на IDE
  3. замеры проводились в помощью /usr/bin/time
  4. между тестами 10 минутные паузы, чтобы устаканить uptime
  5. раздел размещён на LVM
  6. размер ФС подобран так чтобы данные заполняли его на 2/3

1,7G /media/media4/backup/ — 40285 файлов (AD0 Foto home.e2i.bz2 Transmission video Video wine-src)
7,4G /media/media4/video/best/ — 4 файла DVDRIP

ext2 ext3 ext4 xfs reiserfs btrfs vfat jfs
копирование больших файлов: 116.03 122.69 116.45 137.47 138.67 130.25 114.25 130.98
бекап домашней директории: 115.33 124.25 99.61 220.50 119.25 98.44 159.65 172.21
поиск среди маленьких файлов: 66.71 63.69 68.76 47.02 66.45 77.18 60.64 107.21
повторный поиск среди маленьких файлов: 100.47 97.27 102.36 80.70 96.48 101.27 78.27 135.29
поиск и удаление файлов: 8.09 7.51 6.40 82.59 10.22 13.53 12.45 15.67
средняя нагрузка на систему: 1.85, 1.37, 1.95, 1.39, 1.99, 1.26 2.02, 1.64 2.00, 1.47 2.09, 1.37 2.02, 1.39 2.55, 1.99

Полным победителем оказывается vfat, открытая реализация ФС от МС — ужас, а ведь некоторых это может даже впечатлить

Но если отбросить архаику(ext2), экзотику(xfs,reiserfs) и извращения(vfat)(не скажу почему) и оставить наиболее распространённые и поддерживаемые разработчиками файловые системы то картинка проясняется, видим

сравнение фс ext3 ext4 btrfs
копирование больших файлов: 122.69 116.45 130.25
бекап домашней директории: 124.25 99.61 98.44
поиск среди маленьких файлов: 63.69 68.76 77.18
повторный поиск среди маленьких файлов: 97.27 102.36 101.27
поиск и удаление файлов: 7.51 6.40 13.53
средняя нагрузка на систему: 1.95, 1.39, 1.99, 1.26 2.09, 1.37

что у Ext3 вроде бы больше плюсов перед всеми, но Ext4 смотрится вкуснее особенно если выкинуть btrfs

сравнение фс ext3 ext4
копирование больших файлов: 122.69 116.45
бекап домашней директории: 124.25 99.61
поиск среди маленьких файлов: 63.69 68.76
повторный поиск среди маленьких файлов: 97.27 102.36
поиск и удаление файлов: 7.51 6.40
средняя нагрузка на систему: 1.95, 1.39, 1.99, 1.26

Похоже, что для обычного серферского компа, на котором крутится браузер с парой графических программ лучше подойдёт Ext4

Хотя если важнее поиск по файлам, работа с исходниками и системами контроля версий и переход на новые версии ядна не предвидится, то смысла использовать Ext4 нет

xfs reiserfs vfat jfs
копирование больших файлов: 137.47 138.67 114.25 130.98
бекап домашней директории: 220.50 119.25 159.65 172.21
поиск среди маленьких файлов: 47.02 66.45 60.64 107.21
повторный поиск среди маленьких файлов: 80.70 96.48 78.27 135.29
поиск и удаление файлов: 82.59 10.22 12.45 15.67
средняя нагрузка на систему: 2.02, 1.64 2.00, 1.47 2.02, 1.39 2.55, 1.99

Использовать так (после правки путей. ):

ps: Весьма смущает результаты повторного поиска, почему то он всегда долще чем первый на любых ФС, как будто ФС не умеют кешировать данные

pss: при создании и монтировании файловых системы применялись стандартные опции(смотреть тест), тоесть ни каких опций не применялось

psss: добавлены результаты тестирования jfs, результаты не радуют

серьёзные ссылки по теме производительности различных ФС:

Источник

Обзор 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 лучше именно для вас.

Читайте также:  Fx 6300 характеристики сравнение с intel core i5

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

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

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

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

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

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

Файловая система 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 можно только расширять, уменьшать нельзя.

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

Показатель 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

Источник

Обзор файловых систем: Ext4, Btrfs и Xfs

Рубрики:

Метки:

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

Давайте рассмотрим самые популярные файловые системы и особенности их работы, а затем займемся их сравнением.

Функции файловых систем

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

Зачем разбивать на разделы?

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

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

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

Читайте также:  Тамифлю или инфлюцеин сравнение

Имейте в виду, что наличие журналируемой файловой системы обеспечит защиту данных только в том случае, если произошел сбой питания или же внезапное отключение запоминающего устройства. Это не защитит данные от битых блоков и логических ошибок в файловой системе. В таких случаях пользователь должен использовать резервный массив нескольких дисков (RAID).

Зачем менять файловые системы?

Файловая система Ext4 — улучшенная версия Ext3, которая, в свою очередь, не что иное, как улучшенная Ext2. Ext4 — очень надежная файловая система, которая используется практически во всех дистрибутивах в течение последних нескольких лет. Но её код уже достаточно устарел.

Кроме того, пользователи Linux хотят новых возможностей и функций, которых нет в Еxt4, но они есть в других файловых системах, например, Btrfs и Xfs. Существует программное обеспечение, которое удовлетворяет некоторые из таких потребностей, но поддержка на уровне файловой системы будет работать намного быстрее.

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

У Ext4 есть некоторые ограничения, которые впечатляют даже сейчас. Максимальный размер файла составляет 16 тебибайт (что составляет примерно 17,6 терабайт). А это намного больше, чем емкость любого жесткого диска, который может купить обычный пользователь. В то время как наибольший том / раздел, который вы можете сделать с помощью Ext4, составляет 1 эксабайт (что составляет примерно 1152921.5 терабайт).

Известно, что Ext4 работает быстрее, чем Ext3. Как и все современные файловые системы, она журналируемая, а это значит, что Ext4 будет вести журнал расположения файлов на диске, а также записывать туда любые изменения данных. Несмотря на все ее функции, она не поддерживает прозрачное сжатие, дедупликацию данных и прозрачное шифрование. Снимки состояния технически поддерживаются, но это только экспериментальная функция.

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

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

Btrfs не зависит от Ext4, но реализует ее лучшие идеи и преимущества, а также свои дополнительные возможности, которые будут очень полезны пользователям, и особенно предприятиям.

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

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

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

XFS считается расширенной файловой системой. XFS — это высокопроизводительная файловая система с 64-разрядными журналами. Поддержка XFS была включена в ядро Linux примерно в 2002 году. XFS поддерживает максимальный размер файловой системы, равный 8 эксабайт для 64-битной файловой системы.

Но у XFS существуют некоторые ограничения. Например, раздел этой файловой системы не может быть уменьшен, а также наблюдается низкая производительность при работе с большим количеством файлов. RHEL 7.0 использует XFS в качестве файловой системы по умолчанию.

Итак, что лучше использовать? До сих пор Ext4 является наилучшим выбором, несмотря на идентичную производительность с XFS. Но почему? Удобство и «вездесущность» — основные причины. Ext4 — отличная файловая система для настольных или рабочих станций. Она предоставляется по умолчанию, поэтому пользователь может установить на ней операционную систему. Кроме того, Ext4 поддерживает тома до 1 Exabyte и файлы размером до 16 терабайт.

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

Несмотря на то, что скорость передачи данных так важна, в Btrfs она выше в самой системе, чем непосредственно при передаче файлов. Btrfs имеет множество полезных функций, таких как Copy-on-Write (CoW), расширенные контрольные суммы, моментальные снимки, самовосстановление данных, дедупликация, а также улучшения, которые обеспечивают целостность данных. У Btrfs нет функций RAID-Z для ZFS, поэтому RAID все еще находится в экспериментальном состоянии с Btrfs. Тем не менее, для чистого хранения данных Btrfs лучше.

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

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University.

Источник