Cómo analizar la salud de nuestro disco duro en Linux

En muchas ocasiones puede pasar que tengamos un equipo muy potente, con un gran procesador, gráfica de varios gigas dedicados, una memoria RAM que nos permita tener abiertos multitud de procesos y que el ordenador no se resienta, pero sin embargo el disco duro no funciona correctamente. Esto es un problema ya que si no va lo suficientemente rápido que debería, no permite trabajar en condiciones. Por eso es importante conocer el estado del disco duro y vamos a explicar cómo hacerlo en Linux.

La salud del disco duro

Especialmente si compramos un ordenador de segunda mano, aunque en general sus piezas funcionen correctamente, el disco duro puede no hacerlo. Es aquí donde tenemos que analizar su funcionamiento y para ello vamos a centrarnos en una herramienta que se llama Smartmontools, especial para los usuarios de Linux, aunque también está disponible para Windows y MacOS.

El paquete smartmontools contiene dos programas de utilidad (smartctl y smartd) para controlar y monitorear sistemas de almacenamiento utilizando el sistema de tecnología de autocontrol, análisis y generación de informes (SMART) integrado en los discos ATA / SATA, SCSI / SAS y NVMe más modernos. En muchos casos, estas utilidades proporcionarán avisos avanzados de degradación y falla del disco. Smartmontools se derivó originalmente del paquete smartsuite de Linux y en realidad soporta discos ATA / ATAPI / SATA-3 a -8 y discos SCSI y dispositivos de cinta.

Instalación

En general smartmontools está disponible para la mayoría de distribuciones. Solamente tendremos que instalar el paquete como administrador.

Para ello hay que hacer lo siguiente: sudo pacman –S smartmontools. Para usuarios de Ubuntu/Linux Mint: sudo apt install smartmontools.

Su uso

Una vez lo tenemos instalado, tendremos que saber qué unidad es la que cuestionamos y queremos saber si funciona correctamente:

sudo fdisk -l

Esto nos muestra una lista con todas las unidades y particiones. Si solamente tenemos una unidad, nos aparecerá /dev/sda y sus particiones. Si tenemos más, tendremos que utilizar nuestro sentido común para averiguar cuál es la que queremos inspeccionar.

Cuando sabemos qué unidad es la que vamos a analizar, tenemos tres posibles pruebas para hacer:

  • Una prueba corta, que generalmente es suficiente para detectar problemas.
  • Una prueba más larga, ideal para examinar el disco duro por completo.
  • Una prueba de transporte, que es para averiguar si el disco sufrió algún daño durante el transporte del dispositivo desde el fabricante.

El siguiente paso es averiguar qué tipo de pruebas soporta nuestro disco duro, así como una estimación de cuánto tiempo durarán las pruebas para ejecutarse.

sudo smartctl -c /dev/sdX (sustituir X con la letra que corresponda)

Opciones

Nos dará una gran cantidad de resultados como podemos ver en la captura de pantalla. Por ejemplo la estimación del tiempo y también que el disco duro no es compatible con una prueba de transporte.

Opciones con Smartmontools en Linux

Los comandos para ejecutar los distintos test son los siguientes:

  • Corto: sudo smartctl -t short /dev/sdX
  • Largo: sudo smartctl -t long /dev/sdX
  • Transporte: sudo smartctl -t conveyance /dev/sdX

Siempre debemos de sustituir la X con la letra que corresponda. Hay que tener en cuenta que si optamos por el test largo, puede que tarde una o dos horas perfectamente. Una vez finalice hay que ver los resultados:

sudo smartctl -H /dev/sdX

Si todo va bien veremos un texto que nos pondrá: SMART overall-health self-assessment test result: PASSED.