Ответ
Ext4 (Fourth Extended Filesystem) — это стандартная журналируемая файловая система для многих дистрибутивов Linux, являющаяся развитием ext3.
Ключевые особенности:
-
Журналирование (Journaling) Это главный механизм обеспечения отказоустойчивости. Перед тем как внести изменения в основные структуры файловой системы, они записываются в специальную область — журнал. В случае сбоя (например, отключения питания) система может быстро восстановить целостность, проиграв записи из журнала, вместо полной проверки диска (
fsck
). -
Экстенты (Extents) Вместо традиционной схемы с указателями на каждый блок данных, ext4 использует экстенты. Экстент — это один непрерывный диапазон физических блоков. Это значительно уменьшает фрагментацию, сокращает метаданные и ускоряет доступ к большим файлам.
-
Отложенное выделение (Delayed Allocation) Файловая система откладывает выделение дисковых блоков до момента фактической записи данных на диск (а не в момент вызова
write()
в приложении). Это позволяет файловой системе принимать более оптимальные решения о расположении данных, что также снижает фрагментацию. -
Поддержка больших объемов Ext4 поддерживает файловые системы размером до 1 эксабайта (EB) и файлы размером до 16 терабайт (TB), что является значительным улучшением по сравнению с ext3.
-
Контрольные суммы (Checksums) Для повышения надежности в ext4 добавлены контрольные суммы для журнала и метаданных. Это помогает обнаруживать и предотвращать повреждения данных.
-
Обратная совместимость Файловую систему ext4 можно примонтировать как ext3 (с потерей новых возможностей), что обеспечивает плавный переход.