Журналирование в файловых системах Linux — это механизм, который записывает все изменения метаданных (например, структуру каталогов, inode) в специальную область («журнал») перед их применением к основной файловой системе. dzen.ru
Этапы записи файла: dzen.ru
- Операция (например, создание файла) регистрируется в журнале. dzen.ru
- Журнал помечает запись как «готовую к выполнению». dzen.ru
- Изменения применяются к файловой системе. dzen.ru
- После успешного выполнения запись удаляется из журнала. dzen.ru
Некоторые режимы журналирования:
- Writeback. acm.bsu.by В журнал записываются только метаданные файловой системы, то есть информация о её изменении. acm.bsu.by Не может гарантировать целостности данных, но уже заметно сокращает время проверки по сравнению с ext2. acm.bsu.by
- Ordered. acm.bsu.by То же, что и writeback, но запись данных в файл производится гарантированно до записи информации об изменении этого файла. acm.bsu.by Немного снижает производительность, также не может гарантировать целостности данных (хотя и увеличивает вероятность их сохранности при дописывании в конец существующего файла). acm.bsu.by
- Journal. acm.bsu.by Полное журналирование как метаданных ФС, так и пользовательских данных. acm.bsu.by Самый медленный, но и самый безопасный режим. acm.bsu.by Может гарантировать целостность данных при хранении журнала на отдельном разделе (а лучше — на отдельном жёстком диске). acm.bsu.by
Преимущества журналирования: при сбое (например, отключении питания) система проверяет журнал и завершает незавершённые операции, избегая повреждений. dzen.ru Также журналирование уменьшает время проверки файловой системы (fsck) с часов до секунд. dzen.ru