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

Плохие блоки существуют в виртуальном устройстве PERC H700 Integrated

У меня есть сервер 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. Может ли кто-нибудь помочь мне разобраться, что не так с моим рейдом?

Индикатор MegaCLI «Существуют плохие блоки» относится к таблице Soft Bad Block Management, которая работает следующим образом (цитата из Документы 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 (измените номер в соответствии с вашим адаптером / массивом)

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