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

Что означает tw_cli 3Ware под «УСТАРЕВШИМ» диском по сравнению с «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, и он восстановился, но мои данные пропали. Облом.

Ошибка 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 означает неисправимую ошибку при чтении с этого диска.

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