У меня печальный 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 означает неисправимую ошибку при чтении с этого диска.
Если у вас нет резервной копии, вы можете попробовать сбросить текущее состояние массива. Это может быть возможно, потому что контроллер не знает, потерял ли он данные или просто пустую область (ему не хватает понимания файловой системы).