Estou começando a obter uma coleção de computadores em casa e, para apoiá-los, tenho minha caixa Linux "servidor" executando uma matriz RAID.
É atualmente mdadm
RAID-1
, indo RAID-5
uma vez eu tenho mais unidades (e então RAID-6
eu estou esperando). No entanto, ouvi várias histórias sobre dados corrompidos em uma unidade e você nunca percebeu que a outra unidade estava sendo usada, até o momento em que a primeira unidade falha e você descobre que sua segunda unidade também está danificada (e 3ª, 4ª , 5ª unidade).
Obviamente, os backups são importantes e eu também cuido disso, mas sei que já vi scripts que pretendem ajudar contra esse problema e permitem que você verifique seu RAID enquanto ele estiver em execução. No entanto, procurando esses scripts novamente agora, acho difícil encontrar algo que pareça com o que corri antes e sinto que estou desatualizado e não entendo o que mudou.
Como você verificaria um RAID em execução para garantir que todos os discos ainda estejam sendo executados normalmente?
Monitoro o SMART em todas as unidades e também me mdadm
enviei um e-mail em caso de falha, mas eu gostaria de saber que minhas unidades ocasionalmente também se "verificam".
Respostas:
O ponto do RAID com redundância é que ele continuará o máximo possível, mas obviamente detectará erros que o colocarão em um modo degradado, como um disco com falha. Você pode mostrar o status atual de uma matriz com
mdadm -D
:Além disso, o status de retorno
mdadm -D
é diferente de zero se houver algum problema, como um componente com falha (1 indica um erro que o modo RAID compensa e 2 indica uma falha completa).Você também pode obter um resumo rápido de todo o status do dispositivo RAID olhando
/proc/mdstat
. Você também pode obter informações sobre um dispositivo RAID/sys/class/block/md*/md/*
; vejaDocumentation/md.txt
na documentação do kernel. Algumas/sys
entradas também são graváveis; por exemplo, você pode ativar uma verificação completamd0
comecho check >/sys/class/block/md0/md/sync_action
.Além dessas verificações pontuais, o mdadm pode notificá-lo assim que algo ruim acontecer. Certifique-se de que você tem
MAILADDR root
em/etc/mdadm.conf
(algumas distribuições (por exemplo, Debian) configurá-lo automaticamente). Você receberá uma notificação por email assim que ocorrer um erro (uma matriz degradada) .Certifique-se de receber e-mails enviados para raiz na máquina local (algumas distribuições modernas omitem isso, porque consideram que todos os e-mails passam por provedores externos - mas o recebimento de e-mail local é necessário para qualquer administrador de sistema sério). Testar esta enviando raiz um mail:
echo hello | mail -s test root@localhost
. Geralmente, uma configuração de email adequada requer duas coisas:Redirecione as mensagens que vão para as contas do sistema (pelo menos
root
) para um endereço que você lê regularmente. Pode ser sua conta na máquina local ou um endereço de email externo. Na maioria dos MTAs, o endereço pode ser configurado/etc/aliases
; você deve ter uma linha comopara entrega local ou
para entrega remota. Se você escolher entrega remota, verifique se o seu MTA está configurado para isso. Dependendo do seu MTA, pode ser necessário executar o
newaliases
comando após a edição/etc/aliases
.fonte
Você pode forçar uma verificação de toda a matriz enquanto estiver online. Por exemplo, para verificar a matriz
/dev/md0
, execute como root:Também tenho um trabalho cron que executa o seguinte comando uma vez por mês:
Não é uma verificação completa da própria unidade, mas força o sistema a verificar periodicamente que (quase) todos os arquivos podem ser lidos com sucesso no disco. Sim, alguns arquivos serão lidos no cache da memória em vez do disco. Mas acho que se o arquivo estiver no cache de memória, ele foi lido com sucesso recentemente, ou está prestes a ser gravado no disco, e qualquer uma dessas operações também descobrirá erros de unidade. De qualquer forma, a execução desse trabalho testa o critério mais importante de uma matriz RAID ("Posso ler meus dados com êxito?") E nos três anos em que administrei minha matriz, na única vez em que tive um disco com defeito, foi este comando que o descobriu.
Um pequeno aviso é que, se o seu sistema de arquivos for grande, esse comando levará muito tempo; meu sistema leva cerca de 6 horas / TiB. Eu o executo usando
ionice
para que o restante do sistema não pare durante a verificação da unidade:fonte
ionice
só funcionará se você usar o planejador de E / S CFQ (padrão).o pacote 'mdadm' do Debian e Ubuntu contém o arquivo
que por sua vez, no primeiro domingo de cada mês, executará o comando
isso verificará a consistência de todas as suas matrizes (a menos que você defina AUTOCHECK como false em / etc / default / mdadm ). Um relatório será enviado ao usuário 'raiz' (verifique se você recebeu esses e-mails).
fonte
Eu uso essa função simples para verificar
/proc/mdstat
:fonte