Como configurar RAID por software para enviar um e‑mail quando algo estiver errado
Version 1.0
Author: Falko Timme
O que este guia faz
Este guia curto explica como configurar o mdadm (RAID por software) para enviar um e‑mail quando algo estiver errado com o RAID, por exemplo quando um disco falha. Testei isto no Debian Etch; deve funcionar em outras distribuições com pequenas diferenças de caminhos e nomes de serviço.
Importante: não há garantia de que isso funcione em todos os ambientes. Ajuste conforme sua distribuição e política de e‑mail.
Pré‑requisitos
- Pacote mdadm instalado.
- Um agente de transporte de e‑mail (MTA) local instalado e configurado (por exemplo postfix, exim, sendmail). O mdadm usa o MTA local para enviar mensagens.
- Acesso root para editar /etc/mdadm/mdadm.conf e reiniciar o serviço.
Nota: sem um MTA configurado, as notificações por e‑mail não serão entregues.
Passo a passo
- Edite o arquivo de configuração do mdadm. No Debian o caminho é /etc/mdadm/mdadm.conf:
vi /etc/mdadm/mdadm.conf- Adicione uma linha MAILADDR com seu e‑mail. Exemplo — mantenha as linhas DEVICES / ARRAY conforme seu setup:
| DEVICES /dev/sda* /dev/sdb* ARRAY /dev/md0 level=raid1 num-devices=2 UUID=c8a78e3a:e335c0f0:997be224:f02c088a ARRAY /dev/md1 level=raid1 num-devices=2 UUID=fd9f3b6b:4fc9cf4f:09db592d:480d34fe MAILADDR [email protected] |
- Reinicie o mdadm (comandos podem variar conforme distro):
/etc/init.d/mdadm restartEm sistemas com systemd, reinicie o serviço equivalente (por exemplo systemctl restart mdadm ou systemctl restart mdmonitor) conforme disponível.
Pronto. Quando o mdadm detectar um evento (DegradedArray, FailSpare, etc.), ele enviará uma mensagem para o endereço indicado em MAILADDR.
Exemplos de mensagens que você receberá (traduzidos)
Exemplo 1 — DegradedArray:
From: mdadm monitoring < [email protected] >
To: [email protected]
Subject: DegradedArray event on /dev/md1:server1.example.com
This is an automatically generated mail message from mdadm
running on server1.example.com
A DegradedArray event had been detected on md device /dev/md1.
Faithfully yours, etc.
P.S. The /proc/mdstat file currently contains the following:
Personalities : [raid0] [raid1] md1 : active raid1 sda2[2] sdb2[1] 487853760 blocks [2/1] [_U] [>………………..] recovery = 4.3% (21448384/487853760) finish=114.3min speed=67983K/sec
md0 : active raid1 sda1[0] sdb1[1] 530048 blocks [2/2] [UU]
unused devices:
Exemplo 2 — FailSpare:
From: mdadm monitoring < [email protected] >
To: [email protected]
Subject: FailSpare event on /dev/md1:server1.example.com
This is an automatically generated mail message from mdadm
running on server1.example.com
A FailSpare event had been detected on md device /dev/md1.
It could be related to component device /dev/sda2.
Faithfully yours, etc.
P.S. The /proc/mdstat file currently contains the following:
Personalities : [raid0] [raid1] md1 : active raid1 sda22 sdb2[1] 487853760 blocks [2/1] [_U] [===================>.] recovery = 99.9% (487851840/487853760) finish=0.0min speed=61037K/sec
md0 : active raid1 sda1[0] sdb1[1] 530048 blocks [2/2] [UU]
unused devices:
Testes e verificação (como simular uma falha)
Para testar o envio de e‑mail sem danificar fisicamente discos, você pode marcar um membro como “failed” (simula falha lógica):
mdadm --manage /dev/md1 --fail /dev/sda2Depois verifique /proc/mdstat para ver o estado degradado e aguarde o e‑mail. Para remover e voltar ao estado normal (após corrigir ou substituir), use:
mdadm --manage /dev/md1 --remove /dev/sda2
mdadm --manage /dev/md1 --add /dev/sda2 # depois de substituir o disco realObservação: esses comandos alteram o estado do array. Execute apenas em ambientes de teste ou quando souber o que está fazendo.
Correção quando não receber e‑mail
- Verifique se o MTA local está instalado e entregando mensagens (sendmail, postfix, exim).
- Verifique /var/log/mail.log ou /var/log/maillog para erros do MTA.
- Confirme que o firewall não bloqueia a saída SMTP se o MTA precisa entregar remotamente.
- Confirme que o MAILADDR está correto e não há regras de spam no destino.
Important: o mdadm delega o envio ao MTA do sistema. Se o MTA não estiver funcional, o mdadm não conseguirá enviar notificações.
Alternativas e abordagens complementares
- Use smartd (smartmontools) para alertas de S.M.A.R.T. em discos — detecta degradação antes de falhas.
- Integre exportadores (Prometheus node_exporter + mdadm exporter) e alerte via Alertmanager/Slack/Teams para centralizar notificações.
- Forward de logs (rsyslog/Graylog/ELK) para correlação e alertas visuais no NOC.
- Complementar com checagens de integridade regulares (scrub/schedule) e monitoramento de latência I/O.
Mental model (heurística rápida)
- mdadm = detector de eventos de RAID no kernel;
- MAILADDR = destino das notificações do mdadm;
- MTA local = canal efetivo de envio de e‑mail;
- /proc/mdstat = painel de status em tempo real do array.
Playbook mínimo (resposta a e‑mail DegradedArray/FailSpare)
- Recebeu e‑mail com DegradedArray/FailSpare.
- Conecte via SSH ao servidor afetado.
- Verifique /proc/mdstat e mdadm –detail /dev/mdX.
- Identifique o dispositivo problemático (ex: /dev/sda2).
- Se possível, marque o disco como failed e substitua fisicamente, depois –remove e –add no mdadm.
- Acompanhe rebuild em /proc/mdstat até retornar [UU].
- Registre o incidente, causas e ações tomadas.
Checklist por função
- Administrador de Storage: confirmar rebuild e integridade, realizar substituição física.
- Administrador de Sistema: validar MTA e logs, notificar stakeholders.
- NOC: triagem inicial do alerta; escalar conforme playbook.
Critérios de aceitação (como testar que está OK)
- Ao simular falha com mdadm –manage –fail, o endereço em MAILADDR recebeu a notificação dentro de 15 minutos.
- /proc/mdstat mostra o estado degradado imediatamente após a simulação.
- Após correção (remove/add), o array retorna ao estado redundante [UU] sem erros no syslog.
Perguntas frequentes
Preciso de um MTA para receber notificações do mdadm?
Sim. O mdadm chama o MTA local para enviar e‑mails. Se você não tem um MTA, instale e configure postfix, exim ou outro agente apropriado.
Como testar sem falhar um disco fisicamente?
Use mdadm –manage /dev/mdX –fail /dev/sdY em um ambiente controlado para simular falha e verificar o envio do e‑mail.
O mdadm envia alertas para múltiplos endereços?
Você pode configurar um alias local ou um endereço de encaminhamento para distribuir notificações a uma lista, mas MAILADDR aceita apenas um endereço direto no arquivo de configuração; use uma lista de distribuição externa ou um alias do sistema para vários destinatários.
Resumo
- Adicione MAILADDR no /etc/mdadm/mdadm.conf e reinicie o mdadm.
- Configure um MTA local para envio de e‑mail.
- Teste em ambiente controlado com mdadm –manage –fail.
Notas importantes: adapte comandos de reinício e nomes de serviço à sua distribuição. Sempre realize testes em um ambiente controlado antes de aplicar em produção.
Materiais semelhantes
Instalar e usar Podman no Debian 11
Apt‑pinning no Debian: guia prático
Injete FSR 4 com OptiScaler em qualquer jogo
DansGuardian e Squid com NTLM no Debian Etch
Corrigir erro de instalação no Android