Guia de tecnologias

Guia completo do smartmontools para monitorar discos com SMART

6 min read Ferramentas Atualizado 03 Oct 2025
Monitoramento de discos com smartmontools
Monitoramento de discos com smartmontools

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.

Saída do smartctl com informações do disco e suporte SMART

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.

Mensagem indicando que suporte SMART foi ativado ou já está ativo

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

Saída do smartctl mostrando tipos de testes apoiados e duração estimada

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

Exemplo de saída após iniciar um teste longo, com tempo estimado e identificação do teste

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

Resultado do selftest mostrando histórico de testes e status

  • 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.

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

Arquivo /etc/default/smartmontools com variável para habilitar o daemon

  1. 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 entrada de configuração smartd.conf com DEVICESCAN e opções

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.

Janela principal do GSmartControl listando dispositivos detectados

Painel de informações do dispositivo no GSmartControl mostrando atributos SMART e histórico

Procedimento recomendado (SOP rápido)

  1. Instale smartmontools e GSmartControl se desejar GUI.
  2. Identifique dispositivos: lsblk ou fdisk -l.
  3. Verifique suporte SMART: sudo smartctl -i /dev/sdX.
  4. Habilite SMART: sudo smartctl -s on /dev/sdX.
  5. Execute teste curto: sudo smartctl -l short /dev/sdX.
  6. Agende testes com smartd e defina notificação por email.
  7. Teste o envio de email e ações do smartd (simulate alerts or force an entry in logs).
  8. Monitore logs e histórico: sudo smartctl -a /dev/sdX e sudo smartctl -l selftest /dev/sdX.
  9. 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.

Autor
Edição

Materiais semelhantes

Acelere o Google Chrome — 9 dicas práticas
Navegadores

Acelere o Google Chrome — 9 dicas práticas

Corrigir erro driver incompatível do EA AntiCheat
Suporte Técnico

Corrigir erro driver incompatível do EA AntiCheat

Usar Android como modem sem root
Tutoriais

Usar Android como modem sem root

Instalar Linux em Chromebook: guia prático
Tutoriais

Instalar Linux em Chromebook: guia prático

Monitoramento de discos com smartmontools
Ferramentas

Monitoramento de discos com smartmontools

Proteger servidores Debian/Ubuntu contra Logjam
Segurança

Proteger servidores Debian/Ubuntu contra Logjam