Файловая система 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 будет по умолчанию ее использовать.
Если же вы выбираете лучшую файловую систему для