Файловая система для linux ext4

Содержание
  1. ⌨ Как создать новую файловую систему Ext4 (раздел) в Linux
  2. Создание нового раздела в Linux
  3. Форматирование нового раздела Ext4
  4. Монтирование нового раздела Ext4 в файловой системе
  5. Файловая система для linux ext4
  6. Форматирование раздела
  7. Конвертация Ext3 разделов в Ext4
  8. Монтирование раздела как Ext4
  9. Конвертация в Ext4
  10. Дефрагментация
  11. e2fsprogs
  12. Оптимизация дискового пространства
  13. Изменение процента зарезервированных блоков для нужд суперпользователя
  14. Изменение числа зарезервированных под служебные нужды блоков
  15. Национальная библиотека им. Н. Э. Баумана Bauman National Library
  16. Персональные инструменты
  17. ext4 (Fourth Extended File system)
  18. Содержание
  19. История создания
  20. Характеристика
  21. Возможности ext4
  22. Дефрагментация
  23. e2fsprogs
  24. Оптимизация дискового пространства
  25. Изменение процента зарезервированных блоков для нужд суперпользователя
  26. Изменение числа зарезервированных под служебные нужды блоков
  27. Использование ext4

⌨ Как создать новую файловую систему Ext4 (раздел) в Linux

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

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

Вы также можете прочитать следующие статьи по теме:

Источник

Файловая система для linux ext4

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

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

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

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

Читайте также:  Сколько весит дистрибутив windows 10

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

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

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

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

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

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

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

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

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

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

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

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

e2fsprogs

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

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

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

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

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

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

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

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

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

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

Источник

Национальная библиотека им. Н. Э. Баумана
Bauman National Library

Персональные инструменты

ext4 (Fourth Extended File system)

ext4

16 TiB (recommended)

Полное название Fourth extended file system
Содержимое каталога Linked list, hashed B-tree
Распределение файлов Extents/Bitmap
Сбойные блоки Table
Limits
Макс. размер тома
Макс. размер файла 16 TiB (for 4k block filesystem)
Макс. количество файлов 4 billion (specified at filesystem creation time)
Макс. длина имени файла 255 bytes
Разрешенные символы
в именах файлов
All bytes except NUL (‘\0’) and ‘/’ and the special file names «.» and «..»
Features
Даты зарегистрирован modification (mtime), attribute modification (ctime), access (atime), delete (dtime), create (crtime)
Диапазон дат 14 December 1901 — 25 April 2514
Дата резолюции Nanosecond
Вилка No
Признаки acl, bh, bsddf, commit=nrsec, data=journal, data=ordered, data=writeback, delalloc, extents, journal_dev, mballoc, minixdf, noacl, nobh, nodelalloc,noextents, nomballoc, nouser_xattr, oldalloc, orlov, user_xattr
Разрешения файловой системы [POSIX (Portable Operating System Interface for Unix)
Прозрачное сжатие No
Транспорантное шифрование Yes
Дедупликация данных No
Другие
Операционная система Linux
FreeBSD (read-only in kernel since version 10.1)
Mac OS X (read-only with ext4fuse, full with ExtFS)
Windows (Read/Write without journaling with ext2fsd)

ext4 (англ. Fourth Extended File system — четвёртая расширенная файловая система, сокр. ext4, или ext4fs) — журналируемая файловая система (ФС), используемая в операционных системах с ядром Linux. Основана на ФС ext3, ранее использовавшейся по умолчанию во многих дистрибутивах GNU/Linux. Отличается от ext3 поддержкой extent’ов, групп смежных физических блоков, управляемых как единое целое; повышенной скоростью проверки целостности и рядом других усовершенствований.

Содержание

История создания

Ext4 — это результат эволюции Ext3, наиболее популярной файловой системы в Linux. Во многих аспектах Ext4 представляет собой больший шаг вперёд по сравнению с Ext3, чем Ext3 была по отношению к Ext2. Наиболее значительным усовершенствованием Ext3 по сравнению с Ext2 было журналирование, в то время как Ext4 предполагает изменения в важных структурах данных, таких как, например, предназначенных для хранения данных файлов. Это позволило создать файловую систему с более продвинутым дизайном, более производительную и стабильную и с обширным набором функций [1] .

Первая экспериментальная реализация ext4 была написана Эндрю Мортоном и выпущена 10 октября 2006 года в виде патча к ядрам Linux версий 2.6.19-rc1-mm1 и 2.6.19-rc1-git8 .

В октябре 2008 была переименована из ext4dev в ext4, что символизирует то, что с точки зрения разработчиков она достаточно стабильна. В ядре 2.6.28 (вышедшем 25.12.2008) файловая система уже называется ext4 и считается стабильной. Файловая система ext4 рассматривается как промежуточный шаг на пути к файловой системе следующего поколения Btrfs, которая претендует на звание основной файловой системы Linux в будущем.

Характеристика

Основные изменения по сравнению с ext3:

  • увеличение максимального объёма одного раздела диска до 1 эксбибайта (2 60 байт) при размере блока 4 кибибайт;
  • увеличение размера одного файла до 16 тебибайт (2 44 байт);
  • введение механизма пространственной (extent) записи файлов, уменьшающего фрагментацию и повышающего производительность. Суть механизма заключается в том, что новая информация добавляется в конец области диска, выделенной заранее по соседству с областью, занятой содержимым файла.

Возможности ext4

  • Использование экстентов (англ.extent ). В файловой системе ext3 адресация данных выполнялась традиционным образом, поблочно. Такой способ адресации становится менее эффективным с ростом размера файлов. Экстенты позволяют адресовать большое количество (до 128 MB) последовательно идущих блоков одним дескриптором. До 4х указателей на экстенты может размещаться непосредственно в inode, что достаточно для файлов маленького и среднего размера.
  • 48-и битные номера блоков. На сегодняшний день максимальный размер файловой системы Ext3 равен 16 терабайтам, а размер файла ограничен 2 терабайтами. В Ext4 добавлена 48-битная адресация блоков, что означает, что максимальный размер этой файловой системы равен одному экзабайту, и файлы могут быть размером до 16 терабайт. 1 EB (экзабайт) = 1,048,576 TB (терабайт), 1 EB = 1024 PB (петабайт), 1 PB = 1024 TB, 1 TB = 1024 GB.
  • Выделение блоков группами (англ.multiblock allocation ). Файловая система хранит не только информацию о местоположении свободных блоков, но и количество свободных блоков, идущих друг за другом. При выделении места файловая система находит такой фрагмент, в который данные могут быть записаны без фрагментации. Это снижает уровень фрагментации ФС в целом.
  • Отложенное выделение блоков (англ.delayed allocation ). Выделение блоков для хранения данных файла происходят непосредственно перед физической записью на диск (например, при вызове sync), а не при вызове write. В результате, операции выделения блоков можно делать не по одной, а группами, что в свою очередь минимизирует фрагментацию и ускоряет процесс выделения блоков. С другой стороны, увеличивает риск потери данных в случае внезапного пропадания питания.
  • Масштабируемость подкаталогов. В настоящий момент один каталог Ext3 не может содержать более, чем 32000 подкаталогов. Ext4 снимает это ограничение и позволяет создавать неограниченное количество подкаталогов.
  • Резервирование inode’ов при создании каталога (англ.directory inodes reservation ). При создании каталога резервируется несколько inode’ов. Впоследствии, при создании файлов в этом каталоге сначала используются зарезервированные inode’ы, и если таких не осталось, выполняется обычная процедура.
  • Размер inode. Размер inode (по умолчанию) увеличен с 128 до 256 байтов. Это дало возможность реализовать те преимущества, которые перечислены ниже.
  • Временные метки с наносекундной точностью (англ.nanosecond timestamps ). Точность временных меток, хранящихся в inode, повышена до наносекунд. Диапазон значений тоже расширен: у ext3 верхней границей хранимого времени было 18 января 2038 года, а у ext4 — 25 апреля 2514 года.
  • Версия inode. В inode появился номер, который увеличивается при каждом изменении inode файла. Это будет использоваться, например, в NFSv4, для того чтобы узнавать, изменился ли файл.
  • Хранение расширенных атрибутов в inode (англ.extended attributes (EA) in inode ). Хранение расширенных атрибутов, таких как ACL, атрибутов SELinux и прочих, позволяет повысить производительность. Атрибуты, для которых недостаточно места в inode, хранятся в отдельном блоке размером 4KB. Предполагается снять это ограничение в будущем.
  • Контрольное суммирование в журнале (Journal checksumming). Контрольные суммы журнальных транзакций. Позволяют лучше найти и (иногда) исправить ошибки при проверке целостности системы после сбоя.
  • Режим без журналирования. Журналирование обеспечивает целостность файловой системы путём протоколирования всех происходящих на диске изменений. Но оно также вводит дополнительные накладные расходы на дисковые операции. В некоторых особых ситуациях журналирование и предоставляемые им преимущества могут оказаться излишними. Ext4 позволяет отключить журналирование, что приводит к небольшому приросту производительности.
  • Предварительное выделение (англ.persistent preallocation ). Сейчас для того, чтобы приложению гарантированно занять место в файловой системе, оно заполняет его нулями. В ext4 появилась возможность зарезервировать множество блоков для записи и не тратить на инициализацию лишнее время. Если приложение попробует прочитать данные, оно получит сообщение о том, что они не проинициализированы. Таким образом, несанкционированно прочитать удалённые данные не получится.
  • Дефрагментация без размонтирования (англ.online defragmentation ). Дефрагментация выполняется утилитой e4defrag, поставляемой в составе пакета e2fsprogs с 2011 года.
  • Неинициализированные блоки (англ.uninitialised groups ). Возможность пока не реализована и предназначена для ускорения проверки целостности ФС утилитой fsck. Блоки, отмеченные как неиспользуемые, будут проверяться группами, и детальная проверка будет производится только если проверка группы показала наличие повреждений. Предполагается, что время проверки будет составлять от 1/2 до 1/10 от нынешнего в зависимости от способа размещения данных.
  • Прямая и обратная совместимость с ext2/ext3. Файловые системы ext2/ext3 можно монтировать как файловую систему ext4. Наоборот — монтировать файловую ext4 как ext3 — можно только в том случае, если на ext4 не используются экстенты [2] .

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

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

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

e2fsprogs

  • Проверка необходимости дефрагментации:
  • запуск дефрагментации:
  • проверка результата (в последней строке вывода должно быть ⩽0.3% non-contiguous):

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

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

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

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

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

Для того чтобы использовать ext4, необходимо:

Оцените статью