[mdk-re] RaiserFS & Home PC

Sergei Aranovsky =?iso-8859-1?q?Sergei=2EAranovsky_=CE=C1_srm=2Eru?=
Ср Сен 26 18:42:12 MSD 2001


Здравствуйте,

"Peter V. Saveliev" wrote:
> 
> Gosha wrote:
> 
> > Зачем гистограмму?
> > Вам тот факт, что ФС журналируемая, ни о чем не говорит?
> > Другими словами, нет смысла оспаривать, что порушить reiserfs
> > можно с гораздо меньшей вероятностью, чем ext2.
> > Или Вы с этим не согласны?
> 
> А журнал файловой системы, надо полагать, хранится всемирным разумом ?
> ;)) Так опять же, на диске. То есть, работа с диском журналируется на
> диск путем работы с диском. Разве нет? Или я что-то не так понял? А
> обрушивание ФС - дело случая и кармы.

Позвольте добавить свои пять копеек.

Фаловая система состоит из "данных" (содержимое файлов) и "метаданных"
(структура каталогов, таблицы размещения и т.д.).
"Разрушение файловой системы" в 99.99% случаев -- рассинхронизация
данных и метаданных, которое происходит:
1. если модификация файловой системы была прервана, когда данные уже 
записаны, а метаданные -- нет (простейший случай) или 
2. если только часть операций записи метаданных на диск завершилась 
успешно (более тяжёлый случай). 

В первом случае на ext2 после прохода e2fsck мы имеем файлы в 
lost+found. Во втором случае -- с большой вероятностью разрушенную до 
непригодности файловую систему.

Замечу, что проще файловая система, и чем меньше используется кэширование
при записи, тем меньше вероятность сбоев такого рода (скажем, на DOS+FAT
в отсутствии SMARTDRV они не встречались).

В "журналируемых" файловых системах модификацмм рассматриваются
как транзакции, причём, до и после транзакции файловая система должна быть
в "консистентном" состоянии. В случае сбоя посередине транзакции, она
откатывается (то есть файловая система, как данные, так и метаданные 
приводятся к состоянию "до начала модификации"). "Журнал" -- место, куда
записывается данные для отката транзакции перед её исполнением.
Если транзакция завершилась успешно, журнал чистится. Если нет -- происходит
откат в соответствии с журналом (например, при следующей загрузке компьютера).
Подобные схемы применяются в базах данных (и, кстати, именно оттуда пришли в 
файловые системы).

Порча журнала может произойти только в результате аппаратного сбоя, а 
на современных винчестерах это событие маловероятное (ибо аппаратно же
и обрабатывается). А вот прерывание модификации метаданных -- 
распространённейшее явление.

С уважением,
-Сергей Арановский




Подробная информация о списке рассылки community