Mimando y controlando los discos

Los discos duros son una de las partes fundamentales de nuestros equipos. Efectivamente, al igual que sin procesador o RAM, un equipo sin disco no puede funcionar (salvemos las distros en live), pero el disco sin embargo es la parte más fundamental por que es donde guardamos toda la información. Controlar el estado de vida del disco es muy importante, al igual que es hacer una buena copia de seguridad de todos nuestros datos. Desde GNU/Linux tenemos la posibilidad de vigilar los discos de forma sencilla con la utilidad smartmontools. Gracias a estar magnífica herramienta podemos obtener una serie de parámetros sobre los discos, desde temperatura hasta número de horas que lleva en funcionamiento. Y también, como era de esperar, recibir alertas en caso de que el disco esté dando algún tipo de fallo.
Vamos a comenzar por instalarlo. smartmontools está prácticamente disponible en los repositorios de cualquier distribución. En Debian/Ubuntu,
shell> apt-get install smartmontools
Tras esto, ya tenemos disponible el comando smartctl y el daemon smartd. Vamos a comenzar por ver la información que se puede extraer con el comando y luego veremos cómo configurar el daemon para que nos alerte de situaciones anómalas en los discos del equipo.
  • Información general
    Con la opción -i obtenemos información general del disco en cuestión. Versión del firmware, dispositivo, modelo, número de serie, etc.
    shell> smartctl -i /dev/sda
    === START OF INFORMATION SECTION ===
    Model Family:     Western Digital Caviar SE Serial ATA family
    Device Model:     WDC WD1600JS-08NCB1
    Serial Number:    WD-WMANM7963047
    Firmware Version: 10.02E01
    User Capacity:    160,041,885,696 bytes
    Device is:        In smartctl database [for details use: -P show]
    ATA Version is:   7
    ATA Standard is:  Exact ATA specification draft version not indicated
    Local Time is:    Mon Apr  1 11:26:09 2013 CEST
    SMART support is: Available - device has SMART capability.
    SMART support is: Enabled
    
  • Información detallada
    La opción -a nos ofrece la misma información que la anterior y a mayores más detalles como las horas de funcionamiento, la temperatura, veces que se ha encendido, etc.
    shell> smartctl -a /dev/sda
    === START OF INFORMATION SECTION ===
    Model Family:     Western Digital Caviar SE Serial ATA family
    Device Model:     WDC WD1600JS-08NCB1
    Serial Number:    WD-WMANM7963047
    Firmware Version: 10.02E01
    User Capacity:    160,041,885,696 bytes
    Device is:        In smartctl database [for details use: -P show]
    ATA Version is:   7
    ATA Standard is:  Exact ATA specification draft version
    Local Time is:    Mon Apr  1 11:28:57 2013 CEST
    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
    See vendor-specific Attribute list for marginal Attributes.
    
    ...
    
    SMART Attributes Data Structure revision number: 16
    Vendor Specific SMART Attributes with Thresholds:
    ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE
      1 Raw_Read_Error_Rate     0x000f   200   200   051    Pre-fail
      3 Spin_Up_Time            0x0003   179   178   021    Pre-fail
      4 Start_Stop_Count        0x0032   100   100   000    Old_age
      5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail
      7 Seek_Error_Rate         0x000f   200   200   051    Pre-fail
      9 Power_On_Hours          0x0032   044   044   000    Old_age
     10 Spin_Retry_Count        0x0013   100   100   051    Pre-fail
     11 Calibration_Retry_Count 0x0012   100   100   051    Old_age
     12 Power_Cycle_Count       0x0032   100   100   000    Old_age
    190 Airflow_Temperature_Cel 0x0022   064   041   045    Old_age
    194 Temperature_Celsius     0x0022   111   088   000    Old_age
    196 Reallocated_Event_Count 0x0032   200   200   000    Old_age
    197 Current_Pending_Sector  0x0012   200   200   000    Old_age
    198 Offline_Uncorrectable   0x0010   200   200   000    Old_age
    199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age
    200 Multi_Zone_Error_Rate   0x0009   200   200   051    Pre-fail
    
    SMART Error Log Version: 1
    No Errors Logged
    
    SMART Self-test log structure revision number 1
    Num  Test_Description  Status              Remaining  LifeTime(h)
    # 1  Short offline     Completed without error   00%     41414
    
    ...
    
  • Test de estado
    La opción -H realiza un pequeño test que indica si el estado del disco es correcto
    shell> smartctl -H /dev/sda
    === START OF READ SMART DATA SECTION ===
    SMART overall-health self-assessment test result: PASSED
    
    o incorrecto y está a punto de morir.
    shell> smartctl -H /dev/sda
    === START OF READ SMART DATA SECTION ===
    SMART overall-health self-assessment test result: FAILED!
    
  • Test con datos relevantes
    smartctl también se puede programar para que realice un test al disco y obtener más datos. Dependiendo del test a realizar la información se devolverá en el momento o tardará en realizarse.
    shell> smartctl -t short /dev/sda
    === START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
    Testing has begun.
    Please wait 2 minutes for test to complete.
    Test will complete after Mon Apr 5 18:28:37 2013
    
    Use smartctl -X to abort test.
    
    En caso de que tarde en devolvernos los datos, estos podrán ser consultados a posteriori tal que así,
    shell> smartctl -l selftest /dev/sda
    === START OF READ SMART DATA SECTION ===
    SMART Self-test log structure revision number 1
    Num  Test_Description  Status              Remaining  LifeTime(h)
    # 1  Short offline   Completed without error     00%     41414
    
  • Más información sobre smartctl en la página de su manual.
smartmontools también incluye un pequeño demonio que permite ejecutarse, controlar y enviar información del estado de los discos que le indiquemos que controle. Por defecto dicha información la enviará a syslog. Para configurar el daemon tendremos que editar el fichero /etc/default/smartmontools,
enable_smart="/dev/sda /dev/sdb"
start_smartd=yes
Y arrancar el daemon.
shell> /etc/init.d/smartmontools start
La primera variable nos indica los diferentes discos a monitorizar y la segunda permite que se arranque como servicio. A partir de ahora nos irá dando información de los discos y en caso de que hay algo "raro" en los mismos nos alertará por syslog. Por ejemplo,
Device: /dev/sda, FAILED SMART self-check. BACK UP DATA NOW!
Device: /dev/sda, Failed SMART usage Attribute: 5 Reallocated_Sector_Ct.
Device: /dev/sda, Self-Test Log error count increased from 4 to 5
Espero que os sea de utilidad y acordaros: BACK UP DATA NOW!

La entrada Mimando y controlando los discos la puedes leer en Puppet Linux.


No hay comentarios :

Publicar un comentario

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios