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

Saltar al contenido

- Tutoriales de Linux

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

enero 26, 2023

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...

- #### Cómo instalar ReactJS con el proxy Nginx en CentOS 8

  octubre 3, 2022

  por howtoforge · Published octubre 3, 2022

- #### Cómo instalar Vanila Forum y asegurarlo con Let’s Encrypt en CentOS 8

  abril 18, 2022

  por howtoforge · Published abril 18, 2022

- #### Cómo instalar GoAccess Web Log Analyzer en Rocky Linux 8

  marzo 3, 2023

  por howtoforge · Published marzo 3, 2023