Posso impedir que um servidor Linux bloqueie / vomite erros do console quando um disco rígido falhar?

1

Eu tenho um servidor Linux (CentOS 5.5) que possui dois discos rígidos IDE idênticos. Eu usei o software RAID (mdadm) para criar espelhos para cada sistema de arquivos, para que o disco rígido falhasse e nenhum dado fosse perdido.

Hoje um dos meus discos rígidos falhou. O objetivo do RAID deve ser permitir que o sistema continue funcionando quando isso acontecer; mas o que aconteceu foi que o console começou a cuspir as mesmas 4 linhas várias vezes:

hdb: task_out_intr: status=0x61 { DriveReady DeviceFault Error }
hdb: task_out_intr: error=0x04 { DriveStatusError }
ide: failed opcode was: unknown
ide0: reset: success

Devido à alta taxa de erros sendo produzida, o console estava inutilizável. Eu era capaz de SSH, mas o primeiro comando que tentei apenas desligou. I SSH'ed novamente e tentou reiniciar, mas que ficou pendurado também. Em última análise, tive que repor fisicamente a máquina.

Eu sei como remover a unidade com falha do MD e substituí-la, etc. Mas ter a máquina bloqueada e ficar inutilizável nesta situação parece derrotar todo o sentido de ter espelhos RAID em primeiro lugar.

É assim que o kernel do Linux sempre se comporta nessa situação? Ou há alguma maneira de configurar o kernel para que, quando um disco rígido falhar, limite os erros que estão sendo produzidos e não impeça que a máquina seja usada e reinicializada corretamente?

    
por bjnord 22.09.2010 / 13:56

2 respostas

1

Eu não me deparei com isso, mas como você está usando o software RAID, é possível que a falha no disco rígido esteja fazendo com que algo interfira na E / S do controlador de disco, para que você está recebendo outras falhas, como o bloqueio de comandos.

Os dados devem estar intactos (a menos que estejam corrompidos e, nesse caso, você terá corrupção duplicada). Se a própria unidade falhar, você deve ser capaz de desligar, remover a unidade defeituosa, ligar novamente e, se tudo der certo, as coisas voltarão a ficar on-line com um conjunto de espelhos quebrado.

Parece-me que a natureza da falha não está bem com o controlador. Pegue o disco ruim. Não é bom mantê-lo e causar mais danos.

    
por 22.09.2010 / 14:05
0

Quando um disco ide é executado em um erro de leitura, na maioria das vezes ele simplesmente se recusará a responder ao comando de leitura.

Sua mensagem de erro (exibindo hdb ) implica que ambos os discos rígidos estão no mesmo cabo. Isso pode ser a causa do seu problema: o disco com falha bloqueou todo o barramento ide - o kernel do linux apenas tem para aguardar um tempo limite e, portanto, não tem chance de acessar o disco de trabalho.

    
por 22.09.2010 / 15:00