Eu tenho uma matriz RAID triste em uma placa 3ware 9650SE-16ML. O que não sei dizer é se acabei de sofrer uma falha no disco duplo (que chatice!) ou se estou lendo isso errado. A saída relevante de /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
E a falha é (de 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
EUpensarque o que aconteceu foi que p0 falhou e então p1 teve um erro de ECC (ou seja, meus dados desapareceram). Mas... talvez não? Ele permanece 97% reconstruído, mas não consegue superar esse erro.
Pelo que sei, um administrador anterior desativou a verificação periódica, e foi isso que nos colocou nesse estado. Isso não é algo com que a maioria das pessoas deva se preocupar com seus RAIDs 3Ware!
Atualizar
Depois de trabalhar nele por alguns dias, fiz o bit IgnoreECC e ele o reconstruiu, mas meus dados estão perdidos. Desapontamento.
Responder1
Erro ECC significa que há pelo menos um setor ilegível na unidade. No entanto, se você tiver sorte, esse setor poderá não ser realmente usado pelo sistema de arquivos localizado nesse volume; portanto, você ainda poderá copiar seus dados da matriz nesse estado.
Existem também algumas opções para ignorar erros de ECC durante a reconstrução:
/cx/ux start rebuild disk=p [ignoreECC]
/cx/ux set ignoreECC=on|off
No entanto, usar essas opções significa que a faixa RAID afetada por um setor defeituoso será corrompida (não tenho certeza do que exatamente a placa fará neste caso - ela pode substituir toda a faixa por zeros, ou mesmo por dados aleatórios), portanto o “ recuperado” pode, na verdade, ter corrupção indetectável (se a faixa afetada estiver no meio de algum arquivo de dados). Copiar seus dados do array para algum outro lugar antes de tentar reconstruir pode ser mais seguro (pelo menos você deve obter erros ao tentar ler a área danificada).
Você deve configurar a verificação agendada da matriz para detectar setores ilegíveis mais cedo, para que possa substituir uma unidade que começou a apresentar problemas.
Responder2
Nunca experimentei uma unidade física (p0) entrar no status DEGRADADO, no entanto, você pode conseguir recuperar a unidade ECC-ERROR ou mesmo a unidade DEGRADADA removendo-os via
/c0 p1 remove
e, em seguida, emitindo uma nova varredura
/c0 rescan
coloque-os de volta na unidade de ataque via
maint rebuild c0 u0 p1
Unidades SATA que falharam com ECC-ERROR, consegui ressuscitar, mesmo que apenas por algumas horas, antes de falhar novamente.
Responder3
É muito provável que seus dados tenham desaparecido. Erro ECC significa um erro irrecuperável durante a leitura deste disco.
Se você não tiver um backup, poderá tentar despejar o estado atual do array. Isso pode ser possível porque o controlador não sabe se perdeu dados ou apenas uma área vazia (falta qualquer visão do sistema de arquivos).