ext3 (Third Extended File system)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 19:22, 20 июля 2016.

ext3
Полное название Third extended file system
Содержимое каталога Table, hashed B-tree with dir_index enabled
Распределение файлов bitmap (free space), table (metadata)
Сбойные блоки Table
Limits
Макс. размер тома 4 TiB – 32 TiB
Макс. размер файла 16 GiB – 2 TiB
Макс. количество файлов Variable, allocated at creation time[1]
Макс. длина имени файла 255 bytes
Разрешенные символы
в именах файлов
All bytes except NUL ('\0') and '/'
Features
Даты зарегистрирован modification (mtime), attribute modification (ctime), access (atime)
Диапазон дат December 14, 1901 – January 18, 2038
Дата резолюции 1 s
Признаки allow-undelete, append-only, h-tree (directory), immutable, journal, no-atime, no-dump, secure-delete, synchronous-write, top (directory)
Разрешения файловой системы Unix permissions, ACLs and arbitrary security attributes (Linux 2.6 and later)
Прозрачное сжатие No
Транспорантное шифрование No (provided at the block device level)
Дедупликация данных No
Другие
Операционная система Linux, BSD, Windows (through an IFS)

ext3 (англ. Third Extended File system) – это расширенная версия одноименной файловой системы Extended file system (ext). Ext3 журналируема, является расширением к ext2 файловой системе. Она обратно совместима с ext2 и преобразование из ext2 в ext3 является очень простым. Используется в операционных системах на ядре Linux, является файловой системой по умолчанию во многих дистрибутивах. Для ее использования не требуется никаких установок, все необходимые пакеты доступны в основной LFS системе. Дата представления: ноябрь 2001 года (Linux 2.4.15).

Описание

Стандартом предусмотрено три режима журналирования:

  1. writeback: в журнал записываются только метаданные файловой системы, то есть информация о её изменении. Не может гарантировать целостности данных, но уже заметно сокращает время проверки по сравнению с ext2;
  2. ordered: то же, что и writeback, но запись данных в файл производится гарантированно до записи информации об изменении этого файла. Немного снижает производительность, также не может гарантировать целостности данных (хотя и увеличивает вероятность их сохранности при дописывании в конец существующего файла);
  3. journal: полное журналирование как метаданных ФС, так и пользовательских данных. Самый медленный, но и самый безопасный режим; может гарантировать целостность данных при хранении журнала на отдельном разделе (а лучше — на отдельном жёстком диске).

Указывается режим журналирования в строке параметров для программы mount, например:

mount /dev/hda6 /mnt/disc -t ext3 -o data=<режим>

либо в файле /etc/fstab.

Файловая система ext3 может поддерживать файлы размером до 1 ТБ. С Linux-ядром 2.4 объём файловой системы ограничен максимальным размером блочного устройства, что составляет 2 терабайта. В Linux 2.6 (для 32-разрядных процессоров) максимальный размер блочных устройств составляет 16 ТБ, однако ext3 поддерживает только до 4 ТБ.

Ext3 имеет одно значительно преимущество перед другими журналируемыми файловыми системами - она полностью совместима с файловой системой ext2. Это делает возможным использование всех существующих приложений разработанных для манипуляции и настройки файловой системы ext2. Ext3 поддерживается ядрами Linux версии 2.4.16 и более поздними, и должна быть активизирована использованием диалога конфигурации файловых систем (Filesystems Configuration) при сборке ядра. В Linux дистрибутивы, такие как Red Hat 7.2 и SuSE 7.3 уже включена встроенная поддержка файловой системы ext3. Вы можете использовать файловую систему ext3 только в том случае, когда поддержка ext3 встроена в ваше ядро и у вас есть последние версии утилит "mount" и "e2fsprogs". Описываемая файловая система предоставляет значительные преимущества для большого круга пользователей Linux: минимизирует задержки при перезагрузке системы, сводит к минимуму возможность появления ошибок в ФС, является высокопроизводительной, а ее утилиты делают перевод системы из ext2 в ext3 очень простым. Эта совместимость так же увеличивает возможность использование всех утилит, созданных для работы с ext2.

Ext3.png

Из ext2 в ext3

В большинстве случаев перевод файловых систем из одного формата в другой влечет за собой резервное копирование всех содержащихся данных, переформатирование разделов или логических томов, содержащих файловую систему, и затем восстановление всех данных на эту файловую систему. В связи с совместимостью файловых систем ext2 и ext3, все эти действия можно не проводить, и перевод может быть сделать с помощью одной команды (запущенной с полномочиями root):

# /sbin/tune2fs -j <имя-раздела >

Например, перевод файловой системы ext2 расположенной на разделе /dev/hda5 в файловую систему ext3 может быть осуществлен с помощью следующей команды:

# /sbin/tune2fs -j /dev/hda5

Опция '-j' команды 'tune2fs' создает журнал ext3 на существующей ext2 файловой системе. После перевода файловой системы ext2 в ext3, нужно так же должны внести изменения в записи файла /etc/fstab, для указания что теперь раздел является файловой системой 'ext3'. Также, можно использовать авто определение типа раздела (опция "auto"), но все же рекомендуется явно указывать тип файловой системы. Следующий пример файл /etc/fstab показывает изменения до и после перевода файловой системы для раздела /dev/hda5:

До:

/dev/hda5 /opt ext2 defaults 1 2

После:

/dev/hda5 /opt ext3 defaults 1 0

Последнее поле в /etc/fstab указывает этап в загрузке, во время которого целостность файловой системы должна быть проверена с помощью утилиты "fsck". При использовании файловой системы ext3, вы можете установить это значение в '0', как показано на предыдущем примере. Это означает что программа 'fsck' никогда не будет проверять целостность файловой системе, в связи с тем что целостность файловой системы гарантируется путем отката в журнале.

Перевод корневой файловой системы в ext3 требует особого подхода, и лучше всего его проводить в режиме одного пользователя (single user mode) после создания RAM диска поддерживающего файловую систему ext3.

Ограничения размеров

Максимальное число блоков для ext3 равняется 232. Размер блока может быть различным, что влияет на максимальное число файлов и максимальный размер файла в файловой системе.

Размер блока Max размер файла Max размер ФС
1 KiB 16 GiB до 2 TiB
2 KiB 256 GiB до 8 TiB
4 KiB 2 TiB до 16 TiB
8 KiB (+прим.) 2 TiB до 32 TiB

(+прим.) Размер данного блока в Linux доступен только на архитектурах, поддерживающих страницы в 8 KiB, например, Alpha.

Примечания

  1. The maximum number of inodes (and hence the maximum number of files and directories) is set when the file system is created. If V is the volume size in bytes, then the default number of inodes is given by V/213 (or the number of blocks, whichever is less), and the minimum by V/223. The default was deemed sufficient for most applications. The max number of subdirectories in one directory is fixed to 32000.

Источники