Cómo comprobar la salud del SSD/HDD en Linux

Si eres administrador de sistemas y responsable de la gestión de sistemas Linux en Datacenter. Entonces, se recomienda comprobar regularmente la salud de las unidades SSD y HDD. Te ayudará a identificar las unidades averiadas y a sustituirlas antes de que se produzca una pérdida de datos. S.M.A.R.T es una herramienta utilizada para controlar el estado de salud de los SSD y HDD. También te permite realizar pruebas bajo demanda en la unidad.

En este post, te mostraremos cómo comprobar la salud de los SSD y HDD en Linux.

Requisitos previos

  • Un servidor o un ordenador de sobremesa con sistema operativo Linux.
  • Una contraseña de root configurada en el servidor.

Instalar Smartctl

Por defecto, Smartctl está incluido en el repositorio por defecto de las principales distribuciones de Linux.

Para las distribuciones Debian y Ubuntu, instala Smartctl utilizando el siguiente comando:

apt-get install smartmontools -y

Para las distribuciones RHEL, CentOS y Fedora, instala Smartctl utilizando el siguiente comando:

dnf install smartmontools

Tras instalar Smartctl, inicia el servicio Smartctl utilizando el siguiente comando:

systemctl start smartd

Puedes comprobar el estado del smartd con el siguiente comando:

systemctl status smartd

Deberías obtener la siguiente salida:

? smartmontools.service - Self Monitoring and Reporting Technology (SMART) Daemon
     Loaded: loaded (/lib/systemd/system/smartmontools.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-07-02 08:58:33 UTC; 11s ago
       Docs: man:smartd(8)
             man:smartd.conf(5)
   Main PID: 1042 (smartd)
     Status: "Next check of 0 devices will start at 09:28:33"
      Tasks: 1 (limit: 2353)
     Memory: 1.2M
     CGroup: /system.slice/smartmontools.service
             ??1042 /usr/sbin/smartd -n

Jul 02 08:58:33 ubuntu2004 smartd[1042]: Device: /dev/sda, opened
Jul 02 08:58:33 ubuntu2004 smartd[1042]: Device: /dev/sda, [QEMU     QEMU HARDDISK    2.5+], 53.6 GB
Jul 02 08:58:33 ubuntu2004 smartd[1042]: Device: /dev/sda, IE (SMART) not enabled, skip device
Jul 02 08:58:33 ubuntu2004 smartd[1042]: Try 'smartctl -s on /dev/sda' to turn on SMART features
Jul 02 08:58:33 ubuntu2004 smartd[1042]: Device: /dev/sdb, opened
Jul 02 08:58:33 ubuntu2004 smartd[1042]: Device: /dev/sdb, [AN       Volume           2.5+], S/N: sdb, 53.6 GB
Jul 02 08:58:33 ubuntu2004 smartd[1042]: Device: /dev/sdb, IE (SMART) not enabled, skip device
Jul 02 08:58:33 ubuntu2004 smartd[1042]: Try 'smartctl -s on /dev/sdb' to turn on SMART features
Jul 02 08:58:33 ubuntu2004 smartd[1042]: Monitoring 0 ATA/SATA, 0 SCSI/SAS and 0 NVMe devices
Jul 02 08:58:33 ubuntu2004 systemd[1]: Started Self Monitoring and Reporting Technology (SMART) Daemon.

Comprobar estado de SSD/HDD

Después de instalar Smartctl, tendrás que activar las funciones SMART en tu disco duro.

Puedes hacerlo utilizando el siguiente comando:

smartctl -s on /dev/sda

Lo primero que tendrás que hacer es obtener información del SSD o HDD.

Puedes hacerlo utilizando el siguiente comando:

smartctl -i /dev/sda

Esto te dará la información detallada de tu disco duro.

smartctl 6.2 2013-07-26 r3841 [x86_64-linux-4.4.0-148-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     WDC WD5000LPVX-75V0TT0
Serial Number:    WXV1EC4KN2N7
LU WWN Device Id: 5 0014ee 65af65611
Firmware Version: 01.01A01
User Capacity:    500,107,862,016 bytes [500 GB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    5400 rpm
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ACS-2 (minor revision not indicated)
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Fri Jul  2 14:39:33 2021 IST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

Si quieres realizar una pequeña prueba en la unidad, ejecuta el siguiente comando:

smartctl -t short -a /dev/sda

Deberías obtener la siguiente salida:

smartctl 6.2 2013-07-26 r3841 [x86_64-linux-4.4.0-148-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     WDC WD5000LPVX-75V0TT0
Serial Number:    WXV1EC4KN2N7
LU WWN Device Id: 5 0014ee 65af65611
Firmware Version: 01.01A01
User Capacity:    500,107,862,016 bytes [500 GB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    5400 rpm
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ACS-2 (minor revision not indicated)
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Fri Jul  2 14:40:23 2021 IST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x00)	Offline data collection activity
					was never started.
					Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0)	The previous self-test routine completed
					without error or no self-test has ever 
					been run.
Total time to complete Offline 
data collection: 		( 9360) seconds.
Offline data collection
capabilities: 			 (0x7b) SMART execute Offline immediate.
					Auto Offline data collection on/off support.

La prueba breve comprobará las Propiedades Eléctricas, las Propiedades Mecánicas y la Lectura/Verificación.

Para buscar e imprimir el resultado del autotest, ejecuta el comando siguiente:

smartctl -l selftest /dev/sda

Deberías obtener el siguiente resultado:

smartctl 6.2 2013-07-26 r3841 [x86_64-linux-4.4.0-148-generic] (local build)
Copyright (C) 2002-13, 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%      7609         -
# 2  Short offline       Interrupted (host reset)      90%      6972         -
# 3  Short offline       Aborted by host               70%      6972         -
# 4  Short offline       Interrupted (host reset)      70%         2         -

Para ejecutar una prueba larga, utiliza el siguiente comando:

smartctl -t long -a /dev/sda

Deberías obtener el siguiente resultado:

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Extended self-test routine immediately in off-line mode".
Drive command "Execute SMART Extended self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 107 minutes for test to complete.
Test will complete after Fri Jul  2 16:30:41 2021

Use smartctl -X to abort test.

La prueba larga comprobará todo lo incluido en la prueba corta.

Para detener la prueba, ejecuta el comando siguiente:

smartctl -X /dev/sda

Deberías obtener la siguiente salida:

smartctl 6.2 2013-07-26 r3841 [x86_64-linux-4.4.0-148-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Abort SMART off-line mode self-test routine".
Self-testing aborted!

Para comprobar la salud general de la unidad, ejecuta el comando siguiente:

smartctl -d ata -H /dev/sda

Deberías obtener la siguiente salida:

smartctl 6.2 2013-07-26 r3841 [x86_64-linux-4.4.0-148-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

Para comprobar el tiempo estimado para realizar la prueba, ejecuta el comando siguiente:

smartctl -c /dev/sda

Deberías obtener la salida siguiente:

smartctl 6.2 2013-07-26 r3841 [x86_64-linux-4.4.0-148-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
General SMART Values:
Offline data collection status:  (0x00)	Offline data collection activity
					was never started.
					Auto Offline Data Collection: Disabled.
Self-test execution status:      (  25)	The self-test routine was aborted by
					the host.
Total time to complete Offline 
data collection: 		( 9360) seconds.
Offline data collection
capabilities: 			 (0x7b) SMART execute Offline immediate.
					Auto Offline data collection on/off support.
					Suspend Offline collection upon new
					command.
					Offline surface scan supported.
					Self-test supported.
					Conveyance Self-test supported.
					Selective Self-test supported.
SMART capabilities:            (0x0003)	Saves SMART data before entering
					power-saving mode.
					Supports SMART auto save timer.
Error logging capability:        (0x01)	Error logging supported.
					General Purpose Logging supported.
Short self-test routine 
recommended polling time: 	 (   2) minutes.
Extended self-test routine
recommended polling time: 	 ( 107) minutes.
Conveyance self-test routine
recommended polling time: 	 (   5) minutes.
SCT capabilities: 	       (0x7035)	SCT Status supported.
					SCT Feature Control supported.
					SCT Data Table supported.

Para imprimir sólo el registro de errores, ejecuta el comando siguiente:

smartctl -l error /dev/sda

Para obtener información de ayuda, ejecuta el comando siguiente:

smartctl --help

Conclusión

En la guía anterior, has aprendido a instalar y utilizar la herramienta S.M.A.R.T para comprobar el estado de tus unidades SSH y HDD. Espero que te sirva de mucha ayuda. Para más información, lee la página man de smartctl.

También te podría gustar...