В этой статье приведены инструкции по выявлению и устранению неполадок, связанных с поврежденными блоками (перфорация) на жестких дисках серверов PowerEdge с контроллерами PERC. Следующая информация может помочь вернуть неисправный виртуальный диск в рабочее состояние, особенно, когда невозможно использовать резервное копирование.
OpenManage Server Administrator (OMSA) показывает красный крестик перед виртуальным диском (рис. 1).
Рис. 1. Виртуальный диск с красным крестиком в столбце «Состояние» (пример H800)
В системном журнале Windows отображаются ошибки Bad Block (рис. 2).
Рис. 2. Ошибка «Bad Block» в системном журнале Windows
В журнале контроллера RAID (TTYLOG) отображаются следующие ошибки:
02/26/15 13:43:39: EVT#131878-02/26/15 13:43:39: 97=Puncturing bad block on PD XX(e0x20/s2) at 180ca4a1f
Подробнее о получении этих конкретных журналов см. в статье о получении журналов.
В массивах RAID могут происходить ошибки данных. Функции микропрограмм контроллера RAID и жестких дисков позволяют обнаруживать и исправлять множество типов ошибок данных, прежде чем данные будут записаны в массив/накопитель. Использование устаревшей микропрограммы может привести к записи неверных данных на массив или накопитель, так как в нем отсутствуют функции обработки/исправления ошибок, доступные в последних версиях микропрограммы.
Ошибки данных также могут быть вызваны физическими неисправными блоками. Например, это может происходить при контакте головки чтения/записи с вращающимся диском (при так называемом «разрушении головки»). Блоки также могут со временем становиться дефектными, если в определенном месте диска ухудшаются магнитные свойства, позволяющие сохранять биты. Дефектные блоки, появившиеся в связи с ухудшением состояния магнитного диска, нередко можно успешно считывать. Такой дефектный блок может обнаруживаться только время от времени или с помощью расширенной диагностики накопителей.
Дефектный блок, называемый дефектным логически адресуемым блоком (LBA), также может появиться вследствие логических ошибок данных. Это происходит при неверной записи данных на накопитель, хотя по окончании операции записи сообщается, что она выполнена успешно. Кроме того, возможно непреднамеренное изменение правильных данных, хранящихся на накопителе. Примером может служить «инвертирование битов» (bit flip), которое происходит, когда головка чтения/записи проходит над записанными данными к соседнему месту и вызывает изменение данных, записанных в виде нулей и единиц, которые приобретают другое значение. В таких условиях нарушается «целостность» (consistency) данных. Значение данных в определенном блоке отличается от исходных данных и может не совпадать с контрольной суммой этих данных. Физическая LBA исправна и может быть записана, но в настоящее время она содержит неверные данные и может интерпретироваться как неисправный блок.
Дополнительную информацию см. в нашей статье о двойных ошибках и перфорациях в массивах RAID.
Создайте проверенную резервную копию данных на файловом уровне.
Убедитесь, что все неисправные диски с прогнозируемыми отказами заменены.
Удалите и повторно создайте виртуальный диск.
Выполните полную инициализацию виртуального диска.
Выполните проверку целостности для вновь созданного виртуального диска.
Теперь можно восстановить данные на работоспособном виртуальном диске.
Рекомендация. Выполните модернизацию микропрограммы всех жестких дисков до последней версии.
OMSA предоставляет возможность удаления предупреждений о поврежденных блоках. Для очистки поврежденных блоков рекомендуется выполнить следующие действия:
При выполнении резервного копирования виртуального диска с выбором опции Verify возможны два сценария:
Запустите Patrol Read (в разделе Virtual Disk Tasks в OMSA) и проверьте журнал системных событий, чтобы убедиться, что новые поврежденные блоки не найдены. Если поврежденные блоки все еще существуют, перейдите к следующему шагу. Если нет — условие будет очищено.
Чтобы очистить эти поврежденные блоки, выполните задачу Clear Virtual Disk Bad Blocks. Это можно сделать в графическом интерфейсе пользователя OMSA или с помощью команды в интерфейсе командной строки:
omconfig storage vdisk action=clearvdbadblocks controller=id vdisk=id
omreport storage controller
для отображения идентификаторов контроллеров, а затем введите omreport storage vdisk controller=ID
для отображения идентификаторов виртуальных дисков.