Manter a saúde dos discos de armazenamento, sejam SSDs ou HDDs, é fundamental para garantir a integridade dos dados e o desempenho dos sistemas. A falha de um disco pode resultar em perda significativa de dados e na interrupção de operações críticas. Para evitar isso, ferramentas como o smartctl
, parte do pacote smartmontools
, permitem monitorar a saúde dos discos, identificando problemas antes que eles se tornem críticos.
O que é o Smartctl?
O smartctl
é uma ferramenta de linha de comando que interage com a tecnologia S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology), presente na maioria dos discos modernos. Essa tecnologia permite que o disco monitore sua própria saúde, reportando parâmetros como taxa de erros de leitura, temperatura operacional, contagem de setores realocados, entre outros. Com o smartctl
, você pode acessar essas informações e realizar diagnósticos no disco.
Instalando o Smartctl
Antes de começar, é necessário instalar o pacote smartmontools
. Em distribuições baseadas em Debian, como o Ubuntu, isso pode ser feito com os seguintes comandos:
sudo apt-get update
sudo apt-get install smartmontools
Em sistemas baseados em Red Hat, como o CentOS:
sudo yum install smartmontools
Verificando o Status S.M.A.R.T. do Disco
O primeiro passo para verificar a saúde de um disco é checar o status S.M.A.R.T. Para isso, use o seguinte comando:
sudo smartctl -H /dev/sdX
Substitua /dev/sdX
pelo identificador do disco, como /dev/sda
. O comando retornará um resultado parecido com este:
smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.4.0-42-generic] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
Um resultado “PASSED” indica que o disco está em boas condições gerais. No entanto, esse é um teste básico, e uma análise mais detalhada pode ser necessária.
Exibindo Informações Detalhadas do Disco
Para obter uma visão mais detalhada dos atributos S.M.A.R.T., use o comando:
sudo smartctl -A /dev/sdX
A saída será algo como:
smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.4.0-42-generic] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 100 100 006 Pre-fail Always - 0
5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 0
9 Power_On_Hours 0x0032 085 085 000 Old_age Always - 12345
12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 567
194 Temperature_Celsius 0x0022 063 055 000 Old_age Always - 37 (Min/Max 20/55)
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
Alguns parâmetros importantes:
- Reallocated_Sector_Ct: Número de setores realocados. Valores altos podem indicar falhas no disco.
- Power_On_Hours: Total de horas que o disco esteve em funcionamento.
- Temperature_Celsius: Temperatura atual do disco.
- Wear_Leveling_Count (SSD): Indica o desgaste das células de memória em SSDs.
Realizando Testes S.M.A.R.T.
O smartctl
permite a execução de testes automáticos para analisar a integridade do disco. Aqui estão os tipos principais:
Teste Curto
O teste curto cobre as áreas principais do disco e é recomendado para verificações regulares:
sudo smartctl -t short /dev/sdX
Para visualizar os resultados após a conclusão do teste, use:
sudo smartctl -l selftest /dev/sdX
A saída será parecida com:
smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.4.0-42-generic] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 12345 -
Teste Longo
O teste longo é mais abrangente e pode demorar várias horas:
sudo smartctl -t long /dev/sdX
Os resultados podem ser visualizados da mesma forma:
sudo smartctl -l selftest /dev/sdX
Teste de Confiabilidade (SSD)
Esse teste é específico para SSDs e verifica a confiabilidade do disco:
sudo smartctl -t conveyance /dev/sdX
Monitoramento Contínuo
Para monitorar continuamente os discos, configure o daemon smartd
. Edite o arquivo /etc/smartd.conf
para incluir os discos que deseja monitorar. Ative e inicie o serviço com:
sudo systemctl enable smartd
sudo systemctl start smartd
Importância do Monitoramento Contínuo
O monitoramento contínuo dos discos é crucial para a manutenção preventiva, permitindo que problemas sejam identificados e tratados antes de se tornarem críticos. Com o daemon smartd
configurado e em execução, você pode garantir que o sistema estará sempre atento a mudanças na saúde dos discos. Quando algum parâmetro S.M.A.R.T. atingir valores preocupantes, o smartd
pode ser configurado para enviar alertas via e-mail ou registrar logs detalhados, facilitando a resposta rápida a possíveis falhas.
Integração com Scripts de Manutenção
Administradores de sistemas podem integrar o uso do smartctl
com scripts automatizados que realizam verificações periódicas. Por exemplo, é possível agendar testes S.M.A.R.T. mensais ou semanais usando o cron:
0 3 * * 1 /usr/sbin/smartctl -t long /dev/sda > /var/log/smartctl/sda-long-test.log
Este comando agendado executa um teste longo em /dev/sda
todas as segundas-feiras às 3 da manhã e armazena o resultado em um log específico. Essa prática é particularmente útil em ambientes com muitos servidores, onde a automação pode evitar um esforço manual excessivo.
Com o tempo, os logs e resultados dos testes S.M.A.R.T. devem ser analisados para identificar tendências que possam indicar a degradação dos discos. Um aumento gradual no número de setores realocados, por exemplo, pode sinalizar que um HDD está próximo do fim de sua vida útil. Para SSDs, observar o desgaste das células de memória e a redução da capacidade disponível pode ajudar a planejar a substituição dos discos antes que eles falhem.
Considerações sobre SSDs vs. HDDs
Embora ambos os tipos de discos utilizem S.M.A.R.T., há diferenças importantes na interpretação dos dados. HDDs, por exemplo, são mais suscetíveis a problemas mecânicos, como setores defeituosos e aumento do tempo de spin-up, enquanto os SSDs tendem a falhar devido ao desgaste das células de memória flash. Portanto, ao analisar os dados S.M.A.R.T., é essencial considerar o tipo de disco para interpretar corretamente os resultados.
O smartctl
é uma ferramenta indispensável para qualquer administrador de sistemas que deseja manter a integridade dos dados e garantir o desempenho dos seus discos de armazenamento. Ao integrar o monitoramento S.M.A.R.T. em suas práticas de manutenção de TI, você pode prevenir falhas inesperadas, minimizar o tempo de inatividade e proteger os dados críticos da sua organização. Através de uma combinação de testes regulares, monitoramento contínuo e análise detalhada dos resultados, é possível maximizar a vida útil dos discos e planejar substituições de hardware de forma proativa.
Incorporar o smartctl
em sua rotina de administração de sistemas é um passo importante para garantir que seus servidores e estações de trabalho operem de maneira confiável e eficiente, reduzindo o risco de perda de dados e aumentando a resiliência dos sistemas.
Sou um profissional na área de Tecnologia da informação, especializado em monitoramento de ambientes, Sysadmin e na cultura DevOps. Possuo certificações de Segurança, AWS e Zabbix.