Como verificar uma saúde do disco rígido da linha de comando usando o SmartCTL

Como verificar uma saúde do disco rígido da linha de comando usando o SmartCTL

O Smartmontools O pacote geralmente está disponível nos repositórios padrão de todas as principais distribuições Linux. Ele contém dois utilitários úteis para verificar o status do armazenamento com S.M.A.R.T apoiar (Tecnologia de análise e relatórios de autocontrole): SmartCl e Smartd. O primeiro é a concessionária que usamos diretamente para verificar S.M.A.R.T atributos, executar testes ou executar outras ações; Este último é o daemon que pode ser usado para agendar operações em segundo plano. Neste tutorial, aprenderemos o uso básico de Smartctl.

Neste tutorial, você aprenderá:

  • Como instalar o pacote SmartMontools em várias distribuições
  • Quais são as diferenças entre os S.M.A.R.T Auto-teste
  • Como usar o SmartCTL para verificar a saúde de um dispositivo de armazenamento
  • Como executar testes em um dispositivo de armazenamento a partir da linha de comando
Como verificar uma saúde do disco rígido da linha de comando usando o SmartCTL

Requisitos de software e convenções usadas

Requisitos de software e convenções de linha de comando Linux
Categoria Requisitos, convenções ou versão de software usada
Sistema Distribuição Independente
Programas O pacote SmartMontools (consulte as instruções)
Outro Permissões de raiz
Convenções # - requer que os comandos linux -comidos sejam executados com privilégios de raiz diretamente como usuário root ou por uso de sudo comando
$-exige que o Linux-Commands seja executado como um usuário não privilegiado regular

Instalação

Como mencionado antes do Smartmontools O pacote está disponível nos repositórios de todas as principais distribuições Linux, portanto, tudo o que precisamos fazer para instalá -lo é usar nosso gerenciador de pacotes favorito. Se você está executando o Debian ou um de seus derivados, como Ubuntu ou Mint, por exemplo, você pode executar:

$ sudo apt-get update && sudo apt-get install smartmontools 

Em versões recentes do Red Hat Enterprise Linux, Centos e Fedora, podemos usar DNF:

$ sudo dnf install smartmontools 

Se o Archlinux for sua distribuição favorita, você pode usar Pacman:

$ sudo pacman -s smartmontools 


Verificando se o Smart estiver ativado

Vamos nos familiarizar com o Smartctl Utilitário. A primeira coisa que queremos verificar é se S.M.A.R.O suporte t é ativo no dispositivo. Para executar esta operação, podemos executar o utilitário smartctl com o -eu opção (abreviação de --informações):

$ sudo smartctl -i /dev /sda 

A saída do comando é o seguinte:

=== Seção Iniciar da Informação === Modelo Família: Dispositivo Vermelho Digital Ocidental Modelo: WDC WD10EFRX-68FYTN0 LU WWN ID do dispositivo: 5 0014EE 20C672DEF Versão do firmware: 82.00A82 Capacidade do usuário: 1.000.204.886.016 bytes [1.00 TB] Tamanhos do setor: 512 Bytes Lógica, 4096 Bytes Taxa de rotação física: 5400 RPM O dispositivo é: No banco de dados SmartCTL [Para detalhes, use: -p Show] ATA Versão é: ACS -2 (menor revisão não indicada) A versão SATA é: SATA 3.0, 6.0 GB/s (Corrente: 3.0 GB/s) A hora local é: Qui 24 de setembro 18:13:19 2020 CEST Smart Suporte é: Disponível - o dispositivo tem capacidade inteligente. O suporte inteligente é: desativado 

Podemos ver que as informações básicas são exibidas, como família de dispositivos, modelo, tamanhos do setor, etc. O que mais nos interessa, no entanto, é o conteúdo das duas últimas linhas. A partir daí, podemos ver que o dispositivo possui recursos inteligentes e que, neste caso, o suporte inteligente é desativado. E se quisermos ativá -lo? Tudo o que precisamos fazer é correr Smartctl com o -s opção, usando "on" como argumento:

$ sudo smartctl -s on /dev /sda smartctl 6.6 2017-11-05 R4594 [Armv6l-Linux-5.4.51+] (construção local) Copyright (c) 2002-17, Bruce Allen, Christian Franke, www.Smartmontools.org === Iniciar da seção de comandos Ativar/desabilitar === Smart Habiled. 

Familiarizando -se com o Smartctl

Para obter todas as informações inteligentes disponíveis sobre um dispositivo de armazenamento, podemos iniciar o utilitário com o -a opção (abreviação de -todos) e, claro, passe o caminho do dispositivo que queremos verificar como o último argumento do comando. Suponha que queremos verificar o status atual do /Dev/SDA dispositivo; nós funcionaríamos:

$ sudo smartctl -a /dev /sda 

O comando acima produz muita saída. Entre as outras coisas, podemos ver o status de vários parâmetros inteligentes:

Atributos inteligentes Estrutura de dados Número de revisão: 16 Atributos inteligentes específicos do fornecedor com limites: id# attribption_name sinalizador valor pior tipo Thresh Tipo atualizado quando_failed raw_value 1 raw_read_error_rate 0x002f 200 200 051 pré -falha sempre - 0 3 spin_up_pime 0x0027 135 125 021 4 start_stop_count 0x0032 100 100 000 idosos sempre - 941 5 realocados_sector_ct 0x0033 200 200 140 pré -falha sempre - 0 7 reek_error_rate 0x002e 200 000 000 anos sempre - 0 9 power_on_hours 0x0022 085 08 000 000 sempre - 0 11 calibration_retry_count 0x0032 100 000 Old_age sempre - 0 12 power_cycle_count 0x0032 100 000 000 000 sempre - 4464258 194 Temperatura_Celsius 0x0022 111 099 000 Old_age sempre - 32 196 REALLOCATED_EVENT_COUNT 0x0032 200 000 Old_age sempre - 0 197 Current_pending_sector 0x0032 200 000 idos. 0 200 multi_zone_error_rate 0x0008 200 000 Old_age offline - 0 

Os parâmetros muito importantes a serem verificados estão, entre os outros, "reallocated_sector_ct" e "current_pending_sector". Nos dois casos, se o RAW_VALUE é algo diferente de 0, devemos ter muito cuidado e começar a fazer backup de dados no disco rígido. O Reallocated_sector_ct é a contagem de setores no dispositivo de bloco que não pode ser usado corretamente.

Quando esse setor é encontrado, é remapeado a um
dos setores de reposição disponíveis do dispositivo de armazenamento, e os dados contidos nele são realocados. O Current_pending_sector atributo, em vez. Se você quiser saber mais sobre o S.M.A.R.T atributos e seu significado, você pode começar a dar uma olhada na Wikipedia s.M.A.R.T Página.

Na saída, também podemos ver um log dos testes realizados no dispositivo:

Estrutura de log de autoteste inteligente Número da revisão 1 NUM Test_Description Status Restante Lifetime (Horas) LBA_OF_FIRST_ERROR # 1 Offline curto concluído sem erro 00% 9590 - # 2 Offline curto concluído sem erro 00% 2941 - # 3 Extenção Linear concluída sem erro 00% 21 - # 4 Offline curto concluído sem erro 00% 18 - # 5 Offline curto concluído sem erro 00% 0 - # 6 Offline curto concluído sem erro 00% 0 - 

No Descrição de teste coluna, podemos ver vários tipos de testes foram executados e todos foram concluídos sem erro. Na próxima seção, veremos quais são as diferenças entre eles e como realmente lançar um teste em um dispositivo de armazenamento.

Testes inteligentes disponíveis

O Smartctl O utilitário pode ser usado para lançar uma variedade de auto-testes:

  • curto
  • longo
  • Transporte (apenas dispositivos ATA)
  • Selecione (somente dispositivos ATA)

Vamos ver rapidamente quais são as diferenças entre eles.

O curto O teste deve verificar rapidamente os problemas mais comuns que podem ser encontrados em um dispositivo de armazenamento. O teste deve levar não mais que 10 minutos: o desempenho mecânico, elétrico e de leitura de um disco são verificados.

O longo O teste é basicamente uma versão mais precisa do teste "curto". IN pode levar muito tempo para ser concluído: Conforme declarado no manual SmartCTL, ele pode durar dezenas de minutos a várias horas.

O transporte O teste deve verificar possíveis danos ocorreram durante o transporte do dispositivo. Geralmente leva minutos para concluir um teste de transporte. Está disponível apenas em dispositivos ATA.

O Selecione O teste, como o "Transporte", está disponível apenas em dispositivos ATA e deve verificar apenas a gama especificada de LBAs (endereços de bloco lógico). A gama de endereços é especificada ao iniciar o teste. Por exemplo, para verificar os endereços de 10 a 20 (inclusive), executamos:

$ sudo smartctl -t Selecione, 10-20 

É possível especificar um máximo de 5 faixas diferentes de lbas para verificar repetindo o -t opção:

$ sudo smartctl -t Selecionar, 0-5 -t Selecionar, 5-10 


O -t a opção é a curta para --teste e é usado para executar um teste imediatamente.

Executando um teste

Vimos quais são os testes possíveis que podemos executar com o Smartctl Utilitário. Agora vamos ver como realmente lançar um teste. Como vimos no final da seção anterior, o -t A opção é usada para executar um teste imediatamente; Devemos fornecer o tipo de teste que queremos executar como argumento da opção. Para executar a curto teste no /Dev/SDA dispositivo que executaríamos:

$ sudo smartctl -t curto /dev /sda smartctl 6.6 2017-11-05 R4594 [Armv6l-Linux-5.4.51+] (construção local) Copyright (c) 2002-17, Bruce Allen, Christian Franke, www.Smartmontools.org === Início da seção offline imediata e de autoteste === Comando de envio: "Execute rotina de autoteste curto inteligente imediatamente no modo off-line". Drive Command "Execute rotina de autoteste curta inteligente imediatamente no modo off-line" bem-sucedido. Os testes começaram. Aguarde 2 minutos para o teste para concluir. O teste será concluído após a que 24 de setembro 14:39:05 2020 Use Smartctl -x para abortar o teste. 

A saída do comando relata a hora que devemos esperar o teste para terminar e a data e hora em que deve ser concluído. Após o intervalo de tempo especificado, para verificar os resultados do teste que podemos executar:

$ sudo smartctl -a /dev /sda 

Como você pode notar o teste (o primeiro da lista - #1) e seus resultados foram adicionados à lista de logs. Foi concluído sem erros:

Estrutura de log de autoteste inteligente Número da revisão 1 NUM Test_Description Status Restante a vida útil (horas) lba_of_first_error # 1 Offline curto concluído sem erro 00% 11286 - # 2 Off -line curto concluído sem erro 00% 9590 - # 3 Linha off -line curta sem erro 00% 2941 - # 4 Extended offline concluído sem erro 00% 21 - # 5 Offline curto concluído sem erro 00% 18 - # 6 Offline curto concluído sem erro 00% 0 - # 7 Offline curto concluído sem erro 00% 0 - 

É possível saber o tempo estimado que um teste levaria para terminar. Essas informações devem ser incluídas na saída do smartctl -a /dev /sdx comando, mas pode ser solicitado explicitamente lançando Smartctl com o -c opção (abreviação de --recursos). A seguir, são apresentadas as linhas interessantes da saída:

$ sudo smartctl -c /dev /sda […] rotina de autoteste curta tempo de votação recomendado: (2) minutos. Rotina estendida de autoteste recomendada tempo de pesquisa: (157) minutos. Rotina de autoteste de transporte de transporte Tempo de pesquisa recomendado: (5) minutos. […] 

Vamos fazer um teste de transporte, agora:

$ sudo smartctl -t transporte /dev /sda 

Esperamos 5 minutos e depois verificamos os resultados. Como esperado, o teste agora aparece na lista e, felizmente, não foram encontrados erros:

Estrutura de log de autoteste inteligente Número da revisão 1 NUM Test_Description Status Restante a vida útil (horas) lba_of_first_error # 1 transmissão offline concluída sem erro 00% 11286 - # 2 Offline curto concluído sem erro 00% 11286 - # 3 Linha off -curta concluída sem erro 00% 9590 - # 4 Offline curto concluído sem erro 00% 2941 - # 5 Extended offline concluído sem erro 00% 21 - # 6 curto offline concluído sem erro 00% 18 - # 7 Offline curto concluído sem erro 00% 0 - # 8 sem erro 00% 0 - 


Agora, para um simples Selecione teste:

$ sudo smartctl -t Selecione, 100-150 /dev /sda smartctl 6.6 2017-11-05 R4594 [Armv6l-Linux-5.4.51+] (construção local) Copyright (c) 2002-17, Bruce Allen, Christian Franke, www.Smartmontools.org === Início da seção offline imediata e autoteste === Comando de envio: "Execute rotina de autoteste seletiva inteligente imediatamente no modo off-line". Span start_lba ending_lba 0 100 150 Drive Command "Execute rotina de autoteste seletiva inteligente imediatamente no modo off-line" bem-sucedido. Os testes começaram. 

Este teste está concluído com sucesso:

Estrutura de log de autoteste inteligente Número da revisão 1 NUM Test_Description Status Restante a vida útil (horas) LBA_OF_FIRST_ERROR # 1 Offline seletivo concluído sem erro 00% 11287 - # 2 OFFLINE OFFLINE CONCLUÍDO SEM ERRO 00% 11286 - # 3 OFF linha curta sem erro 00% 11286 - # 4 Offline curto concluído sem erro 00% 9590 - # 5 Offline curto concluído sem erro 00% 2941 - # 6 Extended offline concluído sem erro 00% 21 - # 7 Offline curto concluído sem erro 00% 18 - # 8 curto offline concluído Sem erro 00% 0 - # 9 Offline curto concluído sem erro 00% 0 - 

Novamente, os resultados dos testes são incluídos na saída gerada quando o SmartCTL é lançado com o -a opção; Se alguém quiser se concentrar apenas em toras, ele pode usar o -eu opção (--registro) e especifique que tipo de toras deve ser exibido. Para exibir apenas erro toras, um seria executado:

$ sudo smartctl -l error /dev /sda 

Para incluir também Auto -teste logs, em vez disso:

$ sudo smartctl -l error -l autotest /dev /sda 

Quando Smartctl é lançado com o -a opção o erro, Auto -teste e seletivo Os logs estão incluídos na saída para dispositivos ATA.

Conclusões

Neste tutorial, vimos como instalar o Smartmontools pacote em algumas das distribuições Linux mais usadas e como usar o Smartctl utilitário para verificar o status de s.M.A.R.T parâmetros em um dispositivo de armazenamento. Também vimos quais são os testes possíveis que podemos executar e quais são as diferenças entre eles. Também vimos como lançar um teste e como os resultados. No próximo artigo, veremos como agendar testes usando o Smartd daemon e como ser notificado com um email quando um erro é encontrado. Fique atento!

Tutoriais do Linux relacionados:

  • Como configurar o SmartD e ser notificado de disco rígido…
  • Comandos de verificação de saúde básica do Linux
  • Otimização de desempenho do Linux: ferramentas e técnicas
  • Ubuntu 20.04 Monitoramento do sistema com widgets conky
  • Ubuntu 22.04 Monitoramento do sistema com widgets conky
  • Melhor ferramenta de monitoramento do sistema para Linux
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Como particionar a unidade USB no Linux
  • Como construir um aplicativo Tknter usando um objeto orientado…
  • Como usar o Google Drive no Linux