Восстановление данных
 
Блог
 
Файловая система EXT (Ext2, Ext3, Ext 4)

Файловая система EXT (Ext2, Ext3, Ext 4)

Каждая файловая система Linux обладает своими преимуществами и недостатками. В этой статье мы детально рассмотрим особенности файловой системы EXT (Ext 2, Ext3, Ext4).

Содержание:

  1. Что являет собой файловая система EXT?
  2. Развитие файловой системы EXT. История изменений в версиях
  3. Возможности файловой системы Ext4
  4. Плюсы и минусы файловой системы Ext4
  5. Структура файловой системы EXT
  6. Стоит ли отключать журналирование
  7. Как открыть EXT накопитель в Windows?
  8. Лучшие альтернативы файловой системы EXT

Что являет собой файловая система 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 поддерживает три уровня журналирования:

  1. Journal – файловая система записывает и метаданные и пользовательские данные в журнал, тем самым практически гарантируя успешное восстановление файловой системы в случае потери питания. В то же время этот метод наиболее сильно снижает производительность файловой системы.
  2. Writeback – сначала записываются метаданные в журнал и только после этого информация записывается в файловую систему. Синхронизация метаданных и данных в файловой системе отсутствует. Этот уровень журналирования является самым быстрым, из-за отсутствия необходимости проверки. Однако в этом заключается главный недостаток – если что-то случится с системой — вы потеряете данные.
  3. Ordered (упорядоченное журналирование) – процесс записи выполняется в определенном порядке: сначала записываются метаданные в журнал, а после этого пользовательские данные записываются в файловую систему. После этого, метаданные подключаются к файлам на диске. В случае отключения питания «исчезнут» только те файлы, которые записывались на диск в этот момент. Структура файловой системы не повреждается.

Файловая система Ext3 стала достаточно популярной и использовалась вплоть до появления следующей версии – Ext4.

Ext4

Ext4 – была представлена в 2008 году и на сегодняшний день является последней версией файловой системы EXT. Она использует базовые принципы Ext3, однако скорость работы была значительно увеличена (она даже выше чем в Ext2), увеличен максимальный размер файла до 16 ГБ, добавлена поддержка накопителей объемом до 1 Экзабайта и многое другое.

Нововведений достаточно много. Чтобы в них разобраться – перейдите к следующему пункту этой статьи.

Возможности файловой системы Ext4

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

Начать стоит с пространственной записи файлов, которая используется для увеличения быстродействия файловой системы. Перед тем, как записать файл на диск – система выделяет нужную область на диске и после этого данные записываются в конец этой области.

Читайте также:  Файловая система Btrfs

В файловой системе Ext4 впервые была добавлена обратная совместимость с Ext2 и Ext3. К примеру, вы автоматически можете смонтировать Ext3 при помощи драйвера Ext4.

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

Внедрение экстентов позволяет выводить большое количество последовательных блоков информации при помощи одного дескриптора. Такой подход увеличивает производительность файловой системы в несколько раз. Система сохраняет только адрес первого и последнего блока данных, которые соответствуют большому файлу.

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

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

Новой для Ext4 стала возможность создавать неограниченное количество подкаталогов без потери производительности. Все дело в том, что Ext4 использует структуру данных HTree, которая является версией B-дерева, адаптированной специально для Ext4.

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

Появилась быстрая проверка файловой системы. Реализована она следующим образом: в Ext4 таблицы inodes и свободные группы блоков помечены. Благодаря этому во время проверки файловой системы проверяются только блоки с данными.

Новой функцией стала e4defrag, которая позволяет дефрагментировать как весь диск, так и отдельные файлы. Снижение уровня фрагментации не только делает систему быстрее, но и снижает нагрузку на процессор и т.д.

Как видите нововведений достаточно много, и они позволяют сильно повысить уровень безопасности и производительности. В свою очередь, это именно то, что нужно пользователям. Поэтому Ext4 на сегодняшний день столь популярна.

Плюсы и минусы файловой системы Ext4

Несмотря на внедрение новых возможностей и увеличения производительности, минусов у файловой системы Ext4 тоже немало. Поэтому, перед тем, как начать использовать эту файловую на своем диске мы предлагаем пользователю сравнить ее плюсы и минусы.

К плюсам Ext4 можно отнести следующие:

  1. Журналирование – файловая система ведет журнал изменений, благодаря чему в случае сбоев вы без проблем можете восстановить структуру файловой системы;
  2. Поддержка шифрования – теперь пользователи могут шифровать свои данные без падения производительности;
  3. Высокая стабильность – файловая система Ext4 может сама контролировать свое состояние. Сделано это при помощи контрольных сумм журналов. Кроме того, с момента релиза Ext4 прошло более 10 лет, и за это время она зарекомендовала себя как очень надежная файловая система;
  4. Поддержка по умолчанию во многих дистрибутивах – что означает, что весь инструментарий для работы с Ext4 у вас будет из коробки. Кроме того, она используется в картах памяти смартфонов на Android, а значит вам не нужно будет устанавливать дополнительный софт для работы с данными со смартфона;
  5. Активная разработка – на сегодняшний день разработчики активно работают над улучшением Ext4. Вы будете постоянно получать новые возможности для работы с данными;
  6. Низкий уровень фрагментации – вы получаете очень быструю файловую системы. Часто именно отсутствие фрагментации является решающим факторов, когда речь заходит какую файловую систему использовать на флэшках и съемных носителях;
  7. Большое количество лимитов – во время создания файловой системы создается некоторое количество inodes, которое необходимо для записи файлов. В некоторых файловых системах количество inodes может оказаться слишком малым, и пользователь не может записать новый файл даже при наличии свободного места на диске. Обычно это актуально при работе с большим количеством маленьких файлов. К счастью Ext4 лишена этой проблемы и количества inodes хватает как для обычных пользователей, так и для серверных систем;

К сожалению, минусов у файловой системы, Ext4 тоже хватает. Среди наиболее значимых можно выделить:

  1. Отсутствие поддержки функций файловых систем следующего поколения – в Ext4 отсутствует поддержка управления томами, дедупликация данных и т.д;
  2. Отсутствие проверки контрольных сумм для данных – из-за этого невозможно обнаружить повреждения данных из-за аппаратных сбоев оборудования;
  3. Плохая масштабируемость – несмотря на то, что максимальный размер раздела составляет 1 Экзабайт, в реальности при создании разделов размером больше 100 Терабайт очень сильно падает производительность;
  4. Отсутствие поддержки прозрачного сжатия и прозрачного шифрования – эти технологи пока что находятся на экспериментальной стадии;
  5. Inodes занимают до 10% объема раздела – если во время создания файловой системы будет выделено меньшее количество inodes – существует вероятность что они закончатся и тогда пользователь не сможет записать новые файлы даже при наличии свободного места на диске;

Теперь вы можете сравнить преимущества и недостатки файловой системы Ext4 и самостоятельно решить стоит ее использовать или нет.

Структура файловой системы EXT

Структура файловой системы EXT такая же, как и большинства файловых систем UNIX. Схематически структуру файловой системы EXT можно отобразить так:

То есть в структуре EXT можно выделить несколько основных составляющих:

  1. Суперблок – находится в самом начале файловой системы (обычно в первых 1024 байтах раздела). Система автоматически создает несколько копий суперблока, так как без него она не сможет функционировать. В суперблоке хранится базовая информация о файловой системе, а именно:
    • а) общее число блоков данных и inodes для всей файловой системы;
    • б) количество свободных inodes и блоков данных, в которые можно будет записать файлы;
    • в) размер inode и блока данных (эти данные указываются при создании файловой системы);
    • г) информация о файловой системе – время монтирования, последние изменения и т.д.
  2. Сразу же после суперблока находится глобальная таблица дескрипторов группы блоков (Group Description Table). В ней описаны первый и последний блоки для каждой группы блоков, а также информация где именно в каждой группе начинается таблица inodes, начало блоков данных и т.д.
  3. Битовая карта блока (Block Bitmap) – это специальная таблица, в которой указано какие блоки в группе использованы, а какие свободны. Эта информация используется во время распределения информации в блоке. 0 – означает что блок свободен, а 1 – что занят.
  4. Битовая карта inodes (Inode Bitmap) – эта таблица аналогична битовой карте блока, только в ней отображается информация о свободных inodes, которые могут быть использованы для записи новых файлов.
  5. Блоки данных – выделенные физические блоки памяти, в которых хранятся данные пользователя.
Читайте также:  Безопасное увеличение производительности HDD и SSD

Структура файловой системы для 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 – это личное дело каждого. Мы же надеемся, что после прочтения этой статьи вы сможете сделать выбор который максимально подходит под ваши нужды.

Часто задаваемые вопросы

Оставить комментарий