ext4

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Ext4 and the translation is 87% complete.
Outdated translations are marked like this.
Resources

ext4 (расширенная файловая система четвертой версии) — дисковая файловая система с открытым исходным кодом, и самая последняя версия серии «расширенных файловых систем». Это основная файловая система во многих системах Linux, что делает ее самой стабильной и протестированной файловой системой в Linux.

Первоначально являясь ответвлением ext3, ext4 добавила новые возможности, улучшила производительность и устранила ограничения размеров ценой незначительных изменений дискового формата. Теперь она поддерживает разделы размером до 1 эксабайта и файлы размером до 16 Тб. Вместо классического распределения блоков ext2/3, ext4 использует экстенты, которые улучшают производительность при работе с большими файлами и снижают фрагментацию. ext4 также обеспечивает сложные алгоритмы распределения блоков (отложенное распределение и многоблочное распределение), благодаря чему драйвер файловой системы имеет больше возможностей для оптимизации распределения данных на диске.

Установка

Ядро

Активируйте следующий параметр ядра для включения кода ext4:

ЯДРО Включение поддержки ext4
File systems  --->
  <*> The Extended 4 (ext4) filesystem Search for <code>CONFIG_CONFIG_EXT4_FS</code> to find this item.

Поддержка дополнительных возможностей ext4:

ЯДРО Включение дополнительных возможностей ext4
File systems  --->
  [*]   Ext4 POSIX Access Control Lists Search for <code>CONFIG_CONFIG_EXT4_FS_POSIX_ACL</code> to find this item.
  [*]   Ext4 Security Labels Search for <code>CONFIG_CONFIG_EXT4_FS_SECURITY</code> to find this item.
  [ ]   EXT4 debugging support
Заметка
Код ext4 способен взаимодействовать с файловыми системами ext2, ext3 и ext4. Благодаря этому сохраняется совместимость с уже смонтированными файловыми системами ext2 или ext3 и обеспечивается возможность обновить их до функционала ext4. Также tune2fs можно использовать для добавления определённых возможностей ext3 и ext4 в существующую файловую систему ext2 или ext3, хотя определённые жёсткие ограничения всё ещё останутся в силе.
Предупреждение
Временные метки файлов в ext2 и ext3 подвержены проблеме 2038 года, которая устранена в ext4 начиная с 2016 года, с Linux kernel 4.3.6 и e2fsprogs 1.43. Если необходимо использовать файловую систему Extended без включения журналирования, вместо ext2 следует использовать ext4 с отключённым журналом; см. ext4 без журналирования.
Важно
Для обычной системы с ext4 нет нужды включать дополнительные параметры ext3 или ext2. Эти параметры указаны здесь в качестве справочного материала (ext3) и для крайне специфичных сценариев (ext2).

Ext3

Оригинальный драйвер ext3 был удалён из ядра Linux 4.3. Есть очень редкие случаи, для которых необходимо использовать файловую систему ext3, для чего можно использовать драйвер ext4.

Заметка
Рекомендуется использовать драйвер ext4 для монтирования файловых систем ext3. Старый драйвер ext3 не должен быть включен.

Включите следующие параметры ядра для драйвера ext3:

ЯДРО Включение поддержки ext3
File systems  --->
   <*> Ext3 journalling file system support

Поддержка дополнительных возможностей ext3:

ЯДРО Включение дополнительных возможностей ext3
File systems  --->
   [*]   Default to 'data=ordered' in ext3 
   [*]   Ext3 extended attributes
   [*]     Ext3 POSIX Access Control Lists
   [*]     Ext3 Security Labels

Ext2

Заметка
Файловая система ext2 не поддерживает журналирование.
Предупреждение
When the original ext2 filesystem driver is enabled, it will be used to mount ext2 filesystems. Under normal circumstances it is highly recommended to use the ext4 driver, and not to enable the older ext2 driver: there is absolutely no necessity for a separate driver when the ext4 driver is already available to mount ext2 filesystems.
Заметка
The original ext2 filesystem code remains available for special cases. For example: compared to the ext4 filesystem code, the original ext2 code has a lower memory footprint. (In such cases, the ext4 driver will be entirely omitted, so ext3 and ext4 filesystems will not be available.)

Включите следующие параметры ядра для поддержки ext2 при помощи оригинального кода файловой системы ext2:

ЯДРО Включение поддержки ext2
File systems  --->
   <*> Second extended fs support

Поддержка дополнительных возможностей ext2:

ЯДРО Включение дополнительных возможностей ext2
File systems  --->
   [*]   Ext2 extended attributes
   [*]     Ext2 POSIX Access Control Lists
   [*]     Ext2 Security Labels

Поддержка больших накопителей

ЯДРО Включение поддержки для больших дисков в x86 ядрах
-*- Enable the block layer  --->
    [*]   Support for large (2TB+) block devices and files

USE-флаги

USE flags for sys-fs/e2fsprogs Standard EXT2/EXT3/EXT4 filesystem utilities

+tools Build extfs tools (mke2fs, e2fsck, tune2fs, etc.)
archive Add support for mke2fs to read a tarball as input. This allows not needing privileges. Needs app-arch/libarchive.
cron Install e2scrub_all cron script
fuse Build fuse2fs, a FUSE file system client for ext2/ext3/ext4 file systems
nls Add Native Language Support (using gettext - GNU locale utilities)
static-libs Build static versions of dynamic libraries as well
test Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)

Emerge

Пакет sys-fs/e2fsprogs должен быть доступен как часть системного профиля по умолчанию.

root #emerge --ask sys-fs/e2fsprogs

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

Создание

Предупреждение
Команда mkfs.ext4 необратимо уничтожит любое содержимое на разделе, который вы укажите для форматирования. Убедитесь что выбрали правильный раздел!

Чтобы создать файловую систему ext4 на разделе /dev/sdx5:

root #mkfs.ext4 /dev/sdx5

Монтирование

См. filesystem.

Ext4 без журналирования

In specific use-cases it may be desirable to create a journal-less filesystem. Even though ext2 does provide exactly that, it is also affected by the year 2038 problem regarding file timestamps. Only the ext4 filesystem has been made Y2K38-safe.

In order to get the current Extended filesystem without a journal, an ext4 filesystem can be created without the has_journal feature, or modified accordingly. (Note that this is not possible on ext3 filesystems.)

Removing the journal from an existing ext4 volume

To display filesystem features currently enabled on a specific ext2/3/4 volume:

root #dumpe2fs -h /dev/sdx5 | grep "^Filesystem features:"

To disable the journal, the filesystem must be unmounted first:

root #umount /dev/sdx5
root #tune2fs -O ^has_journal /dev/sdx5

The leading ^ disables the specified feature. Otherwise the feature would be enabled; i.e. to enable a journal on an existing ext2 or journal-less ext4 filesystem:

root #tune2fs -O has_journal /dev/sdx5

Running dumpe2fs again, the has_journal feature should no longer be listed. The filesystem can now be mounted again:

root #mount /dev/sdx5
EXT4-fs (/dev/sdx5): mounted filesystem abcdef01-2345-6789-9876-543210fedcba r/w without journal. Quota mode: disabled.

Create a new journal-less ext4 volume

To create (i.e. format) a new ext4 volume without a journal, the default options of the ext4 filesystem type have to be overridden:

root #mke2fs -t ext4 -O ^has_journal /dev/sdx5

Инструменты

Список инструментов, включённых в пакет:

Приложение Описание Man-страница
badblocks Небольшая программа для стресс-теста блочных устройств. badblocks(8)
debugfs Отладчик файловых систем ext2/ext3/ext4. debugfs(8)
dumpe2fs Инструмент для отображения информации по файловым системам ext2/ext3/ext4. dumpe2fs(8)
e2fsck Инструмент для проверки файловых систем ext2/ext3/ext4. e2fsck(8)
e2image Инструмент для сохранения критических метаданных файловой системы ext2/ext3/ext4 в файл. e2image(8)
e2label Инструмент для изменения метки тома для файловой системы ext2/ext3/ext4 (является символической ссылкой на tune2fs).
e2undo Инструмент для повторного применения журнала отмены файловой системы ext2/ext3/ext4. e2undo(8)
fsck.ext2 Проверка файловой системы ext2 (является символической ссылкой на e2fsck).
fsck.ext3 Проверка файловой системы ext3 (является символической ссылкой на e2fsck).
fsck.ext4 Проверка файловой системы ext4 (является символической ссылкой на e2fsck).
fsck.ext4dev Проверка файловой системы ext4dev (является символической ссылкой на e2fsck).
logsave Инструмент для сохранения вывода команды в файл журнала. logsave(8)
mke2fs Основная программа для создания файловых систем ext2/ext3/ext4. Команды создания ссылаются на неё через символическую ссылку. mke2fs(8)
mkfs.ext2 Создаёт файловую систему ext2 (является символической ссылкой на mke2fs).
mkfs.ext3 Создаёт файловую систему ext3 (является символической ссылкой на mke2fs).
mkfs.ext4 Создаёт файловую систему ext4 (является символической ссылкой на mke2fs).
mkfs.ext4dev Создаёт файловую систему ext4dev (является символической ссылкой на mke2fs).
resize2fs Изменение размера файловой системы ext2/ext3/ext4. resize2fs(8)
tune2fs Настраивает изменяемые параметры файловых систем ext2/ext3/ext4. tune2fs(8)
chattr Изменяет атрибуты в файловой системе Linux. chattr(1)
lsattr Отображает атрибуты файлов в ext2/ext3/ext4. lsattr(1)
e2freefrag Выводит отчёт о фрагментации свободного пространства. e2freefrag(8)
e4defrag Утилита для дефрагментации смонтированной файловой системы ext4. e4defrag(8)
filefrag Выводит отчёт о фрагментации файла. filefrag(8)
mklost+found Создаёт каталог lost+found в смонтированной файловой системе ext2/ext3/ext4. mklost+found(8)

Смотрите также

  • Ext4 encryption — provides instructions on encrypting files in a home partition using the ext4 filesystem's built-in file based encryption.
  • JFS — 64-битная журналирующая файловая система, созданная компанией IBM.
  • Btrfs — copy-on-write (CoW, копирование при записи) файловая система для Linux, предназначенная для реализации расширенных возможностей, в то же время уделяя особое внимание отказоустойчивости, самовосстановлению и простоте администрирования.
  • XFS — высокопроизводительная журналируемая файловая система.
  • F2FS — a filesystem designed for NAND flash-based devices.

Внешние ресурсы

  • https://ext4.wiki.kernel.org — вики по второй, третьей и четвертой расширенной файловой системе.

Ссылки