Многие современные файловые системы используют журнал, включая NTFS, Ext3 / 4, XFS, HFS + и другие. Журнал помогает в двух вещах: избежать повреждения файловой системы и ускорить восстановление после сбоя, такого как сбой питания или сбой системы. Файловая система состоит из двух основных компонентов: данных и метаданных. Данные - это содержимое файла, изображения, видео, документы, и в конечном итоге это то, что придает файловой системе ценность. Метаданные - это то, что описывает структуру файловой системы, включая то, как файлы именуются, хранятся в каталогах, права доступа, время изменения файлов и области записи на диске используются, или могут быть свободно выделены для других файлов по мере их роста или созданы. Если метаданные будут повреждены из-за сбоя системы, это может привести к дальнейшей потере / повреждению данных. Например, часть диска может быть выбрана для размещения в файле, но если она не записана правильно перед сбоем, она может быть добавлена в список блоков данных файла, но все еще в списке свободных блоков данных и выделена для второго файла позже. Теперь есть два файла, которые используют одни и те же блоки данных / контент.
Журнал - это место на диске, зарезервированное для записи изменений в файловой системе. Точные подробности того, что изменяется, записываются сначала в журнал, расположенный в одном месте на диске, а затем, после обновления журнала, изменения применяются к соответствующим местам на диске, которые могут потребовать несколько записей. После завершения обновления запись в журнале помечается как завершенная. После сбоя системе нужно только проверить журнал на наличие неполных записей и заполнить их, чтобы исправить файловую систему. Это ускоряет восстановление и обеспечивает внесение изменений полностью или не вносится вообще. Если блок выделен растущему файлу, он будет добавлен в список заблокированных файлов и также помечен как используемый.
Кроме того, в файловых системах, которые поддерживают журналирование, чаще всего для сохранения структуры используются только журналирование метаданных, но не сами данные. Журналирование полных данных обычно довольно дорого и медленно, но менее важно, чем метаданные. Можно также включить данные, если это необходимо.
Кроме того, чтобы завершить это, есть некоторые файловые системы, которые в настоящее время не предлагают журналирование, включая FAT32, exFAT, Ext2 и UDF. Если во время обновления происходит сбой, необходимо выполнить полное сканирование файловой системы, чтобы отследить любые ошибки или повреждения.