[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