Перейти к содержимому

Что лучше f2fs или ext4

  • автор:

f2fs versus ext4: our take on the ongoing battle

Originally developed by Samsung, F2FS (short for Flash-Friendly File System) has been around since 2012, initially merged in Linux Kernel version 3.8. Recently, OnePlus decided to include F2FS instead of EXT4 on the OnePlus 3T. An increasing number of people are already tagging F2FS as “the savior of reading and write speed.”

punyavashist

thecyberfibre

EXT4, the current “standard” filesystem for Android, isn’t as optimized for flash storage as F2FS is, which results in the slower read/write speeds. However, that does not necessarily mean it is worse, as it compensates for the lack of speed with a robust and reliable environment. Out of the two, EXT4 is more likely to endure crashes and sudden shutdowns.

The community is divided into three factions: the first, representing the people who back EXT4 because it works just fine. The second, representing the people who promise F2FS is the future. The third, well, the ones who are confused and clueless. For the people of the third faction, this publication will help you tons.

Compatibility

Compatibility is an issue every new iteration or introduction into the Android development scene has to face. As EXT4 has been the standard for such a long time now, almost all of the devices readily support it. F2FS, on the other hand, is currently limited to an increasing number of devices that “support” it.

Looking at the paragraph above makes me want to clarify the meaning of a “device” supporting a specified file system. We’re taking a “device” as the corporate representative of a supporting ROM, Kernel, and Recovery.

An In-depth look

This section is for the more technically inclined. Solid state drives, (the current technology used for storage on modern mobile devices, ) has a different geometry and structure compared to the hard disk drives because they are no moving parts.

As a result, it’s important to take these differences into account when working on things like I/O schedulers and file systems, which are directly interfacing with that hardware.

Some ways that F2FS does this over EXT4 are by structuring the file system in a log-based format (entries are written to the top of a queue and pushed down sequentially). The above results in lower overhead (this is part of the speed mentioned above) and auto trimming so that stale nodes are cleaned up and removed, allowing the log to stay clean.

The above also explains how F2FS can perform better in reading/write speeds as the geometry is consistent rather than changing due to moving parts.

One reason that EXT4 is seen as more stable than F2FS is the work being done to EXT4 is less intensive than F2FS. The changes to EXT4 are small or isolated and don’t change how the file system functions much at all. F2FS on the other hand often has large patches which add a major feature or change.

Who’s winning?

To help you choose which file system is better for you, I’ll lay off several known strong points for each of them.

F2FS is fast, and that’s all there is to it. It takes into account how flash storage works and has low overhead/latency, which makes the phone feel quicker. That’s the only major feature that will have a visible impact, everything else that is different is under the hood changes. On the other hand, EXT4 is selective, performing slow for some devices and fast for the others while remaining consistently stable. EXT4 is far more compatible than F2FS currently is.

If you’re looking for a file system that works just fine, EXT4 it is. However, if you prefer speed over stability and being cutting edge, F2FS it is.

The rage, the hype, and the battle. The topic we’re dealing with has been the “hot topic” of the community for a while now. After several comparisons and debates across the community, people seem to be craving for more, for yet another comparison between the two.

F2FS vs. EXT4 File-System Performance With Intel’s Clear Linux

With the MariaDB database server, EXT4 was coming out ever so slightly ahead of F2FS on this Intel Xeon Gold server.

EXT4 had a more pronounced lead when it came to the write tests with the PostgreSQL server.

Apache Cassandra meanwhile didn’t see much of a difference between these two file-systems on the Intel Xeon Gold Cascade Lake server.

The system did boot slightly faster off EXT4.

At the end of the day though after all of our storage tests conducted on Clear Linux, EXT4 came out to being just 2% faster than F2FS for this particular Intel Xeon Gold 5218 server paired with a Micron 9300 4TB NVMe solid-state drive. Of course, beyond the raw performance are many other factors to consider in choosing a file-system — let us know in the forums what you are using as your root file-system and why.

If you enjoyed this article consider joining Phoronix Premium to view this site ad-free, multi-page articles on a single page, and other benefits. PayPal or Stripe tips are also graciously accepted. Thanks for your support.

Новая файловая система для Flash-накопителей от Samsung и сравнение производительности

Инженеры из компании Samsung представили в списке рассылки разработчиков ядра Linux набор патчей с реализацией новой файловой системы F2FS (Flash-Friendly File System), разработанной специально для использования на накопителях, использующих NAND Flash, таких как SSD, eMMC и SD карты. Кроме патчей для ядра Linux также опубликован первый релиз пакета f2fs-tools, содержащего коллекцию утилит для обслуживания разделов F2FS (пока в состав входит только mkfs.f2fs, но в ближайшее время обещают добавить утилиту fsck и набор отладочных инструментов). Код всех составных частей распространяется в рамках лицензии GPLv2.

В отличие от файловых систем общего назначения, проект F2FS разработан специально с учётом специфичных особенностей NAND Flash и оптимизирован для памяти с неизменным временем доступа. Для минимизации случаев перезаписи данных в F2FS используются структуры в форме лога, обеспечивающие равномерное использование блоков данных для снижения износа NAND Flash. Отмечается, что в процессе разработки F2FS были учтены проблемы ранее доступных специализированных ФС на основе структур в форме лога и предприняты все усилия для устранения известных недостатков, таких как большое потребление памяти, высокие накладные расходы при выполнении операций очистки и эффект снежного кома для Wandering-деревьев (в ситуации когда вместо перезаписи создаются новые элементы (меняется номер блока), для деревьев в которых родительский узел ссылается на дочерние узлы, изменение узла приводит к перестроению всех вышележащих узлов). Кроме традиционной для UNIX схемы разграничения доступа, F2FS предоставляет такие механизмы, как xattr и POSIX ACL.

Раздел F2FS формируется из сегментов размером 2 Мб, сегменты группируются в секции, которые в свою очередь объединяются в зоны. Для адаптации F2FS к различным видам NAND Flash, которые отличаются своими характеристиками в зависимости от внутренней геометрии и схемы управления, предусмотрен широкий спектр параметров для управления структурой распределения данных в разделе и предоставлена возможность выбора различных алгоритмов очистки и выделения блоков. Для выполнения операций чистки реализован специальный сборщик мусора, выполняемый в фоне в моменты простоя системы. Для обеспечения целостности используется модель с фиксацией контрольных точек и возможностью отката изменений (roll-back) в случае проблем. Для ускорения выполнения операций в процессе работы основные индексы с информацией о распределении данных хранятся в оперативной памяти.

Представлены результаты оценки производительности файловых систем EXT4 и NILFS2 в сравнении F2FS, новой файловой системы для Flash-накопителей, разработанной в компании Samsung. Тестирование проводилось как на обычном ПК с CPU Core i5 2500, так и на смартфоне a Galaxy S3 с прошивкой на базе Android 4.0.4. В обоих конфигурация использовалась SD-карта Transcend 16GB class 10;

Производительность F2FS оказалась выше конкурентов в тестах на случайную и последовательную буферизированную запись, запись cо сбросом буферов через fsync и случайное чтение данных. При оценке времени монтирования лидером стала ФС EXT4, F2FS оказалась на втором месте.

Файловые системы Linux в 2020 году: плюсы, минусы, подводные камни

Файловые системы Linux в 2020 году: плюсы, минусы, подводные камни

Как вы знаете, перед установкой любой операционной системы Linux вам нужно отформатировать жесткий диск и выбрать наиболее предпочтительную файловую систему. Тут у нас, в 2020, в фаворитах ходит EXT4, и она кажется лучшим вариантом из возможных, но давайте рассмотрим альтернативы, прежде чем слепо отказываться от них?

«Fourth Extended Filesystem», что дословно переводится как «Четвертая расширенная файловая система» полностью обратно совместима с EXT2 и EXT3 и считается стандартом для большинства дистрибутивов Linux, оставаясь такой же популярной, как и ее предшественники.

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

Двумя мощнейшими функциями EXT4 являются так называемые «экстенты» и «отложенное распределение», которые разумно управляют тем, как данные записываются на носитель, для повышения производительности и уменьшения фрагментации.

BtrFS

«b-tree file system» изначально была разработана Oracle и продолжает расти в популярности, так что многие считают ее истинным преемником династии EXT.

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

Отдельно стоит отметить, что BtrFS весьма SSD-френдли, поскольку она автоматически отключает свои функции, которые полезны для механических жестких дисков, но могут изнашивать SSD.

XFS была создана Silicon Graphics почти три десятилетия назад для их графических рабочих станций, специализирующихся на рендеринге 3D-графики.

Вот почему XFS остается одним из лучших вариантов для систем, которые постоянно читают и записывают данные. Благодаря использованию «групп размещения» — частей файловой системы, которые содержат свои собственные индексные дескрипторы и свободное пространство — возможно параллельное чтение и запись данных несколькими потоками одновременно. Поддержка отложенного размещения, динамически распределяемых инодов и усовершенствованных алгоритмов упреждающего чтения помогает достичь превосходной производительности, особенно в больших пулах хранения размером до сотен терабайт.

Однако, её поддержка журналирования ограничена, особенно если сравнивать с более современными альтернативами, и, возможно, она более склонна к потере данных. Также плохо масштабируется для более типичных повседневных и, в основном, однопоточных сценариев, например, при удалении нескольких фотографий из папки «Изображения». Другими словами, это история про настройку собственного дата-центра, а не обычной домашней машины.

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

Изначально созданный для этой цели компанией Samsung, F2FS разбивает носитель на более мелкие части, которые в свою очередь делит на еще более мелкие части, которые в свою очередь делит, ну вы поняли. А дальше она старается использовать множество этих зон вместо повторного использования одних и тех же. В сочетании с поддержкой TRIM / FITRIM это делает её более удобной для флешь-носителей с ограниченным числом операций записи.

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

OpenZFS/ZFS

OpenZFS — это ветвь файловой системы Zettabyte (ZFS), которая изначально появилась в Solaris от Sun. До 2010 года ZFS можно было использовать в Linux в основном через FUSE из-за проблем с лицензированием. После 2010 года началась разработка опенсорсной версии, а уже к 2016 году Ubuntu включила ее поддержку по умолчанию. С тех пор, когда люди ссылаются на «ZFS», они обычно имеют ввиду именно эту ветку, вместо Solaris ZFS — который также продолжает развиваться, но идет по параллельному пути.

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

ZFS также следует принципу copy-on-write, так называемого, копирования при записи, где вместо изменения существующих данных он сохраняет только изменения («дельты») между старой и новой версиями. Это обеспечивает прозрачное, интеллектуальное хранение нескольких копий данных, не занимая много места, которое может работать как резервное копирование или снэпшоты. Пользователь может откатиться к предыдущим состояниям файловой системы, отменить изменения или наоборот: перенести все изменения в клоны существующих данных.

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

Журналируемая файловая система от IBM была одной из первых файловых систем, которая поддерживала журналирование, что привело к снижению вероятности потери данных. Она использует экстенты, как и многие другие современные альтернативы, а также группы размещения, такие как XFS, с целью обеспечения высокой производительности чтения / записи.

Не отдавая предпочтения какой-либо одной функции, она отлично подходит для различных задач при разных нагрузках.

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

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

Что вам стоит использовать?

Существует причина, по которой EXT4 является дефолтным выбором для большинства дистрибутивов Linux. Она проверена, протестирована, стабильна, отлично работает и широко поддерживается. Если вы ищете стабильность, EXT4 — лучшая файловая система Linux для вас.

Если вы не боитесь иметь дело с несколько менее зрелой экосистемой, вам стоит также рассмотреть BtrFS.

Для использования на сервере, где вы хотите полностью исключить любую возможность потери данных, там, где стабильность – второе имя, вам стоит попробовать ZFS. Впрочем, чтобы смочь использовать ее на всю катушку, вам придется уйти в чтение с головой.

Для флэш-носителей F2FS является лучшим вариантом, это даже не обсуждается.

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

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Школа онлайн с государственным аттестатом