Файловая система может быть повреждена несколькими способами. Три наиболее общих:
· неправильное закрытие или запуск системы;
· удаление носителей данных до демонтирования файловой системы;
· выход из строя аппаратных средств.
Можно сохранить надежность файловых систем, выполняя следующие правила:
· всегда используйте процедуру shutdown перед выключением компьютера. Процедура закрытия демонтирует все файловые системы;
· всегда демонтируйте смонтированный гибкий диск системы UNIX перед его удалением;
· никогда не удаляйте гибкий диск, пока дисковод работает.
Целостность файловой системы
У компьютера есть несколько встроенных признаков надежности. Ниже приводится краткий список этих признаков:
· когда файл записывается на жесткий диск, его индексный дескриптор и блоки записываются в том порядке, который гарантирует максимальную надежность. Это известно как упорядоченные записи;
· системные буферы периодически записываются на жесткий диск. Это известно как автоматическая модификация;
· если файловая система повреждается, необходимо прогнать программу fsck, чтобы очистить файловую систему перед ее монтированием.
Программа fsck
Контролирующая программа (fsck) файловой системы - это интерактивная контрольно-исправительная программа файловой системы. Программа fsck использует информацию, находящуюся в самой файловой системе, для проверки целостности. Если обнаружено нарушение целостности, отображается сообщение, описывающее нарушение целостности. Рекомендуется выбрать параметр -y для программы fsck, чтобы эта програма автоматически исправила выявленные нарушения целостности.
При загрузке системы UNIX ваш компьютер осуществляет контроль целостности по состоянию корневой файловой системы. Если существуют потенциальные проблемы, программа fsck выполняется автоматически, чтобы исправить корневую файловую систему.
Чтобы вручную прогнать программу fsck, необходимо сначала демонтировать файловую систему (если вы проверяете корневую файловую систему, корень должен оставаться смонтированным).
Общий формат команды fsck:
fsck [-F FSType][-V][current_options][-m] [-o specific_options][special...]где -F - специфицирует тип FSType, с которым будут работать. FSType должен быть либо специфицирован здесь, либо определен из /etc/vfstab путем сопоставления special с элементом таблицы; -V - эхо-отображение всей командной строки; команду не выполнять; current_options - параметры, поддерживаемые модулем программы fsck, специфичным для системы типа s5; -m - проверить, но не исправлять. Этот параметр проверяет, подходит ли файловая система для демонтирования; -o specific_options - специфицирует подпараметры, которые специфичны для типа файловой системы - s5 или ufs.
Если файловая система сохраняет свою целостность, то дается отчет о количестве файлов, используемых блоках и свободных блоках. Если целостность файловой системы нарушена, пользователю дается подсказка выполнять операции паралельно перед каждой попыткой исправить систему.
2.4.3.1. Использование команды fsck для проверки файловой системы s5
Формат команды для файловых систем s5:
fsck [-F s5][generic_options][-y][-n][-p][-sX][-tfile] [-1][-q][-D][-f][-b][special]Рекомендуется использовать параметр -y. Этот параметр отвечает "да" на все вопросы, выдаваемые командой fsck, и не требует вашего вмешательства. Другой рекомендуемый параметр -s, который форсирует перестройку свободного списка в оптимальном порядке. При использовании свободного списка он дезорганизуется; перестройка свободного списка улучшает работу с последовательно создаваемыми файлами. special дает имя специальному файлу устройства, связанному с файловой системой. Если имя устройства не определено, команда fsck проверяет все файловые системы, названные в /etc/vfstab с числовым полем fsckpass.
Следующий экран показывает команду fsck, введенную для проверки файловой системы usr. Никакие параметры не специфицируются. Отклик системы обозначает, что нарушения целостности обнаружено не было. Команда действует поэтапно; некоторые этапы команды прогоняются, только если это требуется или в ответ на параметр командной строки. По завершении каждого этапа отображается сообщение. В конце программы отображается заключительное сообщение, показывающее количество файлов (индексных дескрипторов файлов), блоков и свободных блоков.
# fsck -F s5 /dev/dsk/1s2 /dev/dsk/1s2 File System: usr Volume: usr **Phase 1 - Check Blocks and Sizes **Phase 2 - Check Pathnames **Phase 3 - Check Connectivity **Phase 4 - Check Reference Counts **Phase 5 - Check Free List 411 files 4394 blocks 8880 free #2.4.3.2. Этапы программы fsck в системе s5
Программа fsck прогоняется по этапам. На каждом этапе даются отчеты о любых ошибках, которые обнаружила программа. Если fsck может исправить ошибку, пользователя спрашивают, должно ли быть сделано исправление. Если вы определили параметр -y, тогда на все вопросы предполагается отвечать "да" и вам не будет дано приглашение. В последней части этого раздела описываются сообщения, выходящие на каждом этапе, возможные отклики и связанные с ними исключительные ситуации: ниже перечисляются сокращения, используемые в сообщениях об ошибках в программе fsck.
Аббревиатура сообщений об ошибках, выводимых fsck.
Следующая аббревиатура и соответствующий ей текст появляются в сообщении об ошибке:
BLK | номер блока |
DUP | номер блока копии |
DIR | имя справочника |
MTIME | время последней модификации |
UNREF | |
CG | группа цилиндра |
Следующая однобуквенная аббревиатура заменяется на соответствующий ей текст при появлении на экране сообщения об ошибке:
B | номер блока |
F | имя файла |
I | номер inode |
M | режим файла |
O | user-id владельца файла |
S | размер файла |
T | время последней модификации файла |
X | счетчик связи |
или число блоков BAD, DUP или MISSING | |
или число файлов (зависимых по контексту) | |
Y | номер счетчика корректного канала связи |
или число блоков в файловой системе | |
Z | число свободных блоков |
Этап инициализации
Проверяется синтаксис командной строки. Перед проверкой файловой системы программа fsck устанавливает некоторые таблицы и открывает некоторые файлы. Программа fsck завершается, когда она сталкивается с ошибками на этапе инициализации.
Общие ошибки
Следующие три сообщения об ошибках могут появиться на любом этапе после инициализации. Их лучше рассматривать как фатальные, закончить выполнение программы и попытаться определить причину ошибки.
Сообщение:
CAN NOT SEEK: BLK B (CONTINUE?)Просьба переместиться в указанный номер блока B в поврежденной файловой системе. Это сообщение указывает на серьезную ошибку, вероятно сбой в аппаратных средствах.
Сообщение:
CAN NOT READ: BLK B (CONTINUE?)Просьба передать указанный номер блока B в поврежденную файловую систему. Сообщение указывает на серьезную ошибку, вероятно сбой в аппаратных средствах.
Сообщение:
CAN NOT WRITE: BLK B (CONTINUE?)Просьба записать указанный номер блока B в поврежденную файловую систему. Диск может быть защищен от записи.
Значение ответов Да/Нет
Ответ n (нет) на приглашение CONTINUE? означает: Закончите программу (Это рекомендуемый ответ)
Ответ y (да) на приглашение CONTINUE? означает: Попытайтесь продолжить проверку файловой системы.
Обратите внимание, что ошибки часто могут повторятся. Эта исключительная ситуация предотвращает полную проверку файловой системы. Необходимо второй раз выполнить программу fsck, чтобы еще раз проверить файловую систему.
Дата: 2019-05-28, просмотров: 222.