Temos um servidor Debian com o controlador RAID 3Ware 9650SE de 8 unidades, com matriz RAID6 de 5 discos, atuando como host de máquina virtual, todo Linux. Os problemas continuam ocorrendo e eu suspeito que um disco quebrado não detectado.
Tivemos várias falhas agora, onde o host e todos os convidados estão dizendo que o sistema de IO foi bloqueado por 120 segundos ou mais. Suspeitamos de um controlador RAID com defeito, mas o substituímos por um idêntico por um firmware idêntico, que não foi corrigido. Eu não pensei que seria, porque um segundo array RAID1 continuava funcionando corretamente.
Quase uma semana atrás (domingo), quando isso acontecia, a verificação automática era de 66%. Ontem à noite (sexta-feira de manhã) foi de 67%. Antes e depois da inicialização, e ambos ao experimentar problemas. Quando desliguei a verificação com tw_cli /c0/u0 stop verify
, as coisas se tornaram responsivas novamente.
Eu suspeito que ele ficou preso em uma falha de disco em cerca de 66%. Uma verificação automática começa no sábado:
# tw_cli /c0 show verify
/c0 basic verify weekly preferred start: Saturday, 12:00AM
e normalmente seria feito na sexta-feira. Como o domingo era de 66% e a sexta-feira de 67%, é improvável que seja coincidência.
'smartctl -a -d 3ware, 0 / dev / twa0' e 'smartctl -t long' (autoteste longo SMART) em todas as unidades não revelaram erros. Nem faz tw_cli /c0 show alarms
.
Suspeitei que um disco estivesse quebrado de uma maneira difícil de detectar, mas tirei cada unidade da matriz uma por uma, criei uma matriz 'única' e criei zeros. Nenhum disco mostrou erros.
Ou algum outro conselho?
Editar:
este é o layout:
# tw_cli /c0 show
Unit UnitType Status %RCmpl %V/I/M Stripe Size(GB) Cache AVrfy
------------------------------------------------------------------------------
u0 RAID-6 OK - - 256K 5587.9 RiW OFF
u1 SPARE OK - - - 1863.01 - OFF
u2 RAID-1 OK - - - 1862.63 RiW ON
VPort Status Unit Size Type Phy Encl-Slot Model
------------------------------------------------------------------------------
p0 OK u0 1.82 TB SATA 0 - ST32000542AS
p1 OK u0 1.82 TB SATA 1 - ST32000542AS
p2 OK u0 1.82 TB SATA 2 - ST32000542AS
p3 OK u0 1.82 TB SATA 3 - ST32000542AS
p4 OK u0 1.82 TB SATA 4 - ST32000542AS
p5 OK u1 1.82 TB SATA 5 - WDC WD2002FYPS-02W3
p6 OK u2 1.82 TB SATA 6 - WDC WD2002FYPS-02W3
p7 OK u2 1.82 TB SATA 7 - WDC WD2002FYPS-02W3
Name OnlineState BBUReady Status Volt Temp Hours LastCapTest
---------------------------------------------------------------------------
bbu On Yes OK OK OK 0 xx-xxx-xxxx
A unidade em questão é u0.
edit2:
tw_cli / c0 show diag mostra algo interessante (edit3: isso é inofensivo, descobri que é causado pela chamada de smartctl -a -d 3ware,X /dev/twa0
onde X é uma porta inválida):
QueueAtaPassthrough() called with invalid TargetHandle: 0x17, portHandle: 0xFF
Legacy opcode=0xB1 error=0x10E
E=010E T=14:15:51 : Invalid operation for specified port
E=010E T=14:15:51 U=0 : Return error status to host
Error, Unit 23: Invalid operation for specified port
(EC:0x10e, SK=0x05, ASC=0x24, ASCQ=0x00, SEV=01, Type=0x70)
No additional sense data
Error, Unit 23: 0x10E OVERRIDDEN due to invalid sense buffer descriptor
sense buffer: len=0, address=0x414ca2c7c
Send AEN (code, time): 0031h, 06/21/2013 14:26:16
Synchronize host/controller time
(EC:0x31, SK=0x00, ASC=0x00, ASCQ=0x00, SEV=04, Type=0x71)
Eu recebo toneladas disso. Eu não tenho idéia do que isso significa. Não consigo nem perceber qual unidade ou porta é. (edit3: Eu sei agora, é inofensivo).
Dada a minha edição3, estou de volta à estaca zero. Nada indica que um disco está quebrado, exceto que a verificação trava em 66% e faz com que a matriz seja interrompida, o que às vezes também acontece aleatoriamente. Desejo que a verificação encontre a falha ...
Respostas:
2 coisas que não foram levantadas até agora:
fonte
Esse problema pode ocorrer devido a um dos discos encontrar um erro de leitura e bloquear toda a matriz até conseguir realocar o setor ou o controlador RAID assumir que a unidade está inoperante e a inicializa da matriz, marcando-a como "Degradada" (isso depende completamente do controlador em questão). Isso pode acontecer com frequência se um disco está começando a morrer, mas ainda passa pelo SMART. A maioria dos discos de consumo continuará tentando a leitura para sempre.
Esse problema foi resolvido em algumas unidades destinadas ao RAID usando algo chamado Controle de recuperação de erros . A WD chama isso de TLER. Do site:
RAID-specific time-limited error recovery (TLER) - Pioneered by WD, this feature prevents drive fallout caused by the extended hard drive error-recovery processes common to desktop drives.
Basicamente, diz a um disco que, se não conseguir ler um setor, desistirá após x segundos. Isso é ótimo em um RAID, pois os dados podem ser recuperados de outro disco.
Pelo que li, o ST32000542AS não implementa nenhuma forma de ERC; portanto, qualquer um deles pode bloquear toda a matriz. Na verdade, o WD2002FYPS implementa o TLER da WD para que não causem esse problema.
fonte
Apenas para ter certeza, qual é a sua versão de firmware?
Houve um problema que tive - que se parece muito com o que você está descrevendo - quando os seguintes requisitos são atendidos:
Na época, não havia correção de firmware disponível, então migrei do tamanho de faixa de 256k para 64k, o que também resolveu o problema. Você pode tentar como solução alternativa, embora certamente demore alguns dias para concluir.
Mais tarde, tentei o novo firmware (* 4.10.00.021, acho que tinha a correção) com 256k e funcionou como um encanto. 4.10.00.027 é a versão mais recente.
fonte
Eu costumava ter problemas com um controlador 3ware e unidades da Seagate. Há uma incompatibilidade sutil de firmware. Eu mudei para unidades Samsung, problema resolvido.
fonte