Cómo verificar una salud del disco duro desde la línea de comandos utilizando SmartCTL

Cómo verificar una salud del disco duro desde la línea de comandos utilizando SmartCTL

El smartmontools El paquete generalmente está disponible en los repositorios predeterminados de todas las principales distribuciones de Linux. Contiene dos utilidades útiles para verificar el estado del almacenamiento con S.METRO.A.Riñonal.T apoyo (Análisis de autocontrol y tecnología de informes) inteligente y smartd. La primera es la utilidad que usamos directamente para verificar S.METRO.A.Riñonal.T atributos, ejecutar pruebas o realizar otras acciones; Este último es el demonio que se puede utilizar para programar operaciones en segundo plano. En este tutorial aprenderemos el uso básico de inteligente.

En este tutorial aprenderás:

  • Cómo instalar el paquete SmartMonTools en varias distribuciones
  • ¿Cuáles son las diferencias entre el S.METRO.A.Riñonal.T
  • Cómo usar SmartCTL para verificar la salud de un dispositivo de almacenamiento
  • Cómo ejecutar pruebas en un dispositivo de almacenamiento desde la línea de comandos
Cómo verificar una salud del disco duro desde la línea de comandos utilizando SmartCTL

Requisitos y convenciones de software utilizados

Requisitos de software y convenciones de línea de comandos de Linux
Categoría Requisitos, convenciones o versión de software utilizada
Sistema Distribución independiente
Software El paquete SmartMontools (ver instrucciones)
Otro Permisos de raíz
Convenciones # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
$-Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Instalación

Como se mencionó antes el smartmontools El paquete está disponible en los repositorios de todas las principales distribuciones de Linux, por lo tanto, todo lo que tenemos que hacer para instalarlo es usar nuestro Administrador de paquetes favorito. Si se está ejecutando en Debian o en uno de sus derivados, como Ubuntu o Mint, por ejemplo, puede ejecutar:

$ sudo apt-get actualización && sudo apt-get install smartMonTools 

En versiones recientes de Red Hat Enterprise Linux, Centos y Fedora podemos usar DNF:

$ sudo dnf install smartMonTools 

Si Archlinux es su distribución favorita, puede usar Pacman:

$ sudo Pacman -S SmartMontools 


Verificar si Smart está habilitado

Vamos a familiarizarnos con el inteligente utilidad. Lo primero que queremos verificar es si s.METRO.A.Riñonal.T de soporte está activo en el dispositivo. Para realizar esta operación, podemos ejecutar la utilidad SmartCTL con el -i opción (abreviatura de --información)

$ sudo smartctl -i /dev /sda 

La salida del comando es la siguiente:

=== SECCIÓN DE INFORMACIÓN === Modelo Familia: Western Digital Red Device Model: WDC WD10EFRX-68FYTN0 LU WWN ID del dispositivo: 5 0014EE 20C672DEF Versión de firmware: 82.00A82 Capacidad del usuario: 1,000,204,886,016 bytes [1.00 TB] Tamaños del sector: 512 bytes lógicos, 4096 bytes tasa de rotación física: 5400 rpm El dispositivo es: en la base de datos SmartCTL [para detalles uso: -p show] la versión ATA es: ACS -2 (revisión menor no indicada) La versión SATA es: SATA 3.0, 6.0 GB/s (actual: 3.0 GB/s) La hora local es: jueves 24 de septiembre 18:13:19 2020 CEST START Support es: Disponible - El dispositivo tiene capacidad inteligente. El soporte inteligente es: discapacitado 

Podemos ver que se muestran información básica, como la familia del dispositivo, el modelo, los tamaños del sector, etc. Sin embargo, lo que más nos interesa es el contenido de las dos últimas líneas. A partir de ahí, podemos ver que el dispositivo tiene capacidades inteligentes y que, en este caso, el soporte inteligente está deshabilitado. ¿Qué pasa si queremos habilitarlo?? Todo lo que tenemos que hacer es correr inteligente con el -s Opción, usando "ON" como argumento:

$ sudo smartctl -s on /dev /sda smartctl 6.6 2017-11-05 R4594 [ARMV6L-Linux-5.4.51+] (construcción local) Copyright (c) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org === Inicio de comandos de habilitación/desactivación sección === Smart habilitado. 

Familiarizarse con SmartCTL

Para obtener toda la información inteligente disponible sobre un dispositivo de almacenamiento, podemos iniciar la utilidad con el -a opción (abreviatura de -todo) y, por supuesto, pase la ruta del dispositivo que queremos verificar como el último argumento del comando. Supongamos que queremos verificar el estado actual del /dev/sda dispositivo; Corríamos:

$ sudo smartctl -a /dev /sda 

El comando anterior produce una gran cantidad de salida. Entre las otras cosas, podemos ver el estado de varios parámetros inteligentes:

Atributos inteligentes Número de revisión de la estructura de datos: 16 Atributos inteligentes específicos del proveedor con umbrales: ID# attribute_name Valor de bandera Peor tipo de umbral actualizado When_failed raw_value 1 raw_read_error_rate 0x002f 200 200 051 Pre -Fail siempre - 0 3 spin_up_time 0x0027 135 125 021 Pre -Fail siempre - 4216 4 start_stop_count 0x0032 100 100 000 Old_age siempre - 941 5 RealLocated_sector_ct 0x0033 200 200 140 Pre -Fail siempre - 0 7 Seek_error_Rate 0x002e 200 200 000 Old_age siempre - 0 9 Power_on_Hours 0x0032 085 085 000 Old_age Always - 11285 10 Spin_Enge - 0 11 calibración_retry_count 0x0032 100 100 000 Old_age siempre - 0 12 Power_Cycle_Count 0x0032 100 100 000 Old_age siempre - 446 192 POWER -OFF_RETRACT_COUNT 0X0032 200 200 000 Old_age siempre - 108 193 Load_Cycle_Count 0x0032 199 000 Old_age siempre - -4258 194 Temperatura_Celsius 0x0022 111 099 000 Old_age Always - 32 196 RealLocated_event_Count 0x0032 200 200 000 Old_age siempre - 0 197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0 198 Offline_Uncorrable 0x0030 100 253 000 Olly Offline - 0 199 0 200 multi_zone_error_rate 0x0008 200 200 000 Old_age fuera de línea - 0 

Los parámetros muy importantes para verificar son, entre los demás, "reaslocated_sector_ct" y "current_pending_sector". En ambos casos si el VALOR BRUTO es algo más que 0, debemos tener mucho cuidado y comenzar a hacer una copia de seguridad de los datos en el disco duro. El Reaslocated_sector_ct es el recuento de sectores en el dispositivo de bloque que no se puede usar correctamente.

Cuando se encuentra dicho sector, se reasigna a uno
de los sectores de repuesto disponibles del dispositivo de almacenamiento, y los datos contenidos en él están reubicados. El Sector en espera actual El atributo, en cambio, es el recuento de malos sectores que todavía están esperando ser reasignados. Si quieres saber más sobre el S.METRO.A.Riñonal.T atributos y su significado, puedes comenzar a echar un vistazo a las wikipedia s.METRO.A.Riñonal.T Page.

En la salida también podemos ver un registro de las pruebas realizadas en el dispositivo:

Smart Self -Test Structure Revision Número de revisión 1 Num test_description Estado restante de vida útil (horas) Lba_of_first_error # 1 Corta fuera de línea completa sin error 00% 9590 - n. - # 4 breve fuera de línea completado sin error 00% 18 - # 5 corta fuera de línea completada sin error 00% 0 - # 6 breve fuera de línea completado sin error 00% 0 - 

En el Descripción de la prueba columna, podemos ver que se ejecutaron varios tipos de pruebas, y todas ellas se completaron sin error. En la siguiente sección veremos cuáles son las diferencias entre ellos y cómo iniciar realmente una prueba en un dispositivo de almacenamiento.

Pruebas inteligentes disponibles

El inteligente La utilidad se puede utilizar para lanzar una variedad de autoestimaciones:

  • corto
  • largo
  • Transporte (solo dispositivos ATA)
  • Seleccione (solo dispositivos ATA)

Veamos rápidamente cuáles son las diferencias entre ellos.

El corto La prueba está destinada a verificar rápidamente los problemas más comunes que se pueden encontrar en un dispositivo de almacenamiento. La prueba no debe tomar más de 10 minutos: se verifican los rendimientos mecánicos, eléctricos y de lectura de un disco.

El largo La prueba es básicamente una versión más precisa de la prueba "corta". Puede tomar mucho tiempo para completar: como se indica en el manual SmartCTL, puede durar desde decenas de minutos hasta varias horas.

El transporte La prueba está destinada a verificar que se produjeran posibles daños durante el transporte del dispositivo. Por lo general, lleva minutos completar una prueba de transporte. Está disponible solo en dispositivos ATA.

El seleccionar La prueba, como la de "transporte", está disponible solo en dispositivos ATA, y está destinado a verificar solo el rango especificado de LBA (direcciones de bloque lógicas). El rango de direcciones se especifica al iniciar la prueba. Por ejemplo, para verificar direcciones de 10 a 20 (inclusive), ejecutaríamos:

$ sudo smartctl -t select, 10-20 

Es posible especificar un máximo de 5 rangos diferentes de LBA para verificar repitiendo el -T opción:

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


El -T La opción es el corto para --prueba y se usa para ejecutar una prueba inmediatamente.

Ejecutando una prueba

Vimos cuáles son las posibles pruebas que podemos ejecutar con el inteligente utilidad. Ahora veamos cómo lanzar realmente una prueba. Como vimos al final de la sección anterior, el -T La opción se usa para ejecutar una prueba de inmediato; Debemos proporcionar el tipo de prueba que queremos ejecutar como argumento de la opción. Para ejecutar un corto Prueba en el /dev/sda dispositivo que ejecutaríamos:

$ sudo smartctl -t short /dev /sda smartctl 6.6 2017-11-05 R4594 [ARMV6L-Linux-5.4.51+] (construcción local) Copyright (c) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org === Inicio de la sección inmediata y de autocomprobación === Comando de envío: "Ejecute la rutina de autoevaluación corta inteligente inmediatamente en el modo fuera de línea". Comando de unidad "Ejecutar la rutina de autocomprobación corta inteligente inmediatamente en el modo fuera de línea" exitoso. Las pruebas han comenzado. Espere 2 minutos para que la prueba se complete. La prueba se completará después del jueves 24 de septiembre 14:39:05 2020 Use SmartCTL -X para abortar la prueba. 

La salida del comando informa el tiempo que debemos esperar a que finalice la prueba y la fecha y hora en que debe completarse. Después del intervalo de tiempo especificado, para verificar los resultados de la prueba, podemos ejecutar:

$ sudo smartctl -a /dev /sda 

Como puede notar la prueba (la primera en la lista: #1) y sus resultados se han agregado a la lista de registros. Se completó sin errores:

Smart Self -Test Structure REVISION Número de revisión 1 Num test_description Estado restante de vida útil (horas) LBA_OF_FIRST_Error # 1 Corta fuera de línea completa sin error 00% 11286 - # 2 Breve fuera de línea completado sin error 00% 9590 - # 3 Breve fuera de línea completada sin error 00% 2941 - # 4 extendido fuera de línea completado sin error 00% 21 - # 5 corta fuera de línea sin error 00% 18 - # 6 corta sin conexión completa sin error 00% 0 - # 7 breve fuera de línea completado sin error 00% 0 - 

Es posible saber el tiempo estimado que tomaría una prueba para terminar. Dicha información debe incluirse en la salida del SmartCTL -A /dev /sdx comando, pero se puede solicitar explícitamente al iniciar inteligente con el -C opción (abreviatura de --capacidades). Las siguientes son las líneas interesantes en la salida:

$ sudo SmartCTL -C /Dev /SDA […] Rutina de autocomprobación corta Tiempo de votación recomendado: (2) minutos. Tiempo de votación recomendado de rutina de autoevaluación extendida: (157) minutos. Tiempo de votación recomendado de rutina de autoevaluación de transporte: (5) minutos. […] 

Ejecutemos una prueba de transporte, ahora:

$ sudo smartctl -t transporte /dev /sda 

Esperamos 5 minutos y luego verificamos los resultados. Como se esperaba, la prueba ahora aparece en la lista, y afortunadamente no se encontraron errores:

Smart Self -Test Structure REVISION Número de revisión 1 Num test_description Estado restante de vida útil (horas) LBA_OF_FIRST_ERROR # 1 Transportación fuera de línea completa sin error 00% 11286 - n. - # 4 corta fuera de línea completa sin error 00% 2941 - # 5 fuera de línea extendida completada sin error 00% 21 - # 6 corta fuera de línea completa sin error 00% 18 - # 7 corta fuera de línea sin error 00% 0 - # 8 corta fuera de línea completa completada sin error 00% 0 - 


Ahora, para un simple seleccionar prueba:

$ sudo smartctl -t select, 100-150 /dev /SDA SmartCTL 6.6 2017-11-05 R4594 [ARMV6L-Linux-5.4.51+] (construcción local) Copyright (c) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org === Inicio de la sección inmediata y de autocomprobación === Comando de envío: "Ejecute la rutina de autoevaluación selectiva inteligente inmediatamente en modo fuera de línea". SPAN Starting_LBA Ending_lba 0 100 150 Comando de unidad "Ejecute la rutina de autoevaluación selectiva inteligente inmediatamente en modo fuera de línea" Exitoso. Las pruebas han comenzado. 

Esta prueba se completa con éxito:

Smart Self -Test Structure Revision Número de revisión 1 Num test_description Estado restante de vida útil (horas) LBA_OF_FIRST_ERROR # 1 Selective Selective Oflline completado sin error 00% 11287 - # 2 Completance Offline completado sin error 00% 11286 - # 3 Corta sin error sin error 00% 11286 - # 4 corta fuera de línea completada sin error 00% 9590 - # 5 corta fuera de línea completa sin error 00% 2941 - # 6 extendido fuera de línea completado sin error 00% 21 - # 7 corta fuera de línea completa sin error 00% 18 - # 8 breve completado completado sin error 00% 0 - # 9 Breve fuera de línea completado sin error 00% 0 - 

Nuevamente, los resultados de las pruebas se incluyen en la salida generada cuando SmartCTL se lanza con el -a opción; Si uno quiere centrarse solo en los registros, en su lugar, él/ella puede usar el -l opción (--registro) y especifique qué tipo de registros se deben mostrar. Solo para mostrar error registros, uno se ejecutaría:

$ sudo smartctl -l error /dev /sda 

Incluir también autoestimas registros, en su lugar:

$ sudo SmartCTL -L Error -l SelfTest /Dev /SDA 

Cuando inteligente se lanza con el -a opción error, autoestimas y selectivo Los registros se incluyen en la salida para dispositivos ATA.

Conclusiones

En este tutorial vimos cómo instalar el smartmontools paquete en algunas de las distribuciones de Linux más utilizadas y cómo usar el inteligente utilidad para verificar el estado de S.METRO.A.Riñonal.T Parámetros en un dispositivo de almacenamiento. También vimos cuáles son las posibles pruebas que podemos ejecutar y cuáles son las diferencias entre ellas. También vimos cómo lanzar una prueba y cómo los resultados. En el próximo artículo veremos cómo programar las pruebas utilizando el smartd demonio, y cómo ser notificado con un correo electrónico cuando se encuentra un error. Manténganse al tanto!

Tutoriales de Linux relacionados:

  • Cómo configurar SmartD y ser notificado del disco duro ..
  • Comandos de verificación de salud básica de Linux
  • Optimización de rendimiento de Linux: herramientas y técnicas
  • Ubuntu 20.04 Monitoreo del sistema con widgets de Conky
  • Ubuntu 22.04 Monitoreo del sistema con widgets de Conky
  • La mejor herramienta de monitoreo de sistemas para Linux
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Cómo dividir la unidad USB en Linux
  • Cómo construir una aplicación Tkinter utilizando un objeto orientado ..
  • Cómo usar Google Drive en Linux