Файловая система в Linux: основные типы


Файловая система в Linux создается для диска или раздела диска и определяет способ организации хранения данных на низком уровне.

Чаще всего встречается ext4. Это стандартная файловая система для современных дистрибутивах Debian и Ubuntu. Она журналируема и позволяет удобно работать с данными при решении абсолютного большинства задач. Тем не менее существуют и другие.


Основные типы файловых систем и принципы работы с ними будут рассмотрены в рамках данного материала.



Файловая система в Linux — используемые чаще всего типы FS и их особенности


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


Файловая система может создаваться на любом устройстве: на диске или системной партиции.



Файловая система EXT2


EXT2 является в настоящее время устаревшей файловой системой, которая практически не используется в современных инсталяциях. основной недостаток — отсутствие журналирования что, соответственно, делает невозможным восстановление данных в случае сбоя. По прежнему применяется на портативных носителях информации, таких как USB. Журнал для них не требуется, поскольку занимает определенное пространство.

Также гарантирует максимальную скорость работы.

  • для EXT2 максимальный размер файла -2 TB
  • максимальный размер всех файлов — 32 TB


Файловая система EXT3


Вытеснила EXT2, главной особенностью является появление журнала, является полностью обратно совместимой с EXT2 (EXT2 можно свободно конвертировать в EXT3). Сейчас встречается также редко, практически всегда используется EXT4.



Журнал — специальная область в памяти, в которую записывается информация обо всех изменениях

  • для EXT3 максимальный размер файла -2 TB
  • максимальный размер всех файлов — 32 TB
  • в каждом каталоге может быть до 32 000 подкаталогов


При журналировании может быть три опции (указываются при создании файловой системы):

  • journal – в журнал метаданные, а также сама информация
  • ordered – опция по умолчанию, сохраняются только метаданные и после записи на диск
  • writeback – также сохраняются только метаданные, можно выбрать сохранять их до записи на диск или после


Файловая система EXT4


Современная версия extended file system, чаще всего применяется именно она.



Пример /etc/fstab в Ubuntu, в качестве типа файловой системы основного диска указан ext4

Файловая система Linux


Особенности ext4

  • максимальный размер файла -2 TB 16 TB
  • максимальный размер всех файлов — 1 EB (exabyte). 1 EB = 1024 PB (petabyte). 1 PB = 1024 TB (terabyte).
  • в каждом каталоге может быть до 64 000 подкаталогов


В EXT4 ведение журнала можно выключить установив опцию data при монтировании в off



Пример вывода команды mount показывающий тип файловой системы корневого раздела

как узнать какая файловая система для раздела linux


В отличие от /etc/fstab команда mount показывает текущее состояние.



EXT как основная файловая система Linux и практика работы


Файловая система создается командой mk2fs

mk2fs -t ext3 /dev/vda

или

mkfs.ext3 /dev/vda



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

 mount /dev/vdc /mnt/1 -t ext3 -o data=journal



Конвертирование из EXT2 Eв XT3

umount /dev/vda

tune2fs -j /dev/vda

mount /dev/vda /home



ReiserFS


Файловая система ReiserFS (и современная реализация Reiser4 с поддержкой SELinux) отличается хорошей производительностью и очень продуктивна — особенно при работе с большим количеством мелких файлов. ReiserFS не выделяет inode-ы для каждого мелкого файла обрабатывая их вместе, также ReiserFS использует журнал с несколькими доступными опциями.


Создать FS для устройства можно командой

mkreiserfs /dev/vda



XFS


XFS – журналируемая файловая система. Использует оперативную память для хранения информации, поэтому возможны потери данных — например, при отключении электропитания.

Является опцией по умолчанию в CentOS. Ошибки исправляются с помощью утилиты xfs_repair.

Чтобы использовать XFS в Ubuntu потребуется установить пакеты xfsprogs и xfsdump



vfat


Файловая система Linux, также существующая в Windows среде. Используется когда нужно организовать совместный доступ к определенным дискам и разделам клиентов с разными ОС. В других случаях использовать не рекомендуется поскольку при работе в Linux возможны сложности.



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

Ошибки файловой системы возникших в результате сбоев устраняются отмонтированием раздела и запуском для него fsck или xfs_repair в зависимости от типа FS. Подробнее в этом материале.

Сказать спасибо