Comprobar el Estado de un Disco con S.M.A.R.T.


Previamente

¿se bloquea tu sistema operativo sin razón aparente?, ¿en la consola te salen errores sobre hub USB?, ¿solo deseas saber en que estado están tus disco?, ¿deseas comprobar por qué la memoria dice que no reconoce el sistema de archivos y hay que formatear?. Muchas de esas preguntas se pueden saber haciendo las comprobaciones SMART. Esta tecnología Self Monitoring Analysis and Reporting Technology (tecnología de automonitoreo, análisis y reporte) tiene la capacidad de avisar previamente de un posible fallo del disco con lo cual se permite hacer un respaldo de los datos y cambiar el disco antes que falle. Casi todos los dispositivos de los últimos 10 años tienen la tecnología desde USB’s hasta discos duros, por lo que comprobar el estado es relativamente sencillo.

Qué necesito

  • un disco duro / memoria USB con una posible falla
  • un ordenador con linux (debian, ubuntu, Mint o derivados, preferiblemente) y con puertos USB donde conectar el disco
  • Muuuuchaaa paciencia y dependiendo del tamao del disco muuuuchas horas

Qué hacer

primero, instalaremos smartmontools, aunque posiblemente ya venga instalado. segundo comprobaremos si el disco lo esta usando. tercero, generaremos las comprobaciones, cuarto, leeremos e interpretaremos los errores. En una Segunda sección diré como hacer eso pero  con la USB. NOTA : usare /dev/sdXY (donde X es una letra y Y un numero) como punto FICTICIO de montaje, tu lo reemplazaras por el punto de montaje que requieras revisar

  1. instalamos samrtmontools
    1. sudo aptitude install smartmontools
  2. detectamos sobre que disco debemos hacer la operacion – que disco vamos a comporbar-
    1. sudo fdisk -l

      esta sera la salida al escribir fdisk-l
      esta sera la salida al escribir fdisk-l
    2. En mi caso hay dos discos duros uno llamado /dev/sda y otro /dev/sdb ambos de 160 GB. De allí elegimos el punto de montaje (/dev/sdXY, en mi ejemplo) según el disco y partición a comprobar
  3. comprobamos que Smart se este habilitado para ese disco
    1. sudo smartctl -i /dev/sdXY

      esta es la informacion básica que debería mostrarnos
      esta es la información básica que debería mostrarnos
    2. de allí nos interesa las dos ultimas lineas que dicen SMART support :Available y SMART support : Enabled. eso significa que la tecnología esta presente en el disco y ademas que esta activa. sino estuviera activa usaría
      1. sudo smatctl -s on /dev/sdXY/ para activar las comprobaciones.
      2. con sudo smartctl -Hc /dev/sdXY puedo comprobar todas las características de soporte SMART que el fabricante le puso
  4. para ejecutar las comporbaciones ejecutamos la orden
    1. sudo smartctl /dev/sdXY -t short, para las comprobaciones rápidas o
    2. sudo smartctl /dev/sdXY -t long, para las comprobaciones completas
    3. en ambos caso nos dara informacion diciendo que tipo de test ejecuta y cuando acabara, y ademas, como hacer para cancelar las pruebas
      esto debe salir al ejecutar las comprobaciones
      esto debe salir al ejecutar las comprobaciones
      1.  sudo smartctl -X : cancelaría las comprobaciones.
  5. después de esperar el tiempo que se demora la comprobación podemos leerla con
    1. sudo smartctl -l error /dev/sdXY
    2. si todo sale bien deberíamos recibir algo como
      1. smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen
        Home page is http://smartmontools.sourceforge.net/
        === START OF READ SMART DATA SECTION ===
        SMART Error Log Version: 1

        No Errors Logged

      2. si recibimos algún error es tiempo de salvar la información y empezar a migrar los datos
    3. otra manera de hacer las comprobaciones de modo rápido seria usando
      1. sudo smartctl /dev/sdXY -l selftest -A -H, con lo cual se arroja una lectura mejor de las pruebas fallidas.
  6. en caso de memorias USB, o si conectamos el disco por medio de adaptadores USB a ATA se debe agregar el tipo de micro (usbcypress, usbjmicron, usbsunplus, siendo el mas comun usbjmicron) que tiene de modo que las ordenes serian
    1. sudo smartctl -d usbjmicron -i /dev/sdXY
      1. sudo smartctl -d usbjmicron -s on /dev/sdXY, para activar SMART
      2. sudo smartctl -d usbjmicron -Hc /dev/sdXY, para ver todas las caracteristicas SMART
    2. sudo smartctl -d usbjmicron -t short /dev/sdXY o sudo smartctl -d usbjmicron -t long /dev/sdXY, según el tipo de comprobación que deseemos
    3. leer los errores con
      1. sudo smartctl -d usbjmicron -l error /dev/sdXY, para la lectura completa
      2. sudo smartctl -d usbjmicron -l selftest -A -H /dev/sdXY, para el resumen

Explicación

la idea es ver si debemos o no cambiar la información de lugar de almacenamiento. Para ello analizamos con los tets de SMART qué debemos hacer. La mayoría de fallos son por desgaste mecánico, es decir, se calienta el disco y deforma algunas de sus partes haciendo que aparezcan los sonidos en los platos por chocar con el cabezal.  otro tipo de fallos menos comunes son cortocircuitos por bajas en la energía o cortocircuitos o malas conexiones.

nos dice la wikipedia en su articulo de SMART en español que los principales parámetros a controlar son

Los parámetros más característicos a controlar son los siguientes:

  • Temperatura del disco. El aumento de la temperatura a menudo es señal de problemas de motor del disco.
  • Velocidad de lectura de datos. Reducción en la tasa de transferencia de la unidad puede ser señal diversos problemas internos.
  • Tiempo de partida (spin-up). Cambios en el tiempo de partida pueden reflejar problemas con el motor del disco.
  • Contador de sectores reasignados. La unidad Reasigna muchos sectores internos debido a los errores detectados, esto puede significar que la unidad va a fallar definitivamente.
  • Velocidad de búsqueda (Seek time)
  • Altura de vuelo del cabezal. La tendencia a la baja en altura de vuelo a menudo presagian un accidente del cabezal.
  • Uso de ECC y Conteo de errores: El número de errores detectados por la unidad, aunque se corrijan internamente, a menudo señala problemas con el desarrollo de la unidad. La tendencia es, en algunos casos, más importante que el conteo real.

Los valores de los atributos S.M.A.R.T van del número 1 al 253, siendo 1 el peor valor. Los valores normales son entre 100 y 200. Estos valores son guardados en un espacio reservado del disco duro.

Según lo leído y lo sugerido en GalpON, los datos que mas nos deberían interesar serian

  • SMART overall-health self-assessment test result: PASSED – Si no nos queremos complicar la cabeza, simplemente un Passed nos dice que el disco tiene un aprobado, también nos podemos encontrar cosas como:
    • “SMART overall-health self-assessment test result: FAILED”
    • “Drive failure expected in less than 24 hours. SAVE ALL DATA.”
  • Raw_Read_Error_Rate – nos indica la cantidad de errores de lectura ha sufrido el disco y no es alarmante mientras se mantiene dentro de los decimales.
  • Reallocated_Sector_Ct – este valor si que ya es importante, indica la cantidad de sectores realocados; un sector realocado es aquel que esta marcado con una “cruz negra”.
    Cuando el disco realiza una acción de escritura o lectura con resultado fallido, la información del sector dañado se escribe en otros sectores del disco, y ese sector se le pone la cruz negra para no volver a usarlo.
  • Reallocated_Event_Count – similar al anterior, este guarda la cantidad de veces que se ha producido una realocación (satisfactória o errónea).
  • Current_Pending_Sector – también relacionado con el anterior, este cuenta la cantidad de sectores que están dando errores pero que aun no han sido realocados.
  • Offline_Uncorrectable – Cantidad de sectores no corregibles, y que estén probablemente dañados físicamente, esto suele ser el principio del fin.
  • Spin_Retry_Count – Cuenta la cantidad de veces que se ha producido un error en el proceso de aceleración del propio disco, es un indicador de fallo mecánico de la unidad
  • G-Sense_Error_Rate – cantidad de errores producidos debido a una aceleración indebida (golpes y demás).
  • Load_Cycle_Count – Este valor es curioso, es la cantidad de veces que la cabeza lectora sale del estado de reposo y se posa sobre el disco. Un disco, sin que llegue a apagarse, pasado un tiempo entra en modo reposo y al volver a hacer falta leer o escribir la cabeza lectora vuelve a su estado de funcionamiento posándose de nuevo sobre el disco, este es el proceso de carga/Load. Valores normales son entre 300.000 y 600.000 ciclos.
Anuncios

2 comentarios en “Comprobar el Estado de un Disco con S.M.A.R.T.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s