Guia completo do smartmontools para monitorar discos com SMART

Sobre o smartmontools
SMART (Self-Monitoring, Analysis and Reporting Technology) é um conjunto de telemetria que muitos discos ATA, SATA e SCSI expõem para relatar saúde e erros. smartmontools é um pacote que inclui duas ferramentas principais:
- smartctl: utilitário de linha de comando para consultar e controlar dispositivos SMART. Definição rápida: comando para leitura, testes e diagnóstico do disco.
- smartd: daemon que agenda verificações, monitora mudanças e pode notificar administradores.
Essas ferramentas muitas vezes fornecem aviso antecipado de degradação. Não confiamos apenas nelas: mantenha backups e verificações regulares.
O que você precisa antes de começar
- Um disco com suporte SMART (discos modernos ATA/SATA/SCSI).
- Acesso root ou sudo.
- Conexão local ao servidor ou terminal com permissão para executar comandos.
Importante: SMART ajuda a detectar problemas, mas não prevê 100% das falhas. Use sempre backups e testes periódicos.
Instalação
Instale o pacote (Debian/Ubuntu):
sudo apt-get install smartmontools
Observe que em distribuições mais novas você também pode usar apt em vez de apt-get. Depois de instalado, verifique se o disco suporta SMART e identifique o nome do dispositivo:
sudo smartctl -i /dev/sda
Substitua /dev/sda pelo dispositivo correto do seu sistema (por exemplo /dev/sdb). A saída mostra informações do disco e se SMART está disponível.
Ativar suporte SMART
Para ativar SMART num disco (se não estiver ativo):
sudo smartctl -s on /dev/sda
Isso habilita suporte SMART. Se já estiver habilitado, o comando não altera nada.
Verificar informações completas e estado
Para ver todas as informações SMART (IDE) use:
sudo smartctl -a /dev/sda
Para drives SATA explicitamente:
sudo smartctl -a -d ata /dev/sda
Para checar apenas o estado de saúde resumido:
sudo smartctl -H /dev/sda
Se o status indicar falhas ou erros, faça um backup imediato do disco.
Tipos de testes SMART e como executá-los
smartctl permite iniciar três testes self-test padrão: short, long e conveyance. Primeiro, liste as capacidades e os testes suportados:
sudo smartctl -c /dev/sda
Os testes comuns são:
- short: verificação rápida de superfície e componentes.
- long (ou extended): varredura completa e mais demorada.
- conveyance: teste rápido para detectar danos por transporte.
Inicie um teste longo (exemplo):
sudo smartctl -l long /dev/sda
Teste curto:
sudo smartctl -l short /dev/sda
Teste conveyance:
sudo smartctl -l conveyance /dev/sda
Observações sobre execução:
- Os testes rodam em segundo plano no disco. smartctl apenas envia o comando e retorna.
- Consulte os resultados com:
sudo smartctl -l selftest /dev/sda
- Use as páginas de manual para detalhes sobre cada campo:
man 8 smartctl
man 8 smartd
Executando smartmontools como daemon (smartd)
Para automatizar verificações e notificações, rode smartd como daemon.
- Edite a configuração padrão para iniciar o serviço automaticamente:
sudo nano /etc/default/smartmontools
Descomente a linha que habilita o serviço para iniciar junto com o sistema.
- Configure o comportamento do daemon em /etc/smartd.conf:
sudo nano /etc/smartd.conf
Você pode usar DEVICESCAN para autodetectar discos ou especificar dispositivos individualmente, por exemplo /dev/sda.
Exemplo de linha configurada:
/dev/sda -m root -M exec /usr/share/smartmontools/smartd-runner
Significados principais:
- -m root: envia email para root em caso de erro.
- -M exec /usr/share/smartmontools/smartd-runner: executa um script de resposta (smartd-runner).
- -a: ativa um conjunto comum de checagens (habilita -H, logs etc.).
Exemplo completo com agendamento de testes:
DEVICESCAN -a -H -l error -l selftest -f -s(S/../.././02|L/../../6/03) -m root -M exec /usr/share/smartmontools/smartd-runner
Explicação do agendamento:
- -s(S/../.././02|L/../../6/03) agenda testes self-test:
- S/../.././02: teste curto diário às 02:00.
- L/../../6/03: teste longo todo sábado às 03:00.
Consulte o manual de configuração para sintaxe completa:
man 5 smartd.conf
Interface gráfica: GSmartControl
Se preferir GUI, instale o GSmartControl:
sudo apt-get install gsmartcontrol
Abra a aplicação, clique com o botão direito no disco para executar testes, ver atributos e histórico.
Procedimento recomendado (SOP rápido)
- Instale smartmontools e GSmartControl se desejar GUI.
- Identifique dispositivos: lsblk ou fdisk -l.
- Verifique suporte SMART: sudo smartctl -i /dev/sdX.
- Habilite SMART: sudo smartctl -s on /dev/sdX.
- Execute teste curto: sudo smartctl -l short /dev/sdX.
- Agende testes com smartd e defina notificação por email.
- Teste o envio de email e ações do smartd (simulate alerts or force an entry in logs).
- Monitore logs e histórico: sudo smartctl -a /dev/sdX e sudo smartctl -l selftest /dev/sdX.
- Se alertas ocorrerem, faça backup imediato e substitua o disco conforme política.
Critérios de verificação e casos de teste
- Caso de teste 1: smartd inicia no boot e registra que está rodando.
- Critério: serviço ativo e sem erros no journal/syslog.
- Caso de teste 2: agendar teste curto diário.
- Critério: selftest aparece no histórico com timestamp esperado.
- Caso de teste 3: falha simulada/registro de erro.
- Critério: mensagem de email enviada ao administrador (ou script -M exec acionado).
- Caso de teste 4: compatibilidade RAID/VM.
- Critério: smartctl identifica dispositivos físicos quando possível ou retornar instrução de uso com driver RAID.
Quando o smartmontools pode falhar (limitações e contraexemplos)
- Discos em controladoras RAID hardware podem ocultar atributos SMART dos discos físicos. smartctl pode não ver o dispositivo real sem parâmetros específicos.
- Alguns SSDs ou NVMe expõem SMART de forma diferente; para NVMe, ferramentas como nvme-cli são frequentemente usadas para telemetria mais completa.
- SMART não captura todos os modos de falha (por exemplo, falha súbita de eletrônica sem histórico gradual).
- Discos com firmware proprietário podem não seguir todos os padrões SMART.
Alternative approaches:
- Ferramentas do fabricante (SeaTools, WD Data Lifeguard) para diagnósticos específicos.
- Monitoramento por camada de sistema de arquivos (scrubs ZFS, checksums) e políticas de redundância (RAID, replicação).
- Backups automáticos e testes de restauração regulares.
Heurísticas e mental models
- Mental model: pense em SMART como telemetria do disco — útil para tendências (setores realocados, contadores de erros), não um selo de garantia.
- Regra prática: se aumentar setores realocados, planeje substituição; se aparecerem erros nos logs, faça backup imediatamente.
Checklist por função
- Administrador de sistema:
- Habilitar smartd, configurar notificações e testar envio de email.
- Agendar testes longos periódicos fora de horários de pico.
- Engenheiro de suporte:
- Saber coletar smartctl -a e enviar logs ao fabricante.
- Verificar compatibilidade de controladoras RAID.
- Usuário final / operador:
- Executar backups e validar restauração.
Script/atalho útil (exemplo)
Exemplo rápido para checar estado e imprimir resumo:
#!/bin/bash
DEVICE=/dev/sda
sudo smartctl -H $DEVICE
sudo smartctl -A $DEVICE | egrep "Reallocated_Sector_Ct|Current_Pending_Sector|Offline_Uncorrectable"
Segurança e privacidade
- smartd pode enviar emails contendo identificadores do disco e timestamps. Garanta que o transporte de email seja seguro se expuser informações sensíveis.
- Respeite políticas de logs em ambientes regulados.
Resumo
smartmontools é uma ferramenta essencial para detectar degradação de discos por meio de atributos SMART e testes self-test. Combine suas leituras com políticas de backup, redundância e monitoramento adicional. Use smartd para automação e GSmartControl para visualização quando preferir GUI.
Links
- smartmontools.org
Sugestão: execute os comandos com cuidado em ambientes de produção e certifique-se de ter backups antes de testes extensos.
Materiais semelhantes

Acelere o Google Chrome — 9 dicas práticas

Corrigir erro driver incompatível do EA AntiCheat

Usar Android como modem sem root

Instalar Linux em Chromebook: guia prático
