[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