O que o tw_cli da 3Ware significa por um disco “DEGRADED” versus “ECC-ERROR”?

9

Eu tenho uma triste matriz RAID em uma placa 3ware 9650SE-16ML. O que eu não posso dizer é se eu acabei de sofrer uma falha no disco duplo (chatice!) Ou se estou lendo 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

Eu acho que o que aconteceu é p0 falhou e, em seguida, p1 teve um erro ECC (também conhecido como, meus dados sumiram). Mas ... talvez não? Ele permanece 97% reconstruído, mas não pode passar por esse erro.

Tanto quanto eu posso dizer, um administrador anterior desligou a verificação periódica, que é o que nos levou a esse estado. Isso não é algo que a maioria das pessoas deve se preocupar com seus 3Ware RAIDs!

Atualizar

Depois de bater por alguns dias, eu fiz o bit IgnoreECC e ele foi reconstruído, mas meus dados são apagados. Que pena.

    
por Bill Weiss 20.11.2011 / 16:22

3 respostas

6

Erro de ECC significa que há pelo menos um setor ilegível na unidade. No entanto, se você tiver sorte, esse setor talvez não seja realmente usado pelo sistema de arquivos localizado nesse volume, portanto, você ainda poderá copiar seus dados do array 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, o uso dessas opções significa que a faixa RAID afetada por um setor defeituoso será corrompida (não sei exatamente o que a placa fará nesse caso - ela pode substituir toda a distribuição por zeros ou mesmo dados aleatórios), portanto, o array “recuperado” pode, na verdade, ter corrupção indetectável (se a faixa afetada estivesse no meio de algum arquivo de dados). Copiar seus dados da matriz para algum outro lugar antes de tentar reconstruí-los pode ser mais seguro (pelo menos você deve obter erros ao tentar ler a área ruim).

Você deve configurar a verificação agendada da matriz para capturar setores ilegíveis anteriormente, para que você possa substituir uma unidade que acabou de começar a ficar ruim.

    
por 20.11.2011 / 16:42
4

Eu nunca experimentei uma unidade física (p0) para entrar no status DEGRADED, no entanto você pode ser capaz de recuperar a unidade ECC-ERROR ou até mesmo a unidade DEGRADED removendo-os via

/c0 p1 remove

e, em seguida, emitindo uma nova pesquisa

/c0 rescan

coloque-os novamente na unidade de ataque via

maint rebuild c0 u0 p1

Os SATA-Drives que me falharam com o ECC-ERROR conseguiram ressuscitar, mesmo que apenas por algumas horas, antes de falhar novamente.

    
por 20.11.2011 / 16:34
2

É muito provável que seus dados tenham desaparecido. Erro de ECC significa um erro irrecuperável durante a leitura deste disco.

Se você não tiver um backup, pode tentar descartar o estado atual do array. Isso pode ser possível porque o controlador não sabe se perdeu dados ou apenas uma área vazia (não há informações sobre o sistema de arquivos).

    
por 20.11.2011 / 16:33