Guia de tecnologias

Como configurar RAID por software para enviar um e‑mail quando algo estiver errado

6 min read Administração Atualizado 16 Oct 2025
RAID por software: enviar e‑mail em falhas
RAID por software: enviar e‑mail em falhas

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

  1. Edite o arquivo de configuração do mdadm. No Debian o caminho é /etc/mdadm/mdadm.conf:
vi /etc/mdadm/mdadm.conf
  1. 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] |

  1. 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)

  1. Recebeu e‑mail com DegradedArray/FailSpare.
  2. Conecte via SSH ao servidor afetado.
  3. Verifique /proc/mdstat e mdadm –detail /dev/mdX.
  4. Identifique o dispositivo problemático (ex: /dev/sda2).
  5. Se possível, marque o disco como failed e substitua fisicamente, depois –remove e –add no mdadm.
  6. Acompanhe rebuild em /proc/mdstat até retornar [UU].
  7. 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.

Autor
Edição

Materiais semelhantes

Instalar e usar Podman no Debian 11
Containers

Instalar e usar Podman no Debian 11

Apt‑pinning no Debian: guia prático
Administração de sistemas

Apt‑pinning no Debian: guia prático

Injete FSR 4 com OptiScaler em qualquer jogo
Tecnologia

Injete FSR 4 com OptiScaler em qualquer jogo

DansGuardian e Squid com NTLM no Debian Etch
Infraestrutura

DansGuardian e Squid com NTLM no Debian Etch

Corrigir erro de instalação no Android
Android

Corrigir erro de instalação no Android

KNetAttach: Pastas de Rede remota no KDE
KDE

KNetAttach: Pastas de Rede remota no KDE