Виртуальные устройства PERC H700 интегрированы с плохими блоками

У меня есть сервер DELL со встроенным контроллером PERC H700. Я сделал RAID5 с 12 жесткими дисками, и виртуальное устройство находится в оптимальном состоянии, но я получаю такие ошибки под Linux:

sd 0:2:0:0: [sda] Unhandled error code
sd 0:2:0:0: [sda]  Result: hostbyte=0x07 driverbyte=0x00
sd 0:2:0:0: [sda] CDB: cdb[0]=0x88: 88 00 00 00 00 07 22 50 bd 98 00 00 00 08 00 00
end_request: I/O error, dev sda, sector 30640487832
sd 0:2:0:0: [sda] Unhandled error code
sd 0:2:0:0: [sda]  Result: hostbyte=0x07 driverbyte=0x00
sd 0:2:0:0: [sda] CDB: cdb[0]=0x88: 88 00 00 00 00 07 22 50 bd 98 00 00 00 08 00 00
end_request: I/O error, dev sda, sector 30640487832
sd 0:2:0:0: [sda] Unhandled error code
sd 0:2:0:0: [sda]  Result: hostbyte=0x07 driverbyte=0x00
sd 0:2:0:0: [sda] CDB: cdb[0]=0x88: 88 00 00 00 00 07 22 50 bc e0 00 00 01 00 00 00
end_request: I/O error, dev sda, sector 30640487648

Но все диски находятся в состоянии Прошивки: Online, Spun Up.
Также нет ни одной ошибки чтения или записи ATA на любом диске в рейде (я проверяю их smartctl -a -d sat+megaraid,N -H /dev/sda). Единственная странная вещь в выводе в

megacli:
megacli -LDInfo -L0 -a0
...
Bad Blocks Exist: Yes

Как могут быть поврежденные блоки на виртуальном диске, который находится в оптимальном состоянии и ни один диск не сломан или даже с одной ошибкой? Я попытался "Проверка согласованности", но он успешно завершился, и ошибки все еще находятся в dmesg. Может ли кто-нибудь помочь мне понять, что не так с моим рейдом?

2 ответа

Индикатор "Существуют плохие блоки" в MegaCLI ссылается на таблицу управления Soft Bad Block, которая работает следующим образом (цитата из документации MegaRaid):

Если CU обнаруживает ошибку носителя на исходном диске во время перестройки, он инициирует чтение сектора для этого блока. Если чтение сектора не удается, CU добавляет записи в таблицу Soft Bad Block Management (SBBM), записывает эту таблицу на целевой диск и отображает сообщение об ошибке.

Дополнительные сообщения об ошибках отображаются, если таблица SBBM заполнена на 80% или на 100%. Если таблица SBBM полностью заполнена, операция восстановления отменяется, и диск помечается как FAIL.

Таблица SBBM не будет содержать тех же "плохих" отметок, что и SMART, поскольку критерии и методы действий очень разные.

Посмотрите, какие диски сообщают об ошибках, используя megacli -LDPDInfo -aAll и внимательно изучите его.

Я получил эту проблему недавно. В массиве было сообщение "Bad Blocks Exist: Yes", ​​но все LD и PD были в порядке. Были ошибки при чтении в этом массиве.

Я нашел команду -LDBBMClr который ясно, что таблица fkng.

megacli -LDBBMClr -L0 -a0 (измените номер соответственно вашему адаптеру / массиву)

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

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