Назад | Перейти на главную страницу

Могу ли я предотвратить блокировку / выдачу ошибок консоли на сервере Linux при выходе из строя жесткого диска?

У меня есть сервер Linux (CentOS 5.5) с двумя идентичными жесткими дисками IDE. Я использовал программный RAID (mdadm) для создания зеркал для каждой файловой системы, чтобы любой жесткий диск мог выйти из строя и данные не были потеряны.

Сегодня вышел из строя один из моих жестких дисков. Вся суть RAID должна состоять в том, чтобы позволить системе продолжать работать, когда это происходит; но вместо этого произошло то, что консоль начала извергать одни и те же 4 строки снова и снова:

hdb: task_out_intr: status=0x61 { DriveReady DeviceFault Error }
hdb: task_out_intr: error=0x04 { DriveStatusError }
ide: failed opcode was: unknown
ide0: reset: success

Консоль была непригодна для использования из-за большого количества ошибок. Мне удалось подключиться по SSH, но первая команда, которую я попробовал, просто зависла. Я снова подключился по SSH и попытался перезагрузиться, но он тоже завис. В конечном итоге мне пришлось физически перезагрузить машину.

Я знаю, как удалить вышедший из строя диск из MD, заменить его и т. Д. Но если машина заблокируется и станет непригодной для использования в этой ситуации, кажется, в первую очередь лишается смысла наличия зеркал RAID.

Неужели ядро ​​Linux всегда так себя ведет в этой ситуации? Или есть какой-то способ настроить ядро ​​так, чтобы при выходе из строя жесткого диска оно ограничивало количество возникающих ошибок и не препятствовало использованию машины и чистой перезагрузке?

Я не сталкивался с этим, но поскольку вы используете программный RAID, это возможно что из-за сбоя жесткого диска что-то мешает вводу-выводу на контроллере диска, поэтому вы получаете другие сбои, такие как блокировка команд.

Данные должны быть неповрежденными (если они не повреждены, и в этом случае вы скопировали повреждение). Если сам диск вышел из строя, вы сможете выключить питание, удалить неисправный диск, снова включить питание и, надеюсь, все вернется в рабочее состояние со сломанным зеркалом.

Мне кажется, что природа сбоя не очень хорошо сочетается с контроллером. Выньте неисправный диск. Держать его там не принесет никакой пользы и может принести больше вреда.

Когда на ID-диске возникает ошибка чтения, в большинстве случаев он просто отказывается отвечать на команду чтения.

Ваше сообщение об ошибке (отображается hdb) означает, что оба жестких диска подключены к одному кабелю. Это может быть причиной вашей проблемы: отказавший диск заблокировал всю шину ide - ядро ​​linux просто имеет ждать таймаута и, следовательно, не иметь доступа к рабочему диску.