
Versão TL;DR
- Matriz RAID10 funcionando bem
- Reinicialize o servidor como parte da manutenção
- Matriz inoperável (sem acesso algum)
- Os registros do controlador dizem que uma única unidade está ruim
- Remover unidade e teste - nenhum setor defeituoso encontrado
- Seja cauteloso, substitua a unidade por uma em boas condições
- O controlador não reconstruirá o array em uma nova unidade
- Mesmo com apenas uma falha na unidade, o controlador tornou todo o array RAID10 inacessível
E agora a versão longa e detalhada:
Eu tenho um array RAID10 (8x1TB) em uma placa 3ware 9690 rodando em um servidor Ubuntu 1110.
Houve uma atualização do kernel, então agendei uma reinicialização após a qual o array ficou inacessível. Eu verifiquei o status de uma unidade que morreu no array, mas o controlador colocou todo o array em um estado 'inoperável' em vez de simplesmente degradado (qual é o objetivo do RAID agora ;-).
Depois de retirar a unidade 'morta', executei um teste rápido para encontrá-la completamente funcional, sem encontrar um setor defeituoso.
Tento colocar a unidade de volta, mas a matriz ainda marca o disco como degradado (lembra do número de série ou algo assim??) e toda a matriz como inoperante...
Então, troco-o por uma unidade em funcionamento conhecida (não com a mesma capacidade, mas com capacidade superior - ainda deve funcionar) e inicio uma reconstrução com a nova unidade como substituição. Isso falha instantaneamente com o erro "(0x0B:0x0033): Unidade ocupada: Falha ao iniciar a reconstrução na unidade 0". A unidade não deve estar ocupada porque não está montada (a própria placa está listada com lshw, mas o array que ela fornece não está).
Estou praticamente em um impasse agora, não entendo como posso ter uma falha de unidade única em um RAID10 que torna todo o array inacessível, degradado, eu poderia entender, mas inacessível? Não acho que o controlador esteja com defeito, pois antes da reinicialização ele estava completamente funcional.
> info c0
Unit UnitType Status %RCmpl %V/I/M Stripe Size(GB) Cache AVrfy
------------------------------------------------------------------------------
u0 RAID-10 INOPERABLE - - 256K 3725.25 Ri ON
VPort Status Unit Size Type Phy Encl-Slot Model
------------------------------------------------------------------------------
p0 OK u0 931.51 GB SATA 0 - SAMSUNG HD103SJ
p1 OK u0 931.51 GB SATA 1 - SAMSUNG HD103SJ
p2 OK u0 931.51 GB SATA 2 - SAMSUNG HD103SJ
p3 OK u0 931.51 GB SATA 3 - SAMSUNG HD103SJ
p4 OK u0 931.51 GB SATA 4 - SAMSUNG HD103SJ
p5 OK - 1.36 TB SATA 5 - ST31500341AS
p6 OK u0 931.51 GB SATA 6 - SAMSUNG HD103SJ
p7 OK u0 931.51 GB SATA 7 - SAMSUNG HD103SJ
> /c0/u0 start rebuild disk=5
Sending rebuild start request to /c0/u0 on 1 disk(s) [5] ... Failed.
(0x0B:0x0033): Unit busy
Responder1
Contatei o suporte da LSI e um de seus técnicos de segundo nível, louco para escrever um hack de script e firmware para colocar o array em um estado degradado regular.
A partir daí, foi normal juntar um novo disco ao array e reconstruí-lo.