Что означает tw_cli в 3Ware под диском "DEGRADED" против "ECC-ERROR"?

У меня печальный RAID-массив на карте 3ware 9650SE-16ML. Чего я не могу сказать, так это того, что у меня только что произошел сбой на двух дисках (облом!) Или я читаю это неправильно. Релейный выход /c0 show all является:

Port   Status           Unit   Size        Blocks        Serial
---------------------------------------------------------------
p0     DEGRADED         u0     931.51 GB   1953525168    5QJ07MAH            
p1     ECC-ERROR        u0     931.51 GB   1953525168    5QJ0DCW9            
p2     OK               u0     931.51 GB   1953525168    5QJ0DW9C            
p3     OK               u0     931.51 GB   1953525168    5QJ0CKXJ            

И провал есть (от show alarms):

Ctl  Date                        Severity  Alarm Message
------------------------------------------------------------------------------
c0   [Sun Nov 20 07:47:23 2011]  INFO      Rebuild started: unit=0
c0   [Sun Nov 20 08:20:12 2011]  ERROR     Drive ECC error reported: port=1, unit=0
c0   [Sun Nov 20 08:20:12 2011]  ERROR     Source drive error occurred: port=1, unit=0
c0   [Sun Nov 20 08:20:12 2011]  ERROR     Rebuild failed: unit=0
c0   [Sun Nov 20 08:20:12 2011]  INFO      Rebuild paused: unit=0

Я думаю, что произошел сбой p0, и затем p1 имел ошибку ECC (иначе мои данные пропали). Но... может и нет? Он остается на 97% восстановленным, но не может обойти эту ошибку.

Насколько я могу судить, предыдущий администратор отключил периодическую проверку, что и привело нас в это состояние. Это не то, о чем большинство людей должны беспокоиться с их RAID-массивами 3Ware!

Обновить

После нескольких дней, я сделал бит IgnoreECC, и он восстановился, но мои данные хранятся. Облом.

3 ответа

Решение

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

Есть также несколько вариантов игнорирования ошибок ECC при перестройке:

/cx/ux start rebuild disk=p [ignoreECC]
/cx/ux set ignoreECC=on|off

Однако использование этих параметров означает, что полоса RAID, затронутая поврежденным сектором, будет повреждена (не уверен, что именно карта будет делать в этом случае - она ​​может заменить всю полосу нулями или даже случайными данными), поэтому Восстановленный "массив может фактически иметь необнаружимое повреждение (если затронутая полоса была в середине некоторого файла данных). Копирование ваших данных из массива в другое место перед попыткой перестройки может быть более безопасным (по крайней мере, вы должны получить ошибки при попытке прочитать плохую область).

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

У меня никогда не было физического диска (p0), чтобы перейти в состояние DEGRADED, однако вы можете вернуть диск ECC-ERROR или даже диск DEGRADED, удалив их через

/c0 p1 remove

а затем выдача повторного сканирования

/c0 rescan

положить их обратно в рейдовый блок через

maint rebuild c0 u0 p1

Диски SATA, которые не дали мне поработать с ECC-ERROR, я смог воскресить хотя бы на несколько часов, прежде чем снова потерпел неудачу.

Вполне вероятно, что ваши данные исчезли. Ошибка ECC означает неисправимую ошибку при чтении с этого диска.

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

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