Россия, Москва, Московский Авиационный Институт, 2009 |
Управление жестким диском
12.1. Общий обзор
В этой лекции объясняются задания, выполняемые для обнаружения сбоев в жестком диске, такие как обработка неисправных блоков и восстановление после повреждения жесткого диска. Для выполнения этих задач меню OA&M системы UNIX System V Version 1.0 использоваться не могут.
12.2. Разбивка жесткого диска
Ниже приводится описание существующей разбивки жесткого диска, трудностей при разбивке, а также требуемых изменений. Структуры данных, используемые только системой UNIX (т.е. pdinfo, vtoc и таблица преобразования неисправного блока) хранятся на диске в пределах раздела системы UNIX. Другие секторы, зарезервированные для неисправных блоков, также хранятся в пределах этих разделов.
Типичная разбивка диска такова:
- зарезервируйте первый сектор цилиндра 0 для первичной загрузки и ipart table ;
- зарезервируйте первые 29 секторов раздела системы UNIX для загрузки первой стадии и второй стадии;
- зарезервируйте 30-ый сектор раздела системы UNIX для таблицы pdinfo и vtoc ;
- зарезервируйте 31-ый и 34-ый для таблицы преобразования неисправных блоков;
- зарезервируйте столько последовательных секторов сколько необходимо, начиная с 35-го сектора раздела системы UNIX, для других секторов.
Реализация этой разбивки устраняет возможные ограничения системы UNIX. Следовательно:
- инсталяция системы UNIX никогда не приведет к разрушению раздела MS-DOS, независимо от того, где на диске размещен раздел MS-DOS;
- если какие-то секторы, где хранятся pdinfo, vtoc и таблица преобразования неисправного блока, находятся в плохом состоянии, все равно можно использовать жесткий диск для системы UNIX, если раздел системы UNIX начинается с какого-то другого места на диске.
12.3. Обработка неисправного блока
Обработка неисправных блоков подразделяется на шесть категорий:
- динамическая обработка неисправных блоков;
- сопровождение таблицы преобразования неисправных блоков;
- выявление неисправных блоков;
- создание отчетов о неисправных блоках;
- инициация жесткого диска для обработки неисправных блоков.
12.3.1. Динамическая обработка неисправных блоков
Это обработка неисправных блоков, которая выполняется динамически, без вмешательства пользователя. Динамическая обработка обеспечивает незамедлительное выявление проблемы, что до минимума сводит потерю данных и помогает избежать возникновения ошибок. Настоящая реализация сообщает о проблемах в пульт управления после их обнаружения, но не протоколирует эти сообщения.
12.3.2. Сопровождение таблицы преобразования неисправных блоков
Таблица преобразования неисправных блоков создается и хранится на жестком диске, когда диск форматируется первый раз. Она состоит из списка неисправных блоков и списка альтернативных блоков. Эти два списка абсолютно соответствуют друг другу.
Список неисправных блоков используется для записи адреса на диске тех блоков, которые неисправны. Список альтернативных блоков используется для записи адреса на диске всех зарезервированных секторов, которые будут использоваться вместо неисправных блоков.
12.3.3. Выявление неисправных блоков
Средство обработки неисправных блоков должно уметь выявлять два типа проблем:
- крайние блоки;
- несчитываемые блоки.
Крайний блок - это блок, который есть только с алгоритмом ECC (Код исправления ошибок) контроллера жесткого диска.
Если будет установлено, что рассматриваемый блок - крайний, система:
- сообщит о проблеме;
- скопирует данные крайнего блока в доступный альтернативный блок;
- пометит крайний блок как неисправный;
- сообщит, что блок был преобразован.
12.3.4. Выявление несчитываемых блоков
Если блок является несчитываемым, данные, хранящиеся в нем, теряются. Большая часть блоков выявляется, когда они становятся крайними, т.е. несчитываемые блоки встречаются довольно редко.
12.3.5. Динамическая обработка несчитываемых блоков
При каждом обнаружении несчитываемого блока, система:
- сообщит, что блок выявлен;
- присвоит доступный альтернативный сектор для неисправного блока (когда это необходимо);
- предупредит о потере данных;
- определит, является ли неисправный блок частью файловой системы;
- если блок является частью файловой системы, пометит файловую систему для запуска проверки этой системы в следующий раз, когда система будет перезагружаться.
12.3.6. Преобразование неисправных блоков
Преобразование неисправных блоков выполняется системой автоматически. Если система обнаруживает потенциально неисправный или действительно неисправный блок на диске, она сообщает об этом, анализирует блок и предпринимает требуемое действие.
12.3.7. Составление отчетов о неисправных блоках
Система всегда сообщает о потенциальном или реальном возникновении неисправных блоков. Сообщения об ошибке, которое система отображает для обоих типов неисправностей, приводятся ниже.
12.3.7.1. Составление отчетов о крайних и нечитаемых блоках
Каждый раз когда система выявляет потенциально крайние или нечитаемые блоки, этот блок анализируется, чтобы определить действие, которое следует предпринимать, и система посылает сообщение в пульт управления. Эти сообщения не требуют от вас каких-либо действий.
12.4. Восстановление жесткого диска
Даже при обработке неисправных дорожек есть вероятность того, что повреждение, которое невозможно исправить автоматически, может возникнуть на жестком диске. При возникновении ошибки на жестком диске вы можете получить на экране следующее сообщение:
A hard-disk operation of type x has failed at sector y
Значения X такие:
0x02 - неудача при попытке считать сектор с диска в память; 0x03 - неудача при попытке записать сектор из памяти на диск; 0x05 - неудача при форматировании указанной дорожки; 0x06 - неудача при форматировании дорожки и попытке установить флаг неисправности сектора; 0x07 - неудача при форматировании пускателя драйвера, начинающегося с дорожки x.
При возникновении таких сбоев попытайтесь исправить файловую систему, используя одну из процедур, описанных ниже.
12.4.1. Восстановление после незначительного повреждения жесткого диска
Когда нет возможности исправить жесткий диск автоматически, а вы все еще обращаетесь к системе, попробуйте сделать следующее: