Что такое Ext2, Ext3 и Ext4? Как создавать и конвертировать файловые системы в Linux?

Файловая система Linux – это иерархическая файловая структура, определяющая порядок хранения и доступа к файлам в операционной системе Linux. Это логическая структура, встроенная в систему, которая управляет файлами, включая систематическое хранение, доступ и изменение файлов в каталогах и подкаталогах.

Файловая система управляет такими атрибутами, как имя файла, размер, inode, права собственности пользователей и групп, дата создания и т.д. Систематизированное хранение данных позволяет упростить и ускорить доступ к файлам, что обеспечивает бесперебойную работу.

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

Ext2

Известная также как вторая расширенная файловая система, файловая система ext2 появилась в ранних версиях Linux в 1993 году. Она пришла на смену Extended File System (Ext FS), первой файловой системе, разработанной для ядра Linux. Из-за проблем с производительностью и других недостатков файловая система EXt была заменена на Ext2, которая была более надежной и обладала более высокой производительностью.

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

Ext3

Файловая система Ext3, также известная как Third Extended File System, была выпущена в ноябре 2001 года для ядра Linux версии 2.4.15. Файловая система Ext3 является значительным улучшением Ext2 и до сих пор используется в некоторых дистрибутивах Linux.

Как и Ext2, файловая система Ext3 поддерживает максимальный размер файла 2 ТБ и ограничивает длину имени файла 255 байтами. В отличие от своей предшественницы, файловая система Ext3 поддерживает журналирование, что является самым значительным усовершенствованием.

Журналирование дает такие значительные улучшения, как:

  • Снижение вероятности потери или повреждения данных при сбое питания или отказе системы.
  • Отслеживание внесенных изменений и их регистрация в файлах.
  • Восстановление файловой системы после сбоя системы.

Ext4

Файловая система ext4 – это еще одна журналируемая файловая система, которая является преемницей файловой системы ext3, выпущенной в декабре 2008 года и в настоящее время остающейся широко используемой файловой системой, особенно в системах Debian / Ubuntu.

Она поддерживает файлы и файловые системы размером до 16 ТБ и ограничивает максимальную длину имени файла 255 байтами.

Основные особенности Ext4 включают:

  • Улучшения в распределении – Файловая система Ext4 повышает производительность чтения и записи за счет эффективного распределения блоков памяти перед их записью на диск.
  • Улучшения в метках времени – Файловая система Ext4 увеличивает дату до 10 мая 2446 года, добавляя к метке времени еще 408 лет.
  • Ускоренные проверки файловой системы – В файловой системе Ext4 inode и нераспределенные группы блоков предварительно размечены. Таким образом, время выполнения команд e2fsck и fsck значительно сокращается, что приводит к ускорению проверки файловой системы.
  • Онлайновая дефрагментация – Одним из недостатков файловых систем Ext2 и Ext3 является дефрагментация диска, которая неизбежно сказывается на его производительности. Файловая система ext4 предоставляет инструмент e4defrag, который представляет собой средство командной строки, используемое для дефрагментации файловых систем Ext4 и, таким образом, оптимизирующее производительность.
  • Контрольные суммы журналов – Мы уже рассмотрели преимущества журналирования, которые заключаются в возможности восстановления в случае аппаратного сбоя, приводящего к повреждению файлов. Опция контрольных сумм журнала повышает производительность, поскольку сокращает время журналирования.

Как определить тип файловой системы?

Чтобы определить тип файловой системы Linux, выполните следующую команду в терминале от имени пользователя root.

df -hT | awk '{print $1,$2,$NF}' | grep "^/dev" /dev/sda1 ext4 /
/dev/sda2 vfat /boot/efi
/dev/sdb3 ext4 /media/tecmint/Personal_Sites
/dev/sdb1 ext4 /media/tecmint/Personal_Data
/dev/sdb2 ext4 /media/tecmint/Linux_Data

Предупреждение: Перед выполнением следующих команд создайте резервную копию важных данных.

Создание файловых систем Ext2, Ext3 или Ext4

После создания файловой системы с помощью команды fdisk или parted используйте команду mke2fs для создания любой из файловых систем и убедитесь, что вы заменили sdXX на имя вашего устройства.

Создание файловой системы Ext2

Чтобы преобразовать файловую систему в файловую систему Ext2, выполните следующую команду от имени root.

mke2fs /dev/sdX

Создание файловой системы Ext3

Для создания файловой системы EXt3 выполните команду:

mkfs -t ext3 /dev/sdX

Создание файловой системы Ext4

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

# mkfs -t ext4 /dev/sdX

В приведенной выше команде опция -t используется для указания типа файловой системы.

Преобразование файловых систем Ext2, Ext3 или Ext4

Преобразование из одной файловой системы в другую – довольно простая задача. Предположим, у вас есть раздел Ext2 с меткой /dev/sdb1, смонтированный на точке монтирования /mnt.

Вы можете найти его в записях файла /etc/fstab, обозначенных, как показано ниже:

/dev/sdb1 /mnt ext2 defaults 0 0

Чтобы продолжить, сначала размонтируйте раздел.

umount /dev/sdb1

Преобразование Ext2 в Ext3

Для преобразования в Ext3 воспользуйтесь командой tune2fs и передайте опцию -j для включения журналирования.

tune2fs /dev/sdb1 

Следующим шагом отредактируйте файл /etc/fstab и измените тип файловой системы на ext3. Таким образом, запись должна выглядеть следующим образом.

/dev/sdb1 /data extd3 defaults 0 0

Затем смонтируйте раздел с помощью команды mount.

mount /dev/sdb1 /mnt

И наконец, перезагрузите систему

reboot

Преобразование Ext2 в Ext4

Как и прежде, размонтируйте блочный том.

umount /dev/sdb1 

Далее используйте команду tune2fs с опцией -O extents,uninit_bg,dir_index для включения журналирования.

tune2fs -O extents,uninit_bg,dir_index /dev/sdb1

Как и прежде, смонтируйте файловую систему и перезагрузите систему.

mount /dev/sdb1 /mnt

Наконец, перезагрузите систему.

reboot

Конвертация Ext3 в Ext4

Процедура конвертации из Ext3 в Ext4 аналогична конвертации Ext2 в Ext4.

Так, сначала размонтируйте блочный том.

umount /dev/sdb1 

Следующая команда tune2fs вместе с опцией -O extents,uninit_bg,dir_index позволяет включить журналирование.

Теперь запустите команду fsck для исправления измененных структур на диске.

fsck -pf /dev/sdb1
e2fsck -f /dev/sdb1

После этого смонтируйте файловую систему и перезагрузите систему.

mount /dev/sdb1 /data
reboot

Вывод

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

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен www.tecmint.com

Похожие статьи

Комментарии (0)