12.4 Надеждност на файловата система.

Животът е пълен с неприятни изненади и унищожаването на файлова система често е по-опасно от унищожаването на компютър. Следователно трябва да се обърне специално внимание на запазването на структурата на файловата система на диска. В допълнение към очевидните решения, като навременно дублиране на информация (бекъп), файловите системи на съвременните операционни системи съдържат специални инструменти за поддържане на собствената им съвместимост.

12.4.1 Целостта на файловата система.

Съвременните операционни системи осигуряват мерки, които позволяват минимизиране на щетите от повреда на файловата система и след това възстановяване на нейната цялост.

Очевидно за правилното функциониране на файловата система значението на отделните данни не е еднакво. Повредата на съдържанието на потребителските файлове не води до сериозни последствия (от гледна точка на целостта на файловата система), докато несъответствията във файловете, съдържащи контролна информация (директории, inodes, superblock и т.н.), могат да бъдат катастрофални. Следователно трябва внимателно да се обмисли редът, в който се извършват операциите върху структурите от данни на файловата система.

Друго средство за поддържане на целостта е начин за прилагане на файлова операция като транзакция, подобно на това, което се прави в СУБД. Последователността от действия с обекти по време на файлова операция се регистрира и ако системата спре, тогава, като има наличен журнал, е възможно системата да се върне обратно към първоначалното интегрално състояние, в което е била преди началото на операцията. Този вид журналиране се прилага в NTFS.

Ако въпреки това се появи нарушение, за да премахнете проблема с несъвместимостта, можете да прибегнете допомощни програми(fsck, chkdsk, scandisk и т.н.), които проверяват целостта на файловата система.

12.4.2 Управлениелоши блокове.

Лошите блокове обикновено се разбират като дискови блокове, за които изчислената контролна сума на прочетените данни не съвпада със съхранената контролна сума. Често се появяват по време на работа. Понякога те вече са налични със списъка при доставка, т.к за продавачите е много трудно да направят диск напълно без дефекти. Две решения на проблема с лошите блокове - едното на хардуерно ниво, а другото на ниво ядро.

Първият начин е да съхраните списък с лоши блокове в дисковия контролер. Когато контролерът се инициализира, той чете лошите блокове и заменя лошия блок с резервен блок, маркирайки дисплея в списъка с лоши блокове. Всички реални заявки ще отидат в резервния блок. Трябва да се има предвид, че в този случай един от най-разпространените механизми за обработка на заявки за дискови блокове ще работи неефективно. Факт е, че има стратегия за реда на обработка на заявките към диска, която диктува посоката на движение на четящата глава на диска към желания цилиндър. Обикновено резервните модули се поставят върху външните цилиндри. Ако лошият блок се намира на вътрешния цилиндър и контролерът извършва замяната по прозрачен начин, тогава видимото движение на главата ще бъде към вътрешния цилиндър, а действителното движение към външния. Това е нарушение на стратегията и следователно минус на тази схема.

Решение на ниво ОС може да бъде както следва. Първо, файлът, съдържащ лошите блокове, трябва да бъде внимателно конструиран. След това те се премахват от списъка с безплатни блокове. След това трябва да се уверите, че този файл няма достъп. Ако е възможно, тогава проблемът е решен.