Что tw_cli от 3Ware подразумевает под «DEGRADED» диском и «ECC-ERROR»?

Что 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 и он восстановился, но мои данные испорчены. Обидно.

решение1

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

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

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

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

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

решение2

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

/c0 p1 remove

и затем выдать повторное сканирование

/c0 rescan

поместите их обратно в рейдовый отряд через

maint rebuild c0 u0 p1

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

решение3

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

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

Связанный контент