Можно ли запретить серверу 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 всегда ведет себя в этой ситуации? Или есть какой-то способ настроить ядро ​​таким образом, чтобы при сбое жесткого диска он ограничивал количество возникающих ошибок и не препятствовал использованию компьютера и его чистой перезагрузке?

2 ответа

Решение

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

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

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

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

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

Другие вопросы по тегам