Описание тега journaling
Ведение журнала - это область, в которой файловая система регистрирует свои действия и другую информацию, так что если она прервана (сбой, отключение питания и т. Д.), Файловая система сможет восстановить себя и завершить любые незавершенные действия.
Пример сценария того, какие типы ошибок может решить журналирование, представлен в Википедии:
Например, удаление файла в файловой системе Unix включает два этапа:
- Удаление его записи в каталоге.
- Пометка пространства для файла и его индекса как свободного на карте свободного пространства.
Если сбой происходит между шагами 1 и 2, то будет потерянный инод и, следовательно, утечка памяти. С другой стороны, если перед сбоем сначала выполняется только шаг 2, еще не удаленный файл будет помечен как свободный и, возможно, будет перезаписан чем-то другим.
Журнализированная файловая система, для сравнения, знала бы, что она выполнила только одно из вышеуказанных действий, и сделает другое при запуске.
Большинство современных файловых систем записываются в журнал, в частности:
- ext3 (по умолчанию в большинстве дистрибутивов Linux)
- ReiserFS
- XFS
- JFS
- NTFS (стандартная файловая система Windows NT и выше)
- HFS + (стандартная файловая система OSX)