Eu tenho uma raid 5 mdadm raid array configurada com 6 drives e um hot spare em um servidor Ubuntu 11. Há algumas compartilhamentos de samba no disco e até hoje eles estavam funcionando bem.
Há algumas horas, os usuários começaram a perceber que seus compartilhamentos estavam rastreando ou não estavam se conectando, levando muitos minutos para listar os arquivos presentes. Tentar copiar arquivos congelaria a conexão na maior parte do tempo e, eventualmente, os desconectaria. Eu era capaz de navegar pelos compartilhamentos no diretório montado através do ssh, mas o samba definitivamente estava tendo problemas. Tentei reiniciar o samba sem efeito.
Eu rodei o mdadm --detail / dev / md2 e ... nada. Ele não emitiu nada nem retornou meu prompt, e eu tive que controlá-lo para obter meu prompt de volta. / proc / mdstat também estava vazio. Mas, por algum motivo, eu ainda podia navegar pelo array de ataque montado e tudo parecia bem. Olhando para trás eu deveria ter tentado adicionar e remover arquivos através do terminal ...
Verificando o monitor de processo mostrava um monte de processos smbd para cada usuário pendurado no estado D, e eu não conseguia pará-los com um comando kill. Eu não tinha visto algo assim, e com o mdadm não dando nada de útil, tentei reiniciar o servidor. Isso também ficou pendurado. Eu cruzei meus dedos e disse ao cara do datacenter para acertar o hard reset.
No final, o ataque está sendo reconstruído e todas as unidades estão funcionando. Mas ainda não sei ao certo o que faria o mdadm congelar assim, desconectar todas as conexões do samba e não responder.
Sou muito novo em tudo isso, então esperava obter alguma ajuda para depurar o problema daqueles que já viram problemas semelhantes antes. Onde você olharia primeiro?
EDIT :: Seguindo o conselho da ACase, aqui estão mais algumas informações de diagnóstico:
O sistema de arquivos em / dev / md2 (a unidade RAID em questão) é ext3
Aqui está a minha informação do kernel
2.6.35-22-server #33-Ubuntu SMP Sun Sep 19 20:48:58 UTC 2010 x86_64 GNU/Linux
Examinar / var / log / messages revela que antes do reinício eu estava tendo um monte desses erros (talvez 15 a cada 3 segundos) durante o período em que as unidades estavam inacessíveis através do samba:
kernel: [17343195.826943] mptbase: ioc0: LogInfo(0x31123000): Originator={PL}, Code={Abort}, SubCode(0x3000)
que, por meio de algum googling, aparece como se estivesse relacionado a resultados SMART executados com unidades SATA por meio de um controlador SAS . O servidor é um dell t610 com SAS 6 / iR Integrated, portanto, isso pode muito bem ser o que está causando meu problema - o MDADM tenta executar o Smart nas unidades e, em seguida, congela o IO com todos os erros. Isso soa certo? Quais testes você executaria para confirmar? Eu prefiro não levar toda a matriz para baixo novamente, se possível, uma vez que está sendo usado (prematuramente, obviamente). Essa mensagem de log pára de aparecer após a reinicialização e, em seguida, o samba funciona novamente, então tenho certeza de que eles estão relacionados. Nenhuma mensagem aparece entre essas - existe uma maneira de ativar o registro de kernel mais detalhado em / var / log / messages que pode provar que eles estão relacionados ao SMART?
Obrigado novamente.