How to Check and Monitor Hard Disk Health on Linux with Smartmontools

Comprobar y supervisar el estado del disco duro en Linux

SMART (un acrónimo de Tecnología de autocontrol, análisis e informes) se encuentra en los discos duros modernos y permite que una unidad detecte e informe sobre diversas condiciones que pueden indicar una falla inminente. Smartmontools es un paquete de software gratuito, disponible para múltiples plataformas, que puede utilizar los atributos SMART de un disco duro para consultar su estado. Con smartmontools, un administrador/usuario experto en tecnología recibirá una advertencia adecuada y estará preparado para una falla del disco duro y podrá realizar copias de seguridad antes de que el disco se vuelva crítico.

Instalación

En los sistemas Debian o Ubuntu, smartmontools está disponible a través de los repositorios predeterminados.

sudo apt-get install smartmontools

En Fedora:

sudo yum install smartmontools

La instalación del paquete smartmontools entrega dos programas a su sistema: inteligenteque debe usarse de forma interactiva, y inteligenteque, como sugiere su nombre, es un programa daemon diseñado para ejecutarse en segundo plano.

Smartctl

Smartctl requiere permisos de root para ejecutarse y, por lo tanto, debe ejecutarlo el usuario root o un usuario con privilegios sudo. Smartctl monitorea un disco duro completo (no particiones), por lo tanto, cuando se ejecuta, se le debe dar el disco duro requerido como argumento final. Para este artículo, usamos “/dev/sda” como el archivo del dispositivo del disco duro. Asegúrese de reemplazar eso con el archivo de su disco duro.

Para obtener información sobre una unidad, utilice el -i opción.

sudo smartctl -i /dev/sda

Obtener información sobre una unidad.

La imagen de arriba muestra información sobre la unidad y podemos ver, a partir de las líneas resaltadas, que la compatibilidad con SMART está disponible y habilitada para la unidad. Excelente. Sin embargo, si el soporte SMART está disponible pero no habilitado, se puede activar con el siguiente comando:

sudo smartctl -s on /dev/sda

Para comprobar el estado del dispositivo, utilice el -H opción:

sudo smartctl -H /dev/sda

Comprueba el estado del dispositivo.

Si el resultado de lo anterior NO ES APROBADO, el disco duro ha fallado o está prediciendo su muerte inminente. Copia de seguridad de sus datos inmediatamente.

Para ver las capacidades SMART de la unidad, use el -c cambiar:

sudo smartctl -c /dev/sda

Vea las capacidades SMART de la unidad.

A partir de la captura de pantalla anterior, la unidad admite pruebas automáticas, y el tiempo para las pruebas automáticas cortas y largas se estima en 2 minutos y 95 minutos, respectivamente. Para ejecutar la prueba corta, utilice el -t short cambiar, y en consecuencia, el -t long opción para la prueba extendida (y más completa).

sudo smartctl -t short /dev/sda

Ejecute una breve prueba.

La prueba se ejecuta en segundo plano, lo que le permite realizar otras tareas mientras se ejecuta. Para verificar los resultados de la prueba, ejecute el siguiente comando:

sudo smartctl -l selftest /dev/sda

Esto muestra los resultados de las últimas veinte autopruebas y no da ninguna indicación de una prueba en ejecución actual. Ejecute también una prueba extendida.

sudo smartctl -t long /dev/sda

Si cualquiera de las pruebas falla, haga una copia de seguridad de sus datos inmediatamente.

inteligente

Si bien smartctl es una gran herramienta, debe ejecutarse con regularidad y frecuencia. Smartd es un demonio que está diseñado para ejecutarse en segundo plano y solicitar periódicamente diagnósticos SMART de discos duros seleccionados. De esta manera, inmediatamente cuando se recibe un error o falla una prueba, se puede notificar al administrador para que tome las medidas adecuadas.

El archivo de configuración normalmente se encuentra en “/etc/smartd.conf”. Abra este archivo y busque una línea que comience con «DEVICESCAN» y coméntelo agregando «#» al principio. Luego, enumere explícitamente las unidades que se monitorearán agregando lo siguiente para cada unidad:

/dev/sda -a -o on -S on -s (S/../.././02|L/../../6/03) -m root -M exec /usr/share/smartmontools/smartd-runner

Las opciones anteriores indican las siguientes situaciones:

  • /dev/sda: El archivo del dispositivo del disco duro
  • -a: Esto habilita algunas opciones comunes. Es casi seguro que querrás usarlo.
  • -d sat: En mi sistema, smartctl adivina correctamente que tengo una unidad ATA serie. smartd por otro lado no lo hace. Si tuviera que agregar un -d TYPE parámetro a los comandos smartctl, es casi seguro que tendrá que hacer lo mismo aquí. Si no lo hizo, intente omitirlo inicialmente. Puede agregarlo más tarde si smartd no se inicia.
  • -o on: Habilita las pruebas fuera de línea automáticas de SMART
  • -S on: Habilita el autoguardado SMART
  • -s (S/../.././02|L/../../6/03): Ejecute autocomprobaciones cortas (S/../.././02) y largas (L/../../6/03) a horas programadas. Este ejemplo indica una prueba corta a las 2:00 a. m. todos los días y una prueba larga todos los sábados a las 3:00 a. m.
  • -m root: Enviar un correo a la dirección especificada (raíz aquí). Se pueden separar por comas. Tenga en cuenta que esto requiere un correo electrónico de trabajo configurado en el sistema
  • -M exec /usr/share/smartmontools/smartd-runner: Esto modifica el comportamiento del -m bandera. En los sistemas Debian y Ubuntu, smartd-runner ejecuta otras acciones además de la opción de correo (-m).

Para obtener más información, consulte las páginas man de smartd.conf.

Después de configurar smartd, debemos asegurarnos de que se inicie al iniciar el sistema. Para hacer esto, abra el archivo de configuración “/etc/default/smartmontools” y descomente la línea #start_smartd=yes (quitar el #). A continuación, puede iniciar smartd ejecutando:

sudo /etc/init.d/smartmontools start

Los diagnósticos se registrarían en syslog, pero los errores activarán una alerta por correo electrónico. Para probar que el correo electrónico funciona, agregue -M pruebe la línea en “/etc/smartd.conf” y reinicie.

sudo /etc/init.d/smartmontools restart

Esto enviaría una notificación de prueba.

Conclusión

Es sorprendentemente difícil estimar la vida útil de los discos duros (hay un muy buen artículo disponible en este). El uso de las capacidades SMART de su disco duro, con smartmontools, puede proporcionar horas vitales para una migración de datos antes de que la unidad experimente una falla catastrófica. Si bien realmente no hay sustituto para un buen plan de respaldo, smartmontools puede ayudar a alertar al propietario/administrador del sistema sobre una posible falla.

Experto Geek - Tu Guía en Tendencias Tecnológicas