ФОРМАТИРОВАНИЕ В EXT4

  • Михаил
  • 12 мин. на прочтение
  • 152
  • 11 Jul 2022
  • 11 Jul 2022

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

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

ФОРМАТИРОВАНИЕ В EXT4

Я предполагаю, что раздел, который вы хотите отформатировать в Ext4 у вас уже есть. Если его ещё нет, обратитесь к статье как пользоваться gparted или как пользоваться parted чтобы его создать.

1. ОПЦИИ MKE2FS

Для форматирования мы будем использовать утилиту mkfs.ext4 или mke2fs. Это одна и та же утилита. У неё такой синтаксис:

$ mkfs.ext4 опции /раздел/диска

Ей можно передавать такие опции:

  • -b - размер блока. Доступные значения: 1024, 2048 и 4096;
  • -c - проверить устройство на битые сектора перед созданием файловой системы;
  • -d - скопировать содержимое указанной папки в корневую папку файловой системы;
  • -D - использовать прямые методы чтения и записи с диска чтобы не использовать кэш память;
  • -e - поведение файловой системы при ошибке. Доступные значения: continue, remount-ro, panic;
  • -E - расширенные опции файловой системы;
  • -F - принудительно создать файловую систему, даже если во время создания возникают ошибки или файловая система уже существует и cмонтирована;
  • -j - использовать журнал файловой системы ext3;
  • -l - прочитать список плохих секторов на диске из файла;
  • -L - задать метку для раздела с этой файловой системой;
  • -m - процент блоков, зарезервированных для суперпользователя, по умолчанию 5%;
  • -n - не создавать файловую систему, а только отобразить её информацию, что выводится в процессе создания;
  • -O - активировать или деактивировать те или иные возможности файловой системы. Сами возможности мы рассмотрим ниже;
  • -q - выводить минимум информации во время выполнения;
  • -S - записать только суперблок и описание групп, таблица Inode остаётся неизменной. Это может быть полезно для восстановления повреждённой файловой системы;
  • -t - тип файловой системы. Доступно: ext2, ext3, ext4;
  • -U - указать UUID для раздела с файловой системой;
  • -v - максимально подробный вывод;
  • -V - вывести версию утилиты.

2. ВОЗМОЖНОСТИ EXT4

С помощью опции -O можно включить такие возможности файловой системы:

  • 64bit - файловая система сможет занимать место больше чем 2 в 32 степени блоков. При размере блока 4 килобайта, это примерно один терабайт;
  • encrypt - включить поддержку шифрования для файловой системы;
  • ext_attr - включить расширенные атрибуты;
  • has_journal - использовать журнал, по умолчанию включена;
  • huge_file - разрешить создавать файлы, размером больше двух терабайт;
  • large_dir - увеличивает количество файлов, которые могут находится в одной папке;
  • metadata_csum - включает расчёт и проверку контрольных сумм для всех метаданных файловой системы;
  • meta_bg - позволяет изменять размер раздела в реальном времени, когда файловая система смонтирована и используется;
  • mmp - запрещает монтирование файловой системы к нескольким точкам одновременно;
  • quota - включает поддержку квот;

Здесь рассмотрены не все опции файловой системы и её возможности, а только самые интересные. Более подробнее смотрите информацию на man страницах для mkfs.ext4 и ext4.

3. ПРОСТОЕ ФОРМАТИРОВАНИЕ

А теперь давайте попробуем создать файловую систему ext4 с меткой DATA:

sudo mke2fs -t ext4 -L DATA /dev/sdb1

Здесь и далее /dev/sdb1 - это путь к вашему разделу жесткого диска, который вы хотите отформатировать. Чтобы не резервировать место для суперпользователя укажите значение 0 в опции -m:

sudo mke2fs -t ext4 -L DATA -m 0 /dev/sdb1

Для того чтобы выполнить проверку диска на наличие битых секторов используйте опцию -c или -cc для более долгой но тщательной проверки:

sudo mke2fs -t ext4 -L DATA -c /dev/sdb1

4. ВКЛЮЧЕНИЕ ПРОВЕРКИ КОНТРОЛЬНЫХ СУММ

Теперь поговорим про возможности. Для включения контрольных сумм для всех метаданных используйте возможность metadata_csum:

sudo mke2fs -t ext4 -L DATA -O metadata_csum /dev/sdb1

5. ОТКЛЮЧЕНИЕ ЖУРНАЛИРОВАНИЯ

Если вы хотите отключить журналирование в файловой системе используйте значок ^ перед возможностью has_journal:

mke2fs -t ext4 -L DATA -O ^has_journal /dev/sdb1

6. ПОДДЕРЖКА КВОТ

Для включения поддержки квот на разделе создание файловой системы ext4 выполняется с опцией quota:

mke2fs -t ext4 -L DATA -O quota /dev/sdb1

Для управления квотами установите пакет quota:

sudo apt install quota

Файловую систему надо cмонтировать с поддержкой квот:

sudo mount -o quota /dev/sdb1 /mnt

Затем нужно выполнить такую команду для инициализации файлов квот:

sudo quotacheck -um

Далее можно настроить квоты для нужного пользователя. Например:

sudo edquota smm

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

7. ПОДДЕРЖКА ШИФРОВАНИЯ

Для создания файловой системы с поддержкой шифрования используйте возможность encrypt:

mke2fs -t ext4 -L DATA -O encrypt /dev/sdb1

Шифрование выполняется на уровне папок. Поэтому сначала давайте cмонтируем только что созданную файловую систему, а потом создадим папку /ecrypted:

sudo mount /dev/sdb1 /mnt
sudo mkdir /mnt/ecrypted

Для настройки шифрования надо использовать утилиту fscrypt. В Ubuntu утилита устанавливается так:

sudo apt install fscrypt

Затем выполните первоначальную инициализацию:

sudo fscrypt setup

После этого инициализируйте шифрование для только что созданной файловой системы:

sudo fscrypt setup /mnt

Папка должна принадлежать пользователю, для которого вы будете её шифровать:

sudo chown smm:ssmm /mnt/encrypted

Чтобы зашифровать папку выполните:

fscrypt encrypt /mnt/encrypted

Утилита спросит каким образом защищать вашу папку, выберите пункт 2 чтобы ввести свой пароль. Затем введите пароль два раза:

fscrypt status /mnt/encrypted/

 

ВЫВОДЫ

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