Файловая система ext4 что это такое
Файловая система ext4 что это такое
Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.
ext4 — файловая система, основанная на ext3 и совместимая с ней (только обратно). Отличается от ext3 поддержкой extent’ов, групп смежных физических блоков, управляемых как единое целое; повышенной скоростью проверки целостности и рядом других усовершенствований.
Содержание
[править] Новые возможности ext4
Новые возможности ext4 (в сравнении с ext3):
[править] Дефрагментация
Отсутствие острой необходимости в дефрагментации файловых систем UNIX на фоне регулярной дефрагментации других популярных файловых систем укрепило системных администраторов UNIX во мнении, что фрагментации данных в их файловых системах не бывает в принципе. В действительности, она существует, хотя её влияние и не настолько существенно, как в файловых системах некоторых других архитектур. С ростом объёма файловых систем необходимость борьбы с фрагментацией становится более ощутимой.
Результаты экспериментов показали, что производительность файловых систем UNIX из-за фрагментации может снижаться достаточно сильно.
Например, в [4] был проведён следующий эксперимент: на чистую файловую систему было записано 32 файла размером 1GB каждый; сначала по очереди, потом (после пересоздания файловой систем) одновременно. За счёт параллельности процессов записи во втором случае файловая система получилась сильно фрагментированной. Различие в скорости чтения данных в первом и втором случае составило 14.8% для ext3 и 16.5% для XFS.
Фрагментация может быть снижена при помощи отложенного выделения блоков, резервирования блоков и многоблочного выделения.
Однако стоит понимать, что при использовании SSD вместо HDD фрагментация никак не влияет на производительность операций чтения/записи (для операций записи это корректно при достаточном количестве свободного пространства на разделе и поддержке накопителем опции TRIM).
[править] Существующие ограничения
Файловая система ext4 находится в состоянии развития. Её уже можно использовать для экспериментов, но пока что не рекомендуется хранить на ней ценные данные.
Основные возможности ext4, поддержка которых на сегодняшний день не включена в основной код [8] :
[править] Использование ext4
Для того чтобы использовать ext4, необходимо:
Ниже во всех деталях описывается процесс создания файловой системы ext4.
Для примера в качестве носителя файловой системы используется обычный файл. Создание файловой системы не в файле, а на дисковом разделе происходит аналогично, с той разницей, что не нужно использовать модуль loop.
Для того чтобы использовать файловую систему ext4, необходимо чтобы в ядре Linux была соответствующая поддержка в ядре.
Модуль ядра, который отвечает за поддержку ext4, называется ext4dev.
Создаём пустой файл размером 100MB, который чуть позже будет форматироваться под ext4.
Создаём обычную файловую систему ext3:
После того как файловая система создана, можно попробовать её подмонтировать. Поскольку мы создавали файловую систему в файле, а не на блочном устройстве, для того чтобы смонтировать её, файл нужно связать с loopback-устройством.
Это можно сделать или при помощи команды losetup или просто, использовав опцию loop при монтировании.
Если при выполнении команды возникает ошибка, в которое сообщается о проблемах с устройством /dev/loop, возможно, у вас просто не загружен модуль loop или не установлен udev:
Может возникнуть и другая ошибка, которая имеет непосредственное отношение к файловой системе ext4.
Модуль файловой системы ext4 ядра Linux сообщает о том, что файловая система не помечена как ext4. Проверка добавлена скорее из психологических чем технических побуждений — чтобы файловые системы ext3 не смонтировали случайно как ext4.
Добавить пометку, извещающую систему о том, что файловую систему можно смело монтировать как ext4 можно так:
Вообще, можно было попросить ставить пометку ещё при создании файловой системы. Для этого нужно было использовать ключ -E test_fs:
Тип файловой системы, указываемый при монтировании: ext4dev.
Файловая система успешно смонтирована:
После того как работа с файловой системой окончена, её нужно размонтировать.
[править] Настройка через /proc
Почти все настройки касаются выделения блоков группам (multiblock allocation). Файлы, которые есть в этом каталоге:
Файловая система EXT (Ext2, Ext3, Ext 4)
Каждая файловая система Linux обладает своими преимуществами и недостатками. В этой статье мы детально рассмотрим особенности файловой системы EXT (Ext 2, Ext3, Ext4).
Содержание:
Что являет собой файловая система EXT?
Файловая система EXT (Extended File System) была разработана специально для операционной системы Linux. Главной целью, которую преследовали создатели EXT было преодоление максимального размера записываемых файлов, который в то время составлял всего лишь 64 МБ. Благодаря созданию новой структуры метаданных – максимально возможный размер файла увеличился до 2 ГБ. В то же время максимальная длина имен файлов увеличилась о 255 байт.
Главный разработчик файловой системы EXT Реми Кард восхищался файловой системой UFS, поэтому некоторые ее возможности перекочевали и в EXT.
Несмотря на то, что Linux поддерживает достаточно большое количество файловых систем, именно EXT является наиболее предпочтительной, поскольку она изначально построена на ядре Linux.
Хоть EXT и преодолела основные недостатки файловой системы Minix (которая использовалась в то время в Linux) ее главным недостатком были временные метки. В EXT разрешалось использовать только одну временную метку для каждого файла. Поэтому разработка EXT не прекратилась и в последующих версиях она постоянно развивалась и обрастала новыми возможностями.
Это сделало ее очень популярной не только среди пользователей Linux, но и среди владельцев смартфонов на Android, так как по умолчанию Android использует файловую систему Ext4.
Развитие файловой системы EXT. История изменений в версиях
Как уже упоминалось выше – хоть EXT и преодолела ограничения файловой системы Minix, у нее все же оставалась масса недостатков. Поэтому развитие EXT не остановилось и в будущем у нее появилось еще три версии.
Ext2
Так же, как и предыдущую, Ext2 создал Реми Кард. Эта файловая система увидела свет январе 1993 года.
Среди главных нововведений наиболее важным стало то, что теперь данные записывались в блоки одинаковой длины. Это позволило значительно повысить скорость работы c данными. Помимо этого, использование блоков данных позволило увеличить максимальный размер хранимых файлов. Теперь он составлял 2 Тб вместо прежних 2 ГБ. Длина имени файлов по-прежнему составляла 255 байт.
Но и недостатков у Ext2 было немало. Наибольшей проблемой было отсутствие журналирования. Если во время записи файлов на диск случались сбои питания – файловая система повреждалась и восстановить ее было достаточно сложно.
В некоторых случаях отсутствие журналирования было явным плюсом. К примеру, Ext2 обгоняет Ext3 по производительности. Поэтому в некоторых случаях Ext2 используется до сих пор. Кроме того, отсутствие журналирования снижает нагрузку на SSD накопители. Именно поэтому, некоторые компании используют Ext2, а в качестве защиты данных использую технологию RAID.
Более детально о RAID массивах вы можете прочесть в статье «RAID – что это такое и как использовать?»
Еще одним недостатком файловой системы Ext2 была большая фрагментация данных, из-за которой снижалась производительность. То есть, во время записи файл разбивался на несколько частей, затем они записывались на разные участки жесткого диска. Соответственно процесс чтения занимал больше времени. Чем больше информации хранилось на диске – тем ниже была скорость чтения/записи данных.
Поэтому, развитие файловой системы EXT не остановилось на этой версии и в ноябре 2001 года появилась следующая версия – Ext3.
Ext3
Файловая система Ext3 – являет собой доработанную версию Ext2. Информация все также записываются в блоки данных одинаковой длины, а максимальный размер файла остался на прежнем уровне – 2ТБ.
Однако добавилось журналирование – технология, которая позволяет значительно снизить риск потери информации.
Суть заключается в следующем — файловая система отмечает все планируемые изменения в структуре данных. В случае потери питания система мгновенно считает информацию с «журнала» и файлы не будут утеряны.
Ext3 поддерживает три уровня журналирования:
Файловая система Ext3 стала достаточно популярной и использовалась вплоть до появления следующей версии – Ext4.
Ext4
Ext4 – была представлена в 2008 году и на сегодняшний день является последней версией файловой системы EXT. Она использует базовые принципы Ext3, однако скорость работы была значительно увеличена (она даже выше чем в Ext2), увеличен максимальный размер файла до 16 ГБ, добавлена поддержка накопителей объемом до 1 Экзабайта и многое другое.
Нововведений достаточно много. Чтобы в них разобраться – перейдите к следующему пункту этой статьи.
Возможности файловой системы Ext4
Несмотря на то, что файловая система Ext4 использует основные концепции Ext3 — в ней присутствует большое количество нововведений, которые сделали ее столь популярной.
Начать стоит с пространственной записи файлов, которая используется для увеличения быстродействия файловой системы. Перед тем, как записать файл на диск – система выделяет нужную область на диске и после этого данные записываются в конец этой области.
В файловой системе Ext4 впервые была добавлена обратная совместимость с Ext2 и Ext3. К примеру, вы автоматически можете смонтировать Ext3 при помощи драйвера Ext4.
Следующим пунктом можно отметить появление экстентов. Дело в том, что в старых версиях отображение блоков данных файла реализовано старым способом – то есть, отображаются все блоки, относящиеся к конкретному файлу. Это накладывает некоторые ограничения при работе с файлами большого размера. К примеру, падает производительность.
Внедрение экстентов позволяет выводить большое количество последовательных блоков информации при помощи одного дескриптора. Такой подход увеличивает производительность файловой системы в несколько раз. Система сохраняет только адрес первого и последнего блока данных, которые соответствуют большому файлу.
Уменьшение фрагментации файлов за счет более рационального выделения блоков памяти является еще одним нововведением. Перед тем, как записать файл Ext4 выделяет блоки, которые находятся поблизости, чтобы сократить время поиска нужного блока во время чтения данных.
В Ext4 появилась функция отложенного выделения, которая выделяет блоки памяти непосредственно пере записью файлов на диск. Такой подход позволяет снизить нагрузку на кэш-память и соответственно увеличить производительность.
Новой для Ext4 стала возможность создавать неограниченное количество подкаталогов без потери производительности. Все дело в том, что Ext4 использует структуру данных HTree, которая является версией B-дерева, адаптированной специально для Ext4.
Нововведением, которое повышает уровень производительности и безопасности одновременно является внедрение контрольных сумм журналов. Этот метод постоянно проверяет блоки данных на наличие повреждений. В свою очередь это сокращает время журналирования, что увеличивает производительность.
Появилась быстрая проверка файловой системы. Реализована она следующим образом: в Ext4 таблицы inodes и свободные группы блоков помечены. Благодаря этому во время проверки файловой системы проверяются только блоки с данными.
Новой функцией стала e4defrag, которая позволяет дефрагментировать как весь диск, так и отдельные файлы. Снижение уровня фрагментации не только делает систему быстрее, но и снижает нагрузку на процессор и т.д.
Как видите нововведений достаточно много, и они позволяют сильно повысить уровень безопасности и производительности. В свою очередь, это именно то, что нужно пользователям. Поэтому Ext4 на сегодняшний день столь популярна.
Плюсы и минусы файловой системы Ext4
Несмотря на внедрение новых возможностей и увеличения производительности, минусов у файловой системы Ext4 тоже немало. Поэтому, перед тем, как начать использовать эту файловую на своем диске мы предлагаем пользователю сравнить ее плюсы и минусы.
К плюсам Ext4 можно отнести следующие:
К сожалению, минусов у файловой системы, Ext4 тоже хватает. Среди наиболее значимых можно выделить:
Теперь вы можете сравнить преимущества и недостатки файловой системы Ext4 и самостоятельно решить стоит ее использовать или нет.
Структура файловой системы EXT
Структура файловой системы EXT такая же, как и большинства файловых систем UNIX. Схематически структуру файловой системы EXT можно отобразить так:
То есть в структуре EXT можно выделить несколько основных составляющих:
Структура файловой системы для Ext2, Ext3 и Ext4 примерно одна и та же. Различаются только функциональные возможности каждой версии файловой системы EXT.
Стоит ли отключать журналирование
Главным предназначением журналирования является обеспечение возможности восстановления структуры файловой системы в случае сбоев или резкого отключения питания. В то же время процесс журналирования требует определенного времени и ресурсов. Поэтому некоторые пользователи решают отключить журналирование чтобы получить еще большую производительность.
Тут все несколько субъективно, поскольку отключать журналирование имеет смысл только в том случае, если у вас есть дополнительные средства защиты данных (к примеру, вы используете RAID 5).
Если же таковой защиты нет – лучше не отключать журналирование, поскольку прирост производительности будет очень небольшим, в то время как риск потери важных данных возрастет в несколько раз.
Однако, если вы все же захотите отключить журналирование позаботьтесь в первую очередь о дополнительной защите важных данных в виде резервных копий, использования RAID массивов или хотя бы об источнике бесперебойного питания.
Как открыть EXT накопитель в Windows?
Операционная система Windows в качестве нативной использует файловую систему NTFS. Поэтому, как только вы подключите накопитель, отформатированный в EXT, Ext2, Ext3, Ext4 – вы сразу же получите уведомление что файловая система накопителя не поддерживается.
Первый (и наилучший) способ заключается в использовании программы RS Partition Recovery. Программа проста в использовании. Вам достаточно просто установить ее на компьютер и можете сразу же подключать Ext2,3,4 накопитель и работать с данными. Даже перезагружать компьютер не нужно.
Но самое главное – RS Partition Recovery позволяет восстанавливать утерянные данные если что-то случится как с файловой системой, так и с самим файлом. К примеру, вы случайно удалили файл – не беда. Отформатировали накопитель, а не нем была важная информация – тоже не страшно. RS Partition Recovery восстановит ваши данные.
Также хотелось бы отметить поддержку ВСЕХ современных файловых систем, что делает RS Partition Recovery неким универсальным инструментом, который должен быть в арсенале каждого, что работает с данными.
Второй способ заключается в установке драйвера EXT2FSD, который добавляет поддержку файловой системы Ext 2, 3 или 4 в ОС Windows.
Главным недостатком этого способа является то, что драйвер EXT2FSD иногда конфликтует с драйверами устройств Windows и вместо обещанной поддержки EXT вы можете получить нерабочую операционную систему. Также нередко попытки восстановить работоспособность Windows могут привести к потере важных данных. Причем не только на диске С:\ но и на накопителе (если во время сбоя он был подключен к компьютеру).
Третий способ заключается в установке специального плагина для программы Total Commander под названием ext4tc. В этом способе также есть подводные камни. Во-первых, вам нужно будет приобрести сам Total Commander и уже потом дополнительно установить плагин ext4tc.
Кроме того, иногда после установки плагина ext4tc случаются сбои в работе файлового менеджера. Поэтому вам следует быть осторожными во время манипуляций с важными данными.
Мы же настоятельно не рекомендуем рисковать важной информацией, так как иногда она стоит дороже всего компьютера вместе с программами. Поэтому лучше всего использовать первый из вышеописанных способов.
Лучшие альтернативы файловой системы EXT
В сети все чаще появляется информация, что поскольку Ext4 не поддерживает функции следующего поколения – операционная система Linux в ближайшее время перейдёт на Btrfs. Поэтому, многие пользователи задаются вопросом стоит ли использовать Ext4 или лучше сразу же установить альтернативу в виде Btrfs или какой-то другой файловой системы?
Тут каждый принимает решение сам, однако, как не крути Ext4 не поддерживает многие современные функции. Поэтому, если вы хотите использовать файловую систему, проверенную временем, но готовы отказаться от многих современных возможностей – ваш выбор Ext4. Она стабильна, широко поддерживается и отлично работает.
Если для вас важно иметь современную файловую систему, которая будет поддерживать все новые функции и в то же время не боитесь иметь дело с несколько менее зрелой экосистемой — ваш выбор Btrfs. Кроме того, вы будете на шаг впереди, поскольку в ближайшее время большинство дистрибутивов Linux будет по умолчанию ее использовать.
Если же вы выбираете лучшую файловую систему для сервера, для вас важна надежность и минимальный риск потери данных – лучшей альтернативой будет файловая система ZFS. Тут есть один момент – чтобы максимально эффективно ее использовать – вам нужно будет прочесть много информации и изучить большое количество команд.
Использовать или не использовать файловую систему EXT – это личное дело каждого. Мы же надеемся, что после прочтения этой статьи вы сможете сделать выбор который максимально подходит под ваши нужды.
Файловая система 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 может произойти еще не скоро.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.