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