Diferencia entre revisiones de «S.M.A.R.T.»

De Guía Ubuntu
Saltar a: navegación, buscar
(Empiezo el artículo, aún no acabado)
 
(Extraigo información de http://blackshell.usebox.net/archivo/744.php y de http://sigt.net/archivo/smart-y-las-horas-de-un-disco-duro.xhtml)
Línea 40: Línea 40:
  
 
En {{w|Linux|GNU/Linux}} disponemos de las herramientas ''smart monitoring tools'' que en [[Debian]] y [[Ubuntu]] las podemos [[añadir aplicaciones|instalar]] con este paquete '''smartmontools'''.
 
En {{w|Linux|GNU/Linux}} disponemos de las herramientas ''smart monitoring tools'' que en [[Debian]] y [[Ubuntu]] las podemos [[añadir aplicaciones|instalar]] con este paquete '''smartmontools'''.
 +
 +
Primero devemos comprobar si nuestra BIOS y Disco duro lo soportan, para ello escriviremos en un [[terminal]]
 +
 +
$ sudo smartctl -i /dev/hda
 +
 +
Y nos devolverá algo parecido a esto:
 +
 +
smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen
 +
Home page is http://smartmontools.sourceforge.net/
 +
=== START OF INFORMATION SECTION ===
 +
Device Model:    ST330013A
 +
Serial Number:    3KE08PVC
 +
Firmware Version: 3.33
 +
Device is:        Not in smartctl database \
 +
                  [for details use: -P showall]
 +
ATA Version is:  6
 +
ATA Standard is:  ATA/ATAPI-6 T13 1410D revision 2
 +
Local Time is:    Fri Dec 16 12:16:10 2005 CET
 +
'''SMART support is: Available - device has SMART capability.'''
 +
'''SMART support is: Enabled'''
 +
 +
Nos tenemos que fijar que tengamos soporte, y además que este activado. Ahora hay que comprobar las características del soporte que tenemos.
 +
 +
$ sudo smartctl -Hc /dev/hda
 +
 +
y nos devuelve algo como esto:
 +
 +
smartctl version 5.36 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen
 +
Home page is http://smartmontools.sourceforge.net/
 +
=== START OF READ SMART DATA SECTION ===
 +
'''SMART overall-health self-assessment test result: PASSED'''
 +
...
 +
...
 +
...
 +
 +
Una vez echo esto podemos hacer muchas cosas.
 +
 +
Una vez echas estas comprobaciones podemos ver una explicación sobre como utilizar este programa y que tests se pueden realizar haciendo
 +
 +
$ man smartctl
 +
 +
=== Registro de errores ===
 +
 +
Podemos ver el registro de errores con
 +
 +
$ smartctl -l error /dev/hda
 +
 +
Y si no tenemos ningun error nos devolverá
 +
 +
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
 +
 +
=== Test genérico ===
 +
 +
Podemos hacer un test generico para obtener todo tipo de información sobre el disco duro. Para ello hay que hacer
 +
 +
$ smartctl -l selftest -i /dev/hda
 +
 +
Y nos debuelve
 +
 +
smartctl version 5.37 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen
 +
Home page is http://smartmontools.sourceforge.net/
 +
=== START OF INFORMATION SECTION ===
 +
Model Family:    Seagate Barracuda 7200.7 and 7200.7 Plus family
 +
Device Model:    ST340014A
 +
Serial Number:    5JX09GR2
 +
Firmware Version: 3.04
 +
    40,020,664,320 bytes
 +
Device is:        In smartctl database [for details use: -P show]
 +
ATA Version is:  6
 +
ATA Standard is:  ATA/ATAPI-6 T13 1410D revision 2
 +
Local Time is:    Tue Oct 16 07:42:26 2007 CEST
 +
SMART support is: Available - device has SMART capability.
 +
SMART support is: Enabled
 +
=== 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%    12210        -
 +
 +
Donde obtenemos entre otros la siguiente información:
 +
*'''Model Family''': “Familia” del disco duro (Seagate Barracuda 7200).
 +
*'''Device Model''': Modelo especifico y firmware.
 +
*'''Serial Number''': Numero de serie del disco duro.
 +
*'''User Capacity''': Capacidad del mismo (40GB).
 +
*'''ATA Version is''': Versión del ATA usado.
 +
*'''SMART support is''': Si soporta SMART.
 +
*'''SMART support is''': Sí lo tiene activado.
 +
*'''LifeTime''': Són las horas que el disco duro ha estado encendido.
 +
*'''LBA_of_first_error''': Muestra los posibles errores.
 +
 +
sí al comando le añadimos el parametro '''-H''' antes de -i /dev/hda nos dira si para S.M.A.R.T. el disco tiene errores
 +
 +
$ sudo smartctl -l selftest -i -H /dev/hda
 +
 +
Y nos respondera
 +
 +
...
 +
...
 +
...
 +
'''SMART overall-health self-assessment test result: PASSED'''
 +
...
 +
 +
 +
Con el parametro '''-A'''
 +
 +
$ sudo smartctl -l selftest -A /dev/hda
 +
 +
 +
Podemos obtener:
 +
*'''12 Power_Cycle_Count''': RAW_Value: 1255. Este disco duro se ha encendido 1255 veces.
 +
*'''192 Temperature Celsius'''. RAW_Value: 27. Es decir, 27 grados de temperatura en el disco lo cual no es nada alto.
 +
 +
En todos estos parametros se tiene que tener en cuenta el campo ''RAW_Value'' que indica el valor del Dato en question y el campo ''VALUE'' que indica el estado segun S.M.A.R.T, siendo un estado optimo por encima de los 200, normal entre los 100-200 y malo por debajo de los 100
 +
 +
=== Test más profundo ===
 +
También tenemos la posiblidad de hacer un test más profundo, pero este llevara bastante más tiempo, aunque se realiza en segundo plano.
 +
 +
$ sudo smartctl -t long /dev/hda
 +
 +
Y nos devuelve
 +
 +
smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen
 +
Home page is http://smartmontools.sourceforge.net/
 +
=== 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 '''24 minutes''' for test to complete.
 +
Test will complete after Fri Dec 16 12:55:25 2005
 +
Use smartctl -X to abort test.
 +
 +
Para abortar el test
 +
 +
$ sudo smartctl -X /dev/hda
 +
 +
Una vez transcurrido el tiempo le solicitamos la información obtenida
 +
 +
smartctl -l selftest -i /dev/hda
 +
 +
=== Estado de los tests en proceso ===
 +
 +
Para saber el estado de los tests que se esten realizando
 +
 +
$ smartctl -l selftest /dev/hda
 +
 +
Y nos devolvera algo como
 +
 +
smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen
 +
Home page is http://smartmontools.sourceforge.net/
 +
=== 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%        0        -
 +
 +
== Monitorizar el disco duro con ''smartd'' ==
 +
 +
Debemos editar el archivo
 +
 +
/etc/smartd.conf
 +
 +
y añadimos al final del documento
 +
 +
# -S on para que grabe los atributos auto
 +
# -o on para activar los test offline auto
 +
# -a para monitorizar todos los atributos
 +
# -I 194 para ignorar la temperatura (que cambia con frecuencia)
 +
# -m dirección_de_correo para que nos mande un mail si pasa algo
 +
/dev/hda -S on -o on -a -I 194 -m admin@nuestro.host.dom
 +
 +
También
 +
 +
/etc/default/smartmontools
 +
 +
y poner
 +
 +
start_smartd=yes
 +
 +
Y en un [[Terminal]]
 +
 +
/etc/init.d/smartmontools start
 +
 +
 +
 +
== Enlaces externos ==
 +
{{wikipedia}}
 +
*[http://smartmontools.sourceforge.net/ Página web oficial]
 +
*[http://prefetch.net/articles/diskdrives.smart.html Guía de como usar S.M.A.R.T.] {{en}}
 +
*[http://www.linuxjournal.com/article/6983 Otra guía de como usar S.M.A.R.T.] {{en}}
 +
 +
[[Categoría:Hardware]]

Revisión de 22:49 17 oct 2007

La tecnología S.M.A.R.T. acrónimo de Self Monitoring Analysis and Reporting Technology consiste en la capacidad de detección de fallos del disco duro. La detección de los fallos con la suficiente anticipación permite al usuario el poder realizar una copia de su contenido, o reemplazar el disco, antes de que se produzca una pérdida de datos irrecuperable.

Este tipo de tecnología tiene que ser compatible con la BIOS del equipo, estar activada y además que el propio disco duro la soporte.

Principios de funcionamiento

La tecnología S.M.A.R.T. monitoriza los diferentes parámetros del disco como pueden ser: la velocidad de los platos del disco, sectores defectuosos, errores de calibración, CRC, distancias medias entre el cabezal y el plato, temperatura del disco, etc.

Cuando se produce un error detectable por este tipo de tecnología la BIOS avisa mediante un mensaje que aparece en la pantalla indicando el tipo de error producido, aunque en la mayoria de los casos lo hace cuando al disco duro apenas le quedan unas horas de vida.

Los umbrales de funcionamiento óptimo y los parámetros del disco duro difieren entre los diferentes fabricantes de discos duros aunque el informe que se realiza al PC está estandarizado. Aunque esta tecnología no es capaz de detectar cualquier tipo de fallo sí que es capaz de detectar la mayoría de fallos correspondientes a algún tipo de degradación en el disco.

Los fallos que se pueden producir se dividen en dos categorías:

  • Impredecibles

Los fallos impredecibles suelen estar producidos por sobrevoltajes provocados por mal funcionamiento de algún circuito integrado o por una mala conexión.

  • Predecibles

Los fallos predecibles suelen corresponderse con un deterioro de la parte mecánica del disco. Este tipo de fallos suelen representar el 60% del total.

Principales parámetros a controlar

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

  • Temperatura del disco
  • Velocidad de lectura
  • Tiempo de partida spin-up
  • Contador de sectores reasignados
  • Velocidad de búsqueda Seek time
  • Tasa de errores de búsqueda Seek

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.

Sí la BIOS detecta una anomalía en el funcionamiento, avisará al usuario cuando se inicie el proceso de arranque del ordenador con el disco duro estropeado o con una gran probabilidad de fallo inminente.

La compañía Compaq fue la primera en implementar esta tecnología en sus equipos computacionales. Actualmente, la mayoría de los fabricantes de discos duros y de placas madre incorporan esta característica en sus productos.

Instalación y uso

En GNU/Linux disponemos de las herramientas smart monitoring tools que en Debian y Ubuntu las podemos instalar con este paquete smartmontools.

Primero devemos comprobar si nuestra BIOS y Disco duro lo soportan, para ello escriviremos en un terminal

$ sudo smartctl -i /dev/hda

Y nos devolverá algo parecido a esto:

smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF INFORMATION SECTION ===
Device Model:     ST330013A
Serial Number:    3KE08PVC
Firmware Version: 3.33
Device is:        Not in smartctl database \
                  [for details use: -P showall]
ATA Version is:   6
ATA Standard is:  ATA/ATAPI-6 T13 1410D revision 2
Local Time is:    Fri Dec 16 12:16:10 2005 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

Nos tenemos que fijar que tengamos soporte, y además que este activado. Ahora hay que comprobar las características del soporte que tenemos.

$ sudo smartctl -Hc /dev/hda

y nos devuelve algo como esto:

smartctl version 5.36 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
...
...
...

Una vez echo esto podemos hacer muchas cosas.

Una vez echas estas comprobaciones podemos ver una explicación sobre como utilizar este programa y que tests se pueden realizar haciendo

$ man smartctl

Registro de errores

Podemos ver el registro de errores con

$ smartctl -l error /dev/hda

Y si no tenemos ningun error nos devolverá

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

Test genérico

Podemos hacer un test generico para obtener todo tipo de información sobre el disco duro. Para ello hay que hacer

$ smartctl -l selftest -i /dev/hda

Y nos debuelve

smartctl version 5.37 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 7200.7 and 7200.7 Plus family
Device Model:     ST340014A
Serial Number:    5JX09GR2
Firmware Version: 3.04
   40,020,664,320 bytes
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   6
ATA Standard is:  ATA/ATAPI-6 T13 1410D revision 2
Local Time is:    Tue Oct 16 07:42:26 2007 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== 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%     12210         -

Donde obtenemos entre otros la siguiente información:

  • Model Family: “Familia” del disco duro (Seagate Barracuda 7200).
  • Device Model: Modelo especifico y firmware.
  • Serial Number: Numero de serie del disco duro.
  • User Capacity: Capacidad del mismo (40GB).
  • ATA Version is: Versión del ATA usado.
  • SMART support is: Si soporta SMART.
  • SMART support is: Sí lo tiene activado.
  • LifeTime: Són las horas que el disco duro ha estado encendido.
  • LBA_of_first_error: Muestra los posibles errores.

sí al comando le añadimos el parametro -H antes de -i /dev/hda nos dira si para S.M.A.R.T. el disco tiene errores

$ sudo smartctl -l selftest -i -H /dev/hda

Y nos respondera

...
...
...
SMART overall-health self-assessment test result: PASSED
...


Con el parametro -A

$ sudo smartctl -l selftest -A /dev/hda


Podemos obtener:

  • 12 Power_Cycle_Count: RAW_Value: 1255. Este disco duro se ha encendido 1255 veces.
  • 192 Temperature Celsius. RAW_Value: 27. Es decir, 27 grados de temperatura en el disco lo cual no es nada alto.

En todos estos parametros se tiene que tener en cuenta el campo RAW_Value que indica el valor del Dato en question y el campo VALUE que indica el estado segun S.M.A.R.T, siendo un estado optimo por encima de los 200, normal entre los 100-200 y malo por debajo de los 100

Test más profundo

También tenemos la posiblidad de hacer un test más profundo, pero este llevara bastante más tiempo, aunque se realiza en segundo plano.

$ sudo smartctl -t long /dev/hda

Y nos devuelve

smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== 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 24 minutes for test to complete.
Test will complete after Fri Dec 16 12:55:25 2005
Use smartctl -X to abort test.

Para abortar el test

$ sudo smartctl -X /dev/hda

Una vez transcurrido el tiempo le solicitamos la información obtenida

smartctl -l selftest -i /dev/hda

Estado de los tests en proceso

Para saber el estado de los tests que se esten realizando

$ smartctl -l selftest /dev/hda

Y nos devolvera algo como

smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== 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%         0         -

Monitorizar el disco duro con smartd

Debemos editar el archivo

/etc/smartd.conf

y añadimos al final del documento

# -S on para que grabe los atributos auto
# -o on para activar los test offline auto
# -a para monitorizar todos los atributos
# -I 194 para ignorar la temperatura (que cambia con frecuencia)
# -m dirección_de_correo para que nos mande un mail si pasa algo
/dev/hda -S on -o on -a -I 194 -m admin@nuestro.host.dom

También

/etc/default/smartmontools

y poner

start_smartd=yes

Y en un Terminal

/etc/init.d/smartmontools start


Enlaces externos

Colabora en Wikipedia Wikipedia alberga un artículo enciclopédico sobre S.M.A.R.T.. (en español)