[Comm] FS
Sergey Vlasov
=?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Ср Сен 18 20:19:54 MSD 2002
On Wed, Sep 18, 2002 at 19:54:14 +0400, olgerd wrote:
> Hello Oleg,
>
> Wednesday, September 18, 2002, 7:45:11 PM, you wrote:
>
> OV> Приветствую коллектив !
>
> OV> Вопрос : чем отличается журналируемая файловая система от
> OV> нежурналируемой ? Или где можно почитать на эту тему.
>
> OV> Буду благодарен за совет.
>
>
> Журналируемая файловая система способна восстановить данные после
> незапланированной перезагрузки например, или же после перепада
> напряжения.
Ничего подобного. Как правило, восстанавливается только целостность
метаданных, да и то на некоторый момент времени перед сбоем. На практике
это означает следующее:
1. Файлы или каталоги, созданные перед сбоем, могут после восстановления
не появиться (если информация об их создании не успела записаться в
журнал), т.к. обычно синхронная запись не используется.
2. Целостность собственно данных, хранящихся в файлах, тоже не
гарантируется (если только программа не использовала fsync() или подобные
вызовы, обеспечивающие физическую запись информации на диск).
В частности, для reiserfs характерно следующее поведение. Допустим, в
момент сбоя в какой-либо файл дописывались данные в конец (соответственно,
длина файла увеличивалась). Тогда зачастую получается, что запись об
изменении длины файла и выделении новых блоков данных для него уже попала
в журнал и записана на диск, а сами блоки с данными еще не записаны. Если
в этот момент происходит сбой, при последующей перезагрузке и
восстановлении длина файла увеличивается согласно записи в журнале, в
результате чего в конце файла оказывается мусор. Файловая система ext3
поддерживает различные режимы журнализации данных и по умолчанию работает
в режиме data=ordered, поэтому такое с ней обычно не происходит (но и
работает соответственно медленнее).
Подробная информация о списке рассылки community