Создать ext4 раздел linux

Обновлено: 04.07.2024

В большинстве современных дистрибутивов Linux по умолчанию используется файловая система Ext4. В предыдущих версиях использовалась Ext3, ещё раньше Ext2 и если вернуться достаточно далеко, то и Ext. Без сомнения, на момент написания статьи, это самая популярная файловая система для Linux.

В этой статье мы поговорим об истории развития Ext4, разберемся чем она отличается от Ext, Ext2 и Ext3, с чего всё началось, а также рассмотрим основные возможности этой файловой системы в наше время.

Краткая история Ext4

Прежде чем появилась файловая система Ext существовала файловая система MINIX. Если вы не знакомы с историей развития Unix, раньше существовала небольшая операционная система MINIX, которая работала на IBM PC. Эндрю Танненбаум разработал её для обучения и выпустил исходный код в 1987 году.

Эта операционная система не была бесплатной. Она прилагалась к книге, которая стояла 69 долларов. Однако, это было не очень дорого, поэтому девяностых годах MINIX начали внедрять повсеместно. Благодаря чему молодой Линус Торвальдс разработал своё ядро Linux на основе MINIX и выпустил его в 1992 году.

Так вот. У MINIX была своя файловая система, которую и использовали первые версии Linux. Она могла работать с хранилищами до 64 мегабайт, а размер имён файлов не мог превышать 14 символов. В 1991 году средний размер жестких дисков был 40-140 мегабайт, поэтому для Linux было нужно что-нибудь другое.

Именно по этой причине Реми Кард в 1992 году разработал первую файловую систему семейства Ext. Она решала большинство проблем MINIX. Новая файловая система использовала новую прослойку VFS в ядре Linux и теперь могла работать с дисками до 2 гигабайт, а имена файлов могли состоять из 255 символов. Но у Ext был один недостаток. Она имела только одну временную метку для файла, вместо теперешних трёх: даты создания, даты доступа и даты модификации.

Реми Кард очень быстро создал Ext, и за следующий год он разработал Ext2 для её замены. Это уже была серьёзная файловая система коммерческого уровня. Она была быстро реализована в ядре Linux и MINIX, а затем и внешних модулях, которые сделали её доступной для Windows и MacOS. Здесь были снова увеличены лимиты файловой системы, однако у неё оставалась ещё одна проблема. Как и все файловые системы того времени, при выключении питания в момент записи файловая система становилась неработоспособной.

  • Журнал - самый безопасный режим. В журнал записываются данные и метаданные, перед тем, как они будут сохранены на диск. Это обеспечивает полную сохранность записываемого файла, но снижает производительность.
  • Упорядоченный - этот режим используется по умолчанию во многих дистрибутивах. Метаданные записываются в журнал, но данные для записи сразу же записываются в файловую систему. Тут порядок работы такой: сначала метаданные записываются в журнал, затем данные записываются в файловую систему, и только после этого метаданные тоже записываются в файловую систему. При сбое новые метаданные находятся только в журнале и файловая система может очень просто восстановится, будут повреждены только те файлы, которые записываются в момент сбоя, все остальные останутся впорядке.
  • Обратная запись - менее безопасный метод журналирования. Здесь в журнал тоже запиваются только метаданные, но в файловую систему они могут записываться вместе с данными, для улучшения производительности. Несмотря на то, что файлы, записываемые во время сбоя могут быть утеряны, для файловой системы в целом этот режим гарантирует безопасность.

Как и в Ext2, в Ext3 используется 16-ти битная адресация, это значит, что при размере блока 4 килобайта самый большой файл может иметь размер 2 терабайта, а максимальный размер файловой системы - 16 терабайт.

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

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

Ещё одно улучшение по сравнению с Ext3 - это то, что блоки данных выделяются до записи их на диск, что тоже значительно увеличивает как производительность чтения так и записи. Кроме того, в файловую систему были добавлены екстенты. Это блоки до 128 мегабайт, которые можно резервировать и обращаться к ним по одному адресу. Это уменьшает количество Inode необходимых для записи одного файла, а также увеличивает производительность.

Одним из ограничений Ext3 была максимальная вложенность подкаталогов - 32 000. Начиная с ядра 2.6.23 в Ext4 улучшена работа с большим количеством подкаталогов и теперь их может быть неограниченное количество.

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

Разработка Ext4

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

Разработчики хотят научить файловую систему считать контрольные суммы для метаданных. Это позволит выявлять повреждённые суперблоки и использовать вместо них альтернативные. Сейчас это можно сделать только вручную. Ещё один момент, который хотят улучшить разработчики - это квоты. Сейчас они находятся в пространстве пользователя, но их надо перенести в ядро чтобы улучшить производительность. Кроме того надо увеличить максимальный размер блока. В наше время SSD уже используют размер блока в 8 килобайт, а Ext4 все ещё может выделять блоки до 4 килобайт. Это ещё больше уменьшит фрагментацию и улучшит производительность.

Плюсы и минусы Ext4

К плюсам этой файловой системы можно отнести такие её особенности:

  • Журналирование;
  • Поддержка шифрования;
  • Высокая стабильность, так как она проверена временем;
  • Поддержка по умолчанию во многих дистрибутивах;
  • Активная разработка;
  • Не подвержена фрагментации;
  • Лимитов вполне достаточно обычному пользователю, так и для серверных систем;

Минусов у файловой системы тоже хватает:

  • Не поддерживаются функции файловых систем следующего поколения, такие как управление томами, дедупликация данных;
  • Отсутствие проверки контрольных сумм для данных, что делает невозможным обнаружение повреждения данных из-за аппаратных сбоев оборудования.
  • Плохая масштабируемость. Несмотря на то, что заявленный максимальный размер раздела один экзабайт, на деле лучше не создавать разделы больше 50 - 100 терабайт.

Использование Ext4

Я уже подробно рассказывал как создавать разделы Ext3 и Ext4 в отдельной статье. Сегодня я упомяну об этом только кратко. Чтобы создать раздел Ext4 выполните:

sudo mkfs -t ext4 /dev/sdb1


Здесь /dev/sdb1 - имя вашего раздела, на котором надо создать файловую систему. Куда интереснее разобраться с опциями монтирования Ext4:

  • atime/noatime - обновлять или не обновлять временную метку последнего доступа к файлам;
  • journal_checksum/nojournal_checksum - добавляет контрольные суммы для записей журнала, это позволяет лучше находить повреждения;
  • barrier/nobarier - сбрасывать данные на диск, прежде, чем применять изменения для метаданных файловой системы. По умолчанию включено;
  • min_batch_time - время между сбросами данных на жесткий диск. По умолчанию 0 миллисекунд. Увеличение этого параметра улучшит пропускную способность файловой системы, но увеличит задержки;
  • discard/nodiscard - определяет надо ли выполнять команду discard/trim для диска при освобождении блоков, полезно для SSD, выключено по умолчанию;
  • max_dir_size_kb - максимальный размер одной папки в килобайтах;
  • data - определяет режим журналирования, о котором мы говорили выше: journal, ordered, writeback. По умолчанию используется ordered;
  • acl/noacl - включает или отключает поддержку ACL списков
  • quota - включает поддержку управления квотами в файловой системе, для управления используются специальные утилиты;
  • commit - записывать изменения сохраненные в журнале в файловую систему каждые n секунд. По умолчанию - каждые 5 секунд;
  • errors - указывает что надо делать при ошибке. Доступные значения: ontinue, remount-ro, panic.

Здесь перечислены далеко не все опции, а только самые интересные. Более подробное описание опций монтирования смотрите выполнив команду:

Монтирование Ext4 выполняется с помощью команды mount:

sudo mount /dev/sdb1 /mnt

Во время монтирования можно указать желаемые опции, например:

sudo mount -o data=journal,commit=60,noatime /dev/sdb1 /mnt


Например, здесь мы включили максимальный уровень журналирования, увеличили время между записями данных в файловую систему из журнала до 60 секунд, а также отключили обновление метки atime. Аналогично, опции можно задать в /etc/fstab. Для этого добавьте их в четвертую колонку строки монтирования диска:

/dev/sdb1 / ext4 defaults,data=journal,commit=60,noatime 1 0


Параметр defaults удалять не следует, просто добавляйте нужные вам опции после него.

Выводы

В этой статье мы рассмотрели историю файловой системы Ext4, а также её основные опции, монтирования, а также как и где их указывать. Про настройку Ext4 уже подробно рассказано в другой статье, поэтому здесь я решил не повторяться. А какие опции монтирования используете вы? Напишите в комментариях!

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.


Она был разработана как прогрессивная версия файловой системы ext3 и преодолевает ряд ограничений в ext3.

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

Хотя она лучше всего подходит для жестких дисков, его также можно использовать на съемных устройствах.

Эта статья покажет вам, как создать новую файловую систему ext4 (раздел) в Linux.

Сначала мы рассмотрим, как создать новый раздел в Linux, отформатировать его в файловой системе ext4 и смонтировать.

Примечание. Для целей данной статьи:

  • Предположим, что вы добавили новый жесткий диск на свой компьютер Linux, на котором вы создадите новый раздел ext4, и
  • Если вы работаете с системой как пользователь с правами администратора, используйте команду sudo для получения привилегий root для запуска команд, показанных в этой статье.

Создание нового раздела в Linux

Перечислите разделы с помощью команд fdisk -l или parted -l, чтобы определить жесткий диск, который вы хотите разбить на разделы.


Посмотрите на вывод на скриншоте выше, у нас есть два жестких диска, добавленных в тестовую систему, и мы разделим диск /dev/sdb.

Теперь используйте команду parted, чтобы начать создание раздела на выбранном устройстве хранения.

Теперь присвойте новому диску метку с помощью команды mklabel.

Затем создайте раздел с помощью команды mkpart, присвойте ему дополнительные параметры, такие как «основной» или «логический», в зависимости от типа раздела, который вы хотите создать.

Затем выберите ext4 в качестве типа файловой системы, установите начало и конец, чтобы установить размер раздела:


Чтобы вывести таблицу разделов на устройстве /dev/sdb или подробную информацию о новом разделе, выполните команду print


Теперь выйдите из программы, используя команду quit.

Форматирование нового раздела Ext4

Далее необходимо правильно отформатировать новый раздел с типом файловой системы ext4 с помощью команды mkfs.ext4 или mke4fs, как показано ниже.


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

Монтирование нового раздела Ext4 в файловой системе

Затем создайте точку монтирования и смонтируйте только что созданную файловую систему раздела ext4.

Теперь с помощью команды df вы можете перечислить все файловые системы в вашей системе вместе с их размерами в удобочитаемом формате (-h), а также их точки монтирования и типы файловых систем (-T):


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

Ext4 — журналируемая файловая система, предлагаемая для использования по умолчанию инсталятором Ubuntu, начиная с версии 9.10. Количество индексных дескрипторов (i-node) задается только при создании ФС и в дальнейшем может быть только уменьшено 1) . При создании ФС приблизительно 1,8% объёма диска занимается служебными структурами ФС 2) , в дальнейшем размер этих данных увеличиваться будет только на размер каталогов файлов. Кроме того еще 5% (по умолчанию) резервируется для root 3) . Как и в других ФС, используемых в Linux, регистр в именах файлов имеет значение, то есть «Документ.txt» и «документ.txt» — это разные файлы, и они без проблем могут находиться в одной директории.
В отличии от Ext3 в Ext4 пространство под файлы выделяется экстентами: extent - последовательная цепочка блоков, для идентификации которой используется только указатель на начало и длина в блоках (тогда как в Ext2/3 при выделении места используются отдельные блоки и требовалось перечислять все блоки, в которых размещен файл).

Все утилиты требуемые для работы с Ext4 содержатся в пакете e2fsprogs.

Форматирование раздела

Для того, чтоб отформатировать раздел достаточно выполнить комманду:

где <xxx> - название раздела на котором требуется создать файловую систему Ext4. Например, sda4 (смотри «Системный монитор - Файловые системы»).

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

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

Монтирование раздела как Ext4

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

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

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

Включение новых возможностей на разделе с Ext3:

Проверка раздела на наличие ошибок:

где <xxx> - название раздела который требуется конвертировать в Ext4.

После выполнения этой команды монтирование раздела в Ext3 будет невозможно. Если раздел прописан в fstab, не забудьте внести соответствующие правки.

Дефрагментация

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

Для Ext4 есть несколько дефрагментаторов:

e2fsprogs. Онлайн дефрагментатор из стандартного набора утилит. Defrag. Дефрагментатор от Кона Коливаса. Случаются перерывы в разработке, но проект живой, в 2010 появился PPA-репозиторий: ppa:e2defrag/ppa .

e2fsprogs

Проверка необходимости дефрагментации:

где <xxx> - название раздела, который требуется дефрагментировать. Например, sda4.

где <xxx> - название раздела, который требуется дефрагментировать. Например, sda4.

проверка результата (в последней строке вывода должно быть ⩽0.3% non-contiguous):

Оптимизация дискового пространства

На свежесозданном разделе с Ext4 обычно выделяется заметно меньше свободного дискового пространства чем размер раздела. Это происходит потому, что используется порядка 1,8% на служебные нужды: заголовки групп блоков, бинарные поля для учета свободного места, индексные дескрипторы (i-node), основной и множество резервных копий суперблока.
Также по умолчанию, дополнительно резервируется 5% от объема раздела для нужд учетной записи суперпользователя (root) и системных служб (daemons). Обычно это полезно для системного корневого раздела, но на пользовательских разделах необходимости в этом резерве нет, особенно на разделах большого размера, где 5% превращаются в очень приличные объемы (недоступные пользователю).

Изменение процента зарезервированных блоков для нужд суперпользователя

По умолчанию резервируется 5% от объема раздела или диска. Значение 0 отключает резервирование блоков, значение 5 - устанавливает резервирование на 5%.

Изменение числа зарезервированных под служебные нужды блоков

Значение 0 отключает резервирование блоков, значение 5 - устанавливает резервирование 5-и блоков.

Создание нового раздела на диске

Ext4 или четвертая расширенная файловая система (журналируемая) является широко используемой файловой системой для Linux. Она была разработана как улучшенная версия файловой системы ext3 и преодолеваем ряд ограничений предыдущих версий.

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

Эта статья покажет вам, как создать новый раздел в Linux, отформатировать его в файловой системе ext4 и смонтировать.

  • Предположим, что вы добавили новый жесткий диск на свой ПК Linux, на котором создадите новый раздел ext4.
  • Если вы работаете с системой как пользователь с правами администратора, используйте команду sudo для получения привилегий root для запуска команд.

Создание нового раздела в Linux

Чтобы определить жесткий диск, который вы хотите разбить на разделы, просмотрите перечень разделов имеющихся у вас на ПК с помощью команд fdisk -l или parted -l.

Команда parted для просмотра разделов диска

Посмотрите на вывод на скриншоте выше, у нас есть два жестких диска, добавленных в тестовую систему и мы разделим диск /dev/sdb.

Теперь используйте команду parted, чтобы начать создание раздела на выбранном устройстве хранения.

Теперь присвойте новому диску метку с помощью команды mklabel.

Затем создайте раздел с помощью команды mkpart, присвойте ему дополнительные параметры, такие как «Основной» или «Логический», в зависимости от типа раздела, который вы хотите создать. Затем выберите ext4 в качестве типа файловой системы, установите начало и конец, чтобы установить размер раздела

Создание нового раздела на диске Linux

Чтобы просмотреть таблицу разделов на устройстве /dev/sdb или подробную информацию о новом разделе, выполните команду print.

Детальный просмотр разделов диска Linux

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

Форматирование нового раздела Ext4

Далее необходимо правильно отформатировать новый раздел с типом файловой системы Ext4 с помощью команды mkfs.ext4 или mke4fs, как показано ниже.

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

Монтирование нового раздела Ext4 в файловой системе

Затем создайте точку монтирования и смонтируйте только, что созданную файловую систему раздела ext4.

Теперь с помощью команды df вы можете просмотреть все файловые системы в вашей системе вместе с их размерами в удобочитаемом формате (-h), а также их точки монтирования и типы файловых систем (-T):

Команда df отображение файловой системы Linux

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

Вот и все! В этой статье мы объяснили, как создать новый раздел в Linux, отформатировать его с типом файловой системы ext4 и смонтировать как файловую систему. Для получения дополнительной информации или для обмена любыми запросами используйте форму обратной связи ниже.

Это не значит, что другие не будут работа, но это те, которые, как известно, работают.

2 ответа

Эти команды ПРИМЕРЫ . УДАЛЕНИЕ РАЗДЕЛЕЙ, ИЗМЕНЕНИЕ И ФОРМАТИРОВАНИЕ Файловых систем уничтожает данные и / или может препятствовать загрузке вашего компьютера. & nbsp; Делать резервные копии. & nbsp; Используйте на свой страх и риск. & NBSP; Попробуйте машину, на которой вы не против потерять все данные. будьте осторожны.

Просмотр обнаруженных устройств класса "DISK"

Просмотр существующих таблиц разделов

Редактирование таблицы разделов для выбранного устройства (в данном случае «sdx»)

В FDISK нажмите:

d . до d , чтобы выбрать текущий раздел

] n . чтобы создать n новый раздел

p . чтобы указать его как P RIMARY раздел

1 . чтобы установить его в качестве основного раздела 1 ST

w . ..в w обряд изменения.

Показать новую таблицу разделов:

Отформатировать файловую систему нового раздела как тип ext4

Создайте новый каталог, в который новый диск будет монтироваться:

TUNING

Удалить зарезервированные блоки (т. Е. Установить 0%), поскольку этот диск предназначен только для пользовательских данных

Поскольку сервер находится на ИБП, Установите обратную запись, чтобы приложения не ожидали фактической записи на диск

Монтирование при загрузке с использованием /etc/fstab , а также настройте политику обратной записи

Найдите (или добавьте) соответствующую строку в fstab для вашего диска. Параметры в fstab разделены пробелами, например, описанный выше диск может выглядеть следующим образом:

  • Первый параметр идентифицирует раздел (либо по / dev /, либо по длинному UUID);
  • Второй параметр - это путь, к которому будет подключен раздел;
  • Третий тип файловой системы;
  • Четвертый параметр содержит параметры;
  • Пятый расписание dump для резервных копий; и
  • Шестым параметром является номер прохода (используется для управления порядком fsck ).

Измените параметры (4-й параметр) на:

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

Использование parted

Ниже приведены инструкции по созданию нового раздела ext4 на новом жестком диске с parted (протестировано на Ubuntu 14.04.4 LTS x64). parted поддерживает GUID Partition Table (GPT) и впоследствии может использоваться для разделов выше 2 ТБ, в отличие от fdisk .

Используйте sudo lshw -C disk *-disk , чтобы увидеть логическое имя вашего нового жесткого диска:

Логическое имя - /dev/sdb . Мы можем начать:

С помощью sudo parted /dev/sdb print мы можем увидеть созданную GPT:

Нам также нужно знать размер диска (мы будем использовать МБ как единица измерения):

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

С помощью sudo parted /dev/sdb print мы можем видеть созданную первичную метку раздела:

Затем нам нужно использовать mkfs для фактического создания раздела:

Раздел создан, нам нужно его смонтировать. Для этого sudo nano /etc/fstab и добавьте следующую строку ( /crimea - папка, в которую мы решили смонтировать новый раздел):

Мы создаем папку и перезагружаем /etc/fstab :

Вы можете увидеть новый смонтированный раздел, используя df -h :

В sudo nano /etc/fstab вместо /dev/sdb1 вы можете использовать его UUID , который вы можно найти с помощью sudo lshw -C volume :

В противном случае вы можете просто сделать sudo blkid /dev/sdb1 :

Новая строка /etc/fstab будет:

Преимущество использования UUID состоит в том, что он не зависит от фактического номера устройства, которое операционная система дает вашему жесткому диску. Представьте, что вы добавляете в систему еще один жесткий диск, и по какой-то причине ОС решает, что ваш старый диск теперь sdb вместо sba . Ваш процесс загрузки будет испорчен, если fstab будет указывать на имя устройства. Тем не менее, в случае UUID было бы хорошо.

Читайте также: