Vida Útil de SSDs NVMe: Como Monitorar o TBW e Prever Falhas Antes que Aconteçam

Monitorar a vida útil de SSDs NVMe é essencial para evitar falhas inesperadas, perda de dados e downtime em servidores Linux. SSDs NVMe são rápidos, mas não são eternos. Diferente de HDs, eles morrem por desgaste de escrita, e o principal indicador disso é o TBW (Total Bytes Written).

A boa notícia?
👉 O NVMe te conta quando está morrendo — se você souber onde olhar.


🔍 O que é TBW (Total Bytes Written)?

TBW indica quantos dados já foram gravados fisicamente no SSD ao longo da vida útil.

Exemplo:

  • SSD NVMe de 1 TB com TBW de 600 TB
  • Significa que o fabricante garante ~600 TB de escrita antes do desgaste crítico

💡 Importante:

  • Leitura NÃO desgasta
  • Escrita = desgaste real das células NAND

🧠 Por que monitorar TBW é melhor que “esperar falhar”?

Porque falha de SSD não avisa com barulho, como HD.
Ele simplesmente:

  • entra em modo read-only
  • começa a gerar I/O error
  • some do sistema

Monitorar TBW permite:

  • Planejar troca
  • Evitar downtime
  • Migrar dados com calma
  • Evitar corrupção silenciosa

🧰 Ferramenta essencial: nvme-cli

Instalação

Debian / Ubuntu

apt install nvme-cli

RHEL / AlmaLinux / Rocky

dnf install nvme-cli

📊 Identificando seus discos NVMe

nvme list

Exemplo de saída:

/dev/nvme0n1   Samsung SSD 980 PRO 1TB

📈 Como ver o TBW real do SSD NVMe

Comando principal

nvme smart-log /dev/nvme0n1

Campos importantes

Procure por:

Data Units Written:        123,456,789
Percentage Used:           12%
Media and Data Integrity Errors: 0
Critical Warning:          0

🔢 Convertendo “Data Units Written” em TBW

Cada Data Unit = 512.000 bytes (512 KB)

Fórmula:

TBW = DataUnits × 512.000 ÷ 1.000.000.000.000

Exemplo prático

Data Units Written: 123.456.789
123456789 × 512000 = 63.2 TB escritos

💡 Dica rápida via terminal

echo "scale=2; 123456789*512000/1000000000000" | bc

📉 Interpretando o campo “Percentage Used”

Esse campo é ouro puro:

Percentage Used: 12%

Significa:

  • 0% → SSD novo
  • 100% → Vida útil estimada esgotada
  • 100% → Funcionando fora da especificação (perigo real)

Regra prática de sysadmin:

Percentage UsedAção recomendada
< 70%OK
70–85%Monitorar semanalmente
85–95%Planejar substituição
>95%Backup urgente + troca

🚨 Alertas críticos que indicam morte próxima

Fique atento se algum desses aparecer:

Critical Warning != 0
Media and Data Integrity Errors > 0
Percentage Used > 90%

Ou no kernel:

dmesg | grep -i nvme

Mensagens como:

  • I/O error
  • controller is down
  • resetting controller

⚠️ Isso já é pré-falha ou falha ativa.


⏱️ Automatizando monitoramento (cron)

Exemplo simples para log diário:

nvme smart-log /dev/nvme0n1 >> /var/log/nvme-health.log

Ou alerta básico:

nvme smart-log /dev/nvme0n1 | grep "Percentage Used"

Você pode integrar isso com:

  • Zabbix
  • Prometheus
  • Netdata
  • Script Bash + Telegram/Slack

🔥 O que MAIS consome TBW sem você perceber?

Vilões clássicos:

  • Swap em SSD
  • Logs excessivos (access.log, error.log)
  • Banco de dados sem tuning (MariaDB / PostgreSQL)
  • Cache mal configurado
  • Containers escrevendo demais (overlay2)
  • WordPress com WP-Cron descontrolado

💡 SSD morre mais por má configuração do que por idade.


🧠 NVMe x SATA SSD: diferença no monitoramento?

ItemNVMeSATA SSD
Ferramentanvme-clismartctl
Métrica TBWData Units WrittenTotal_LBAs_Written
PrecisãoMuito altaVariável
AlertasMais clarosDependem do fabricante

✅ Checklist de prevenção real

  • Monitorar TBW mensalmente
  • Alertar acima de 80%
  • Evitar swap agressivo
  • Ajustar logs
  • Backup sempre testado
  • Planejar troca antes do desastre

🧨 Verdade inconveniente

“SSD não falha do nada.
Ele avisa — só ninguém olha.”

FAQ

O que é TBW em SSD NVMe?

TBW (Total Bytes Written) indica a quantidade total de dados gravados fisicamente no SSD ao longo de sua vida útil. Esse valor é usado para medir o desgaste real das células NAND e prever quando o disco pode falhar.

Como verificar o TBW de um SSD NVMe no Linux?

Você pode verificar o TBW usando o comando nvme smart-log /dev/nvmeXn1. O campo Data Units Written mostra a quantidade total de dados gravados no disco desde o primeiro uso.

O que significa “Percentage Used” em SSD NVMe?

O campo Percentage Used indica quanto da vida útil estimada do SSD já foi consumida. Valores acima de 80% indicam desgaste avançado e recomendam planejamento de substituição.

SSD NVMe pode falhar sem aviso?

Sim. Diferente de HDs, SSDs NVMe não apresentam falhas mecânicas visíveis. Em muitos casos, eles entram em modo somente leitura ou param de responder repentinamente se o desgaste não for monitorado.

Qual o valor seguro de Percentage Used em SSD NVMe?

Até 70% é considerado seguro. Entre 70% e 85% é recomendado monitoramento frequente. Acima de 90%, o ideal é realizar backup imediato e planejar a troca do disco.

O que mais desgasta SSDs NVMe em servidores?

Uso excessivo de swap, logs mal configurados, bancos de dados sem tuning, containers escrevendo constantemente em disco e aplicações mal otimizadas são as principais causas de desgaste acelerado.

NVMe dura menos que SSD SATA?

Não necessariamente. SSDs NVMe geralmente possuem TBW maior e melhor controle de desgaste, mas por serem mais rápidos, também podem ser mais exigidos em ambientes mal configurados.