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

Как диагностировать отказавший диск на сервере с контроллером raid storage?

У меня проблема с одним из моих Dell PowerEdge R210. Машина с Centos 6, сегодня системные журналы начали сообщать, что жесткий диск выходит из строя.

Jan  6 03:20:12 centos6 kernel: LSI Debug log info 31080000 for channel 0 id 0
Jan  6 03:20:12 centos6 kernel: sd 0:1:0:0: [sda] Unhandled sense code
Jan  6 03:20:12 centos6 kernel: sd 0:1:0:0: [sda] Result: hostbyte=invalid driverbyte=DRIVER_SENSE
Jan  6 03:20:12 centos6 kernel: sd 0:1:0:0: [sda] Sense Key : Medium Error [current]
Jan  6 03:20:12 centos6 kernel: Info fld=0x21a9055
Jan  6 03:20:12 centos6 kernel: sd 0:1:0:0: [sda] Add. Sense: Unrecovered read error
Jan  6 03:20:12 centos6 kernel: sd 0:1:0:0: [sda] CDB: Read(10): 28 00 02 1a 90 20 00 00 38 00
Jan  6 03:22:17 centos6 kernel: mptbase: ioc0: LogInfo(0x31080000): Originator={PL}, Code={SATA NCQ Fail All Commands After Error}, SubCode(0x0000) cb_idx mptscsih_io_done
Jan  6 03:22:17 centos6 kernel: LSI Debug log info 31080000 for channel 0 id 0
Jan  6 03:22:17 centos6 kernel: mptbase: ioc0: LogInfo(0x31080000): Originator={PL}, Code={SATA NCQ Fail All Commands After Error}, SubCode(0x0000) cb_idx mptscsih_io_done
Jan  6 03:22:17 centos6 kernel: LSI Debug log info 31080000 for channel 0 id 0
Jan  6 03:22:17 centos6 kernel: mptbase: ioc0: LogInfo(0x31080000): Originator={PL}, Code={SATA NCQ Fail All Commands After Error}, SubCode(0x0000) cb_idx mptscsih_io_done
Jan  6 03:22:17 centos6 kernel: LSI Debug log info 31080000 for channel 0 id 0
Jan  6 03:22:17 centos6 kernel: mptbase: ioc0: LogInfo(0x31080000): Originator={PL}, Code={SATA NCQ Fail All Commands After Error}, SubCode(0x0000) cb_idx mptscsih_io_done
Jan  6 03:22:17 centos6 kernel: LSI Debug log info 31080000 for channel 0 id 0
Jan  6 03:22:17 centos6 kernel: mptbase: ioc0: LogInfo(0x31080000): Originator={PL}, Code={SATA NCQ Fail All Commands After Error}, SubCode(0x0000) cb_idx mptscsih_io_done
Jan  6 03:22:17 centos6 kernel: LSI Debug log info 31080000 for channel 0 id 0
Jan  6 03:22:17 centos6 kernel: sd 0:1:0:0: [sda] Unhandled sense code
Jan  6 03:22:17 centos6 kernel: sd 0:1:0:0: [sda] Result: hostbyte=invalid driverbyte=DRIVER_SENSE
Jan  6 03:22:17 centos6 kernel: sd 0:1:0:0: [sda] Sense Key : Medium Error [current]
Jan  6 03:22:17 centos6 kernel: Info fld=0x21a7d89
Jan  6 03:22:17 centos6 kernel: sd 0:1:0:0: [sda] Add. Sense: Unrecovered read error
Jan  6 03:22:17 centos6 kernel: sd 0:1:0:0: [sda] CDB: Read(10): 28 00 02 1a 7d 80 00 00 18 00
Jan  6 03:22:19 centos6 kernel: sd 0:1:0:0: [sda] Unhandled sense code
Jan  6 03:22:19 centos6 kernel: sd 0:1:0:0: [sda] Result: hostbyte=invalid driverbyte=DRIVER_SENSE
Jan  6 03:22:19 centos6 kernel: sd 0:1:0:0: [sda] Sense Key : Medium Error [current]
Jan  6 03:22:19 centos6 kernel: Info fld=0x21a7dc0
Jan  6 03:22:19 centos6 kernel: sd 0:1:0:0: [sda] Add. Sense: Unrecovered read error
Jan  6 03:22:19 centos6 kernel: sd 0:1:0:0: [sda] CDB: Read(10): 28 00 02 1a 7d c0 00 00 80 00
Jan  6 03:28:05 centos6 kernel: sd 0:1:0:0: [sda] Unhandled sense code
Jan  6 03:28:05 centos6 kernel: sd 0:1:0:0: [sda] Result: hostbyte=invalid driverbyte=DRIVER_SENSE
Jan  6 03:28:05 centos6 kernel: sd 0:1:0:0: [sda] Sense Key : Medium Error [current]
Jan  6 03:28:05 centos6 kernel: Info fld=0x21a7d88
Jan  6 03:28:05 centos6 kernel: sd 0:1:0:0: [sda] Add. Sense: Unrecovered read error
Jan  6 03:28:05 centos6 kernel: sd 0:1:0:0: [sda] CDB: Read(10): 28 00 02 1a 7d 88 00 00 08 00
Jan  6 03:28:09 centos6 kernel: sd 0:1:0:0: [sda] Unhandled sense code
Jan  6 03:28:09 centos6 kernel: sd 0:1:0:0: [sda] Result: hostbyte=invalid driverbyte=DRIVER_SENSE

Теперь я предполагаю, что на этой машине есть RAID-контроллер, но не знаю, какой тип RAID настроен (если он есть).

Вывод из lspci:

01:00.0 SCSI storage controller: LSI Logic / Symbios Logic SAS1068E PCI-Express Fusion-MPT SAS (rev 08)

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

РЕДАКТИРОВАТЬ1. На данный момент у меня есть только ssh-доступ к этой машине, поэтому я хочу знать, возможно ли диагностировать эту проблему через ssh.

Если вы не хотите перезапускать систему для установки инструментов производителя, вы в основном будете сидеть здесь и упрямо стоять, пока машина полностью не выйдет из строя.
В этот момент неважно, чего вы хотите. Машина выйдет из строя, наверное, навсегда. Вам не придется беспокоиться о перезапуске, потому что это придется делать в рамках замены жестких дисков и восстановления из резервных копий. (Вы ДЕЛАТЬ есть резервные копии, правда?).

Лекция окончена.

Если вы не хотите устанавливать диагностические инструменты производителя, вам остается только физически подойти к машине и поискать диск с мигающим красным (или желтым) индикатором неисправности. Замени тот.
Это, конечно, предполагает RAID-1, RAID-5, RAID-6 или некоторую другую конфигурацию, которая позволяет вам заменить один неисправный диск (и что у вас есть только один неисправный диск). Если вы не находитесь в такой конфигурации или вышло из строя больше дисков, чем уровень отказоустойчивости вашей системы, вы вернетесь к «замене всех дисков и восстановлению из резервной копии».

Из-за отсутствия резервных копий вы застряли "СДЕЛАТЬ РЕЗЕРВНЫЕ КОПИИ, а затем, если вы не получили все необходимое, позвоните в компанию по восстановлению данных и попытайтесь спасти все, что можно ».

На диске есть средние ошибки, что означает, что есть данные, которые невозможно прочитать. Информация журнала LSI (0x31080000) сообщает вам, что последующие операции ввода-вывода были неудачными из-за того, как SATA выполняет восстановление после ошибок. Это не проблема.

У вас плохой диск и вы уже потеряли данные, если у вас есть RAID, то он тоже не работает. Скорее всего, хотя у вас вообще нет RAID, чтобы знать, что вам следует посмотреть вывод lsscsi, он сообщит вам марку и модель устройства / dev / sda. Если там написано, что жесткий диск (WD, Hitachi, Seagate), у вас одинокий жесткий диск, если там написано LSI, у вас есть устройство RAID.

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

Что делать после этого?

Вам нужно найти, какие файлы вы потеряли, попытаться прочитать их один за другим (find, xargs и cat - хорошая связка для этого) и посмотреть, какие файлы не могут быть прочитаны. Вам нужно будет принести их из резервной копии.

Чтобы восстановить сектора, просто напишите на них снова, и это исправит текущую ошибку носителя, вы можете просто удалить файлы или записать поверх них, и файловая система сделает это в свое время.

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

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