Проверка целостности файловой системы
Целостность файловой системы может быть нарушена в результате сбоя пи- тания или же аппаратной неисправности. Если работа операционной системы была прервана и файловая система не была отмонтирована, то в суперблоке файловой системы остается специальный флаг (dirty — грязный или not clean), который сообщает о том, что в файловой системе возможны наруше- ния. Если же файловая система была отмонтирована правильно, то файловая система находится в состоянии clean — "чистая".
Сбой файловой системы обычно сопровождается тем, что информация, нахо- дящаяся в кэше для данной файловой системы, не попадает на диск, т. е. не синхронизируется. Может произойти также и следующее: операция синхро- низации кэша с диском может быть не доведена до конца вследствие сбоя и запись данных из буфера на диск может прерваться до ее завершения. Это способно привести к целому ряду проблем:
r искажению или потере информации в блоках данных;
r появлению в системе блоков данных, которые считаются занятыми, хотя на них не указывает ни один индексный дескриптор;
r наличию перекрестных ссылок на блоки данных;
r появлению метаданных с ненулевым счетчиком ссылок, на которые не ссылаются никакие файлы;
r наличию противоречивых записей в каталогах и т. п.
Различают два класса возможных нарушений в файловой системе:
r нарушение целостности данных;
r нарушение целостности файловой системы.
Для защиты целостности данных могут быть использованы разнообразные методы резервного хранения данных (backup). Утилиты восстановления це- лостности файловой системы не могут гарантировать восстановление данных после сбоя. Гарантом сохранности данных является только наличие резерв- ных копий данных.
Для восстановления целостности файловых систем в GNU/Linux использует- ся утилита fsck (пример 11.9), которая аналогично mkfs является надстрой- кой над специализированными утилитами для различных файловых систем.
Дата добавления: 2015-06-12; просмотров: 1171;