Eu tive uma saga contínua com um servidor de dados em casa que eu configurei e troquei quase todas as outras partes além das próprias unidades.
Começando usando o software RAID no CentOS, eu tive uma série de 5 drives operando, literalmente sem falhas, por dois anos em RAID 0. Totalmente a maneira mais perigosa de executar um RAID. As outras cinco unidades, idênticas e do mesmo lote que as 5 primeiras, sempre estiveram em alguma forma de configuração de RAID 5, primeiramente usando software RAID e depois no ZFS após uma reconstrução completa. Esse conjunto sempre, periodicamente, após meses de serviço à prova de balas, acaba de desistir e fica offline de maneiras mais ou menos espetaculares.
As unidades viveram em gabinetes externos conectados inicialmente por eSATA multiplexado e agora por USB3 multiplexado.
No começo eu pensei que o problema fosse com o gabinete / multiplexador barato, então eu troquei as 5 unidades das matrizes RAID 0 e RAID 5 entre os dois gabinetes que eu tinha. O RAID 0 continuou impecável, o RAID 5 continuou a ter esses apagões periódicos.
Eu tive a primeira dica de que o problema estava com uma unidade no conjunto, mas nenhuma das cinco unidades teve mais problemas do que qualquer outra. Então eu me perguntei se talvez o RAID 5 tivesse algum requisito estranho de energia que estivesse tropeçando no gabinete e investido em outro gabinete, dessa vez uma caixa conectada por USB 3 - o USB3 é muito mais positivo que o eSATA.
Então, isso tem funcionado solidamente há seis meses, até hoje. No terminal recebi 5 mensagens sequenciais:
WARNING: Your hard drive is failing
Device: /dev/sda [SAT], unable to open device
WARNING: Your hard drive is failing
Device: /dev/sdb [SAT], unable to open device
WARNING: Your hard drive is failing
Device: /dev/sdc [SAT], unable to open device
WARNING: Your hard drive is failing
Device: /dev/sdd [SAT], unable to open device
WARNING: Your hard drive is failing
Device: /dev/sde [SAT], unable to open device
Eu eliminei a caixa, a conexão do multiplexador, as placas de extensão PCIe eSATA, o problema deve certamente estar com as unidades, mas, apesar de jogar tudo fora, não consigo imaginar como para depurar isso. Quando aconteceu pela primeira vez, zpool status
mostrou erros quase iguais para todos os drives, e é curioso que todos eles tenham saído em ordem alfabética.
Eu zpool limpo, resilvered, tudo ficou bom por um tempo, então parou de responder. Agora spool status
literalmente trava o terminal e é imune a Ctrl + C.
Novas informações:
/dev/sda-e
renomeou-se espontaneamente para /dev/sda1-e1
, pois não houve leitura ou gravação. Liguei a caixa de drive. Os dispositivos desapareceram e reapareceram como esperado, mas ainda com os sufixos 1
em seus nomes.
Atualização: (06/03/2017)
Usando a documentação do Oracle , tentei definir failmode
como continue
:
zpool set failmode=continue tank
Neste modo, continuo a receber periodicamente
WARNING: Your hard drive is failing
Device: /dev/sda [SAT], unable to open device
e as unidades na matriz acumulam erros de gravação:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 16 59
raidz1-0 ONLINE 0 32 118
ata-WDC_WDC_WD10-68... ONLINE 0 14 0
ata-WDC_WDC_WD10-68... ONLINE 0 12 0
sda ONLINE 0 12 0
ata-WDC_WDC_WD10-68... ONLINE 0 12 0
ata-WDC_WDC_WD10-68... ONLINE 0 14 0
errors: 67 data errors, use '-v' for a list
entretanto, neste ponto, pelo menos, o zpool permanece ativo e não suspende indefinidamente um terminal ou suspende outros pools.
É interessante que somente as gravações estão acumulando erros em todas as unidades e em números muito iguais.