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 restart
Em 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/sda2
Depois 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 real
Observaçã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 RAID por software no Linux

Corrigir erro 'nenhum cliente de e‑mail padrão' no Outlook

AutoText no LibreOffice Writer — modelos e atalhos

Etiquetas de envio: imprimir com AirPrint

Mapas offline no Windows 10 — Guia rápido
