Como monitorar a saúde do disco SSD e NVMe com smartctl e smartd, e receber alertas de temperatura e de hardware pelo próprio servidor.
Para que serve
SSDs e NVMe costumam dar sinais antes de falhar: setores realocados, erros de mídia, desgaste chegando ao limite, temperatura alta. Se você recebe esses avisos a tempo, troca o disco com calma e sem perder dados. Este artigo mostra como monitorar a saúde do disco no Linux/Proxmox, configurar o smartd para alertar automaticamente e ler os sensores de hardware (fontes, ventoinhas, temperatura) pelo próprio sistema, com ipmitool local.
Pré-requisitos
- Acesso root ao servidor (Proxmox VE, Debian ou Ubuntu).
- Console remoto pela Central do Cliente → Serviços → clique no servidor → Console (para quando o sistema não responder pela rede).
- Um canal de alerta configurado (e-mail ou Telegram; veja o artigo «Como receber alertas do servidor no Telegram, e-mail ou WhatsApp»).
Passo 1: como monitorar a saúde do disco com smartctl
- Instale as ferramentas (o Proxmox já traz o
smartmontools):apt install -y smartmontools nvme-cli - Liste os discos que o smartctl enxerga:
smartctl --scan lsblk -d -o NAME,MODEL,SIZE,ROTA,TRAN - Leia o relatório de cada disco:
smartctl -a /dev/sda # SSD SATA smartctl -a /dev/nvme0 # NVMe nvme smart-log /dev/nvme0 # NVMe, visão do nvme-cli
O que observar
| Indicador | Onde aparece | Quando se preocupar |
|---|---|---|
| Resultado geral | SMART overall-health ... PASSED | Qualquer coisa diferente de PASSED/OK |
| Desgaste (NVMe) | Percentage Used | Acima de 80%: planeje a troca. 100% = vida útil estimada esgotada |
| Reserva (NVMe) | Available Spare vs Available Spare Threshold | Próximo do limite |
| Erros de mídia (NVMe) | Media and Data Integrity Errors | Qualquer valor maior que zero e crescendo |
| Setores realocados (SATA) | Reallocated_Sector_Ct, Reported_Uncorrect | Valor crescendo entre leituras |
| Desgaste (SSD SATA) | Wear_Leveling_Count, Media_Wearout_Indicator ou similar | Valor normalizado baixo (varia por fabricante) |
| Temperatura | Temperature | NVMe acima de ~70 °C de forma constante |
Se você usa ZFS (comum no Proxmox), confira também zpool status -x. A resposta esperada é all pools are healthy. Erros nas colunas READ/WRITE/CKSUM indicam disco, cabo ou controladora com problema.
Discos atrás da controladora RAID (SSDs de sistema)
Na maioria dos servidores da E-Consulters, os SSDs de sistema ficam em RAID por hardware na controladora HPE Smart Array. O sistema enxerga só o volume lógico, e o smartctl -a /dev/sda não mostra os discos físicos. Consulte cada disco pelo índice na controladora (o manual do smartmontools indica o nó /dev/sgN da controladora, que aparece em lsscsi -g; em muitos servidores o /dev/sda também funciona):
smartctl -a -d cciss,0 /dev/sda
smartctl -a -d cciss,1 /dev/sda
O SMART mostra a saúde de cada SSD, mas não o estado do espelho. Para isso, use a ferramenta da HPE (ssacli ctrl all show config); o artigo «Como verificar o RAID da controladora HPE Smart Array (ssacli) no Linux e no Proxmox» mostra como instalar o ssacli e criar um alerta de RAID degradado. Os NVMe não passam pela controladora (ficam sempre em RAID por software, mdadm ou ZFS) e são lidos direto, sem -d. O mesmo vale para os SSDs dos poucos servidores sem controladora.
Passo 2: configure o smartd para alertar sozinho
- Edite
/etc/smartd.conf. Comente a linhaDEVICESCANexistente (ela faz o smartd ignorar todas as linhas abaixo dela) e use uma linha como esta:
O que cada parte faz:DEVICESCAN -a -o on -S on -n standby,q -s (S/../.././02|L/../../6/03) -W 4,60,70 -m root -M exec /usr/share/smartmontools/smartd-runner-a: monitora saúde, atributos, log de erros e de autotestes.-s (S/../.././02|L/../../6/03): teste curto todo dia às 2h e teste longo aos sábados às 3h.-W 4,60,70: registra variações de 4 °C, informa a partir de 60 °C e alerta a partir de 70 °C.-m root -M exec ...: envia o aviso pelo mecanismo padrão do Debian. No Proxmox VE 8.1+, e-mails para root são encaminhados ao sistema de notificações, chegando aos destinos configurados em Datacenter → Notifications.
-m <nomailer> -M exec /usr/local/bin/alerta-telegram. Com o endereço especial<nomailer>, o smartd chama o script sem argumentos e entrega o texto do problema na variávelSMARTD_MESSAGE, que o script já usa. - Em servidor com SSDs na Smart Array (a maioria), troque o
DEVICESCANpor uma linha para cada disco, incluindo os NVMe, porque oDEVICESCANnão enxerga os SSDs atrás da controladora:
Ajuste o nó (/dev/sda -d cciss,0 -a -s (S/../.././02|L/../../6/03) -W 4,60,70 -m root /dev/sda -d cciss,1 -a -s (S/../.././02|L/../../6/03) -W 4,60,70 -m root /dev/nvme0 -a -s (S/../.././02|L/../../6/03) -W 4,60,70 -m root /dev/nvme1 -a -s (S/../.././02|L/../../6/03) -W 4,60,70 -m root/dev/sdaou/dev/sgN) e os índices conforme o que funcionou nosmartctlacima. O smartd não avisa sobre o RAID degradado em si; para isso, use o alerta comssaclido artigo sobre a HPE Smart Array. - Para validar o envio, adicione temporariamente
-M testao fim da linha e reinicie:
Um alerta de teste deve chegar. Depois remova osystemctl restart smartmontools journalctl -u smartmontools -n 30-M teste reinicie de novo.
Passo 3: temperatura e sensores
- Pelo sistema:
apt install -y lm-sensors && sensorsmostra temperatura da CPU. Jáapt install -y ipmitool && ipmitool sdr type temperaturelê os sensores da placa (ambiente, CPU, memória) pela interface IPMI local (/dev/ipmi0), sem precisar de rede nem senha do iLO.ipmitool sdr type faneipmitool sdr type "Power Supply"mostram ventoinhas e fontes. - Pelo Zabbix ou Netdata: ambos podem coletar esses sensores e gerar gráficos e alertas (veja os artigos próprios).
Passo 4: alertas de hardware pelo próprio sistema
A controladora de gerenciamento (iLO) monitora fontes, ventoinhas, memória e temperatura independentemente do sistema operacional e grava os eventos no log de eventos do sistema (SEL). Pelo console da Central do Cliente você tem apenas a tela remota, não a interface web completa do iLO; por isso, leia esses dados pelo próprio servidor:
- Carregue os módulos IPMI, se o
/dev/ipmi0ainda não existir:modprobe ipmi_si modprobe ipmi_devintf ls -l /dev/ipmi0 - Veja o resumo dos sensores e o log de eventos:
Sensores com estado diferente deipmitool sdr elist ipmitool sel elist | tail -n 20okou eventos recentes de fonte, ventoinha, memória ou temperatura merecem um ticket. - Para receber o aviso automaticamente, agende uma verificação simples no cron que envia alerta quando algum sensor sai do normal (use o script de alerta do artigo sobre Telegram/e-mail):
O Zabbix e o Netdata também coletam esses sensores com alertas prontos, se preferir uma solução completa.cat > /usr/local/bin/checa-sensores <<'SCRIPT' #!/bin/sh RUIM=$(ipmitool sdr elist 2>/dev/null | grep -viE '\| ok +\||\| ns +\|') [ -n "$RUIM" ] && echo "Sensores fora do normal em $(hostname): $RUIM" | mail -s "Alerta de hardware" root exit 0 SCRIPT chmod +x /usr/local/bin/checa-sensores echo '*/15 * * * * root /usr/local/bin/checa-sensores' > /etc/cron.d/checa-sensores
Como saber se funcionou
systemctl status smartmontoolsativo e o alerta de teste (-M test) recebido.smartctl -l selftest /dev/sda(ou/dev/nvme0) mostra os autotestes agendados sendo executados nos dias seguintes.ipmitool sdr elistresponde e o/usr/local/bin/checa-sensoresroda sem erro;echo teste | mail -s teste rootconfirma que o e-mail do root chega ao seu destino.
Problemas comuns
- "Unable to detect device type" ou disco sem dados SMART: o disco está atrás da controladora RAID (caso comum nos SSDs de sistema). Use
-d cciss,Nou consulte pelossacli. - Linhas do smartd.conf ignoradas: há um
DEVICESCANacima delas. - NVMe aquecendo: verifique ventoinhas e temperatura ambiente com
ipmitool sdr type faneipmitool sdr type temperature; picos durante backup ou cargas pesadas de I/O são normais, temperatura alta constante não. - "Could not open device at /dev/ipmi0": carregue os módulos
ipmi_sieipmi_devintf. Para que subam no boot, adicione os dois nomes em/etc/modules. - Encontrou um disco degradado? Abra um ticket informando o serial do disco (aparece no
smartctl -i) e a saída dosmartctl -aou dozpool status. Se o disco estiver na Smart Array, informe também a baía (ex.:1I:1:2) e a saída dessacli ctrl all show config.
Perguntas frequentes
Como saber se o SSD ou NVMe está para falhar?
Rode smartctl -a e observe o resultado geral, o Percentage Used, o Available Spare e os erros de mídia. Valores de erro crescendo entre leituras são o principal sinal de alerta.
Qual a temperatura normal de um NVMe?
Picos durante cargas pesadas de I/O são normais. O preocupante é ficar acima de ~70 °C de forma constante; nesse caso confira ventoinhas e temperatura com ipmitool sdr type fan e ipmitool sdr type temperature, e abra um ticket se algo estiver fora do normal.
Por que o smartctl não mostra os discos do RAID?
Porque os SSDs de sistema estão atrás da controladora HPE Smart Array, que apresenta só o volume lógico. Use -d cciss,N para ler cada disco e o ssacli para ver o estado do RAID.
Consigo ver a temperatura e os alertas na interface web do iLO?
Não. O console da Central do Cliente dá acesso só à tela remota, sem as páginas de informação e log do iLO. Use ipmitool local, sensors e smartctl no próprio servidor, ou abra um ticket.
O que fazer quando um disco começa a falhar?
Confirme que o backup está em dia e abra um ticket com o serial do disco e a saída do smartctl -a (ou do zpool status/ssacli). Para NVMe em RAID por software, veja também o artigo «RAID por software com mdadm: como verificar o estado, receber alertas e trocar um disco com defeito».
Leitura complementar
Precisa de ajuda? Abra um ticket ou fale com o suporte pelo WhatsApp. Problemas de hardware (disco, fonte, ventoinha) são tratados pelo suporte da E-Consulters: envie as evidências e combine a janela de troca.
