Publicado el Martes 16 de Octubre del 2007 @ 20:00 por Armonth.
Una discusión: equipo fallando, yo digo que es el disco duro y el colega que la placa base (si tan seguro está ¿por qué me consulta? }:P). El caso es que ya tengo tema que desarrollar…
Un disco duro tiene una vida útil estimada por el fabricante, al igual que el resto de componentes (incluso algunas memorias RAM han tenido — o siguen teniendo — garantía “de por vida”).
El caso es que tanto en ventiladores como en discos duros es fácil saberlo, los primeros empiezan a hacer más ruido y atascarse por lo que si no se soluciona con una limpieza a fondo ya están en las últimas. En cambio los discos duros pueden ser más puñeteros.
Una forma sencilla de hacerse una idea sin llegar a tener que buscar sectores defectuosos en todo el disco y que además nos permite prevenir y no tener que cambiar piezas cuando ya está fallando es el uso de S.M.A.R.T.
S.M.A.R.T (Self Monitoring Analysis And Reporting Technology) es una tecnología expresamente hecha para la detección de problemas en los discos duros.
[…] 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.
En realidad, S.M.A.R.T es bastante viejo, es de esas cosas que llevan ahí años pero si no eres técnico rara vez usas (los usuarios avanzados tampoco creo que lo usemos mucho: muchos terminan cambiando los discos duros por nuevos antes de que empiecen a fallar o siquiera a hacerse viejos).
Teniendo S.M.A.R.T activado en la BIOS y un disco duro que lo soporte, podemos tirar en GNU/Linux de las smart monitoring tools. Tanto en Ubuntu como en Debian están bajo el mismo paquete: smartmontools.
The smartmontools package contains two utility programs (smartctl and smartd) to control and monitor storage systems using the Self-Monitoring, Analysis and Reporting Technology System (S.M.A.R.T.) built into most modern ATA and SCSI hard disks. It is derived from the smartsuite package, and includes support for ATA/ATAPI-5 disks. It should run on any modern Linux system.
La verdad es que yo nunca he usado el smartd pero sí el smartctl. Aunque toda la información la tenéis en el “man” lo único realmente necesario son dos cosas: lanzar el test y visualizarlo.
smartctl -t short /dev/hda
... (mucho texto irrelevante).
Testing has begun.
Please wait 1 minutes for test to complete.
Test will complete after Tue Oct 16 07:43:06 2007
Ok, el test ha empezado en la unidad /dev/hda. Tardará 1 minuto en terminar pero de mientras podemos seguir trabajando como siempre. Ahora vamos a pedirle la información obtenida:
smartctl -l selftest -i /dev/hda 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 User Capacity: 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 -
Mucha información aquí:
Y el primer punto interesante: el LifeTime o horas que el disco duro ha estado encendido junto a posibles errores.
El disco duro tiene 12210 horas de marcha o lo que es lo mismo 508 días / 1 año y 4 meses. Curiosamente es casi tanto tiempo como lleva SigT en pie sólo que el blog las lleva “seguidas” y mi PC a lo largo de cuatro años +/- (tendría que revisar facturas para estar seguro).
Luego podemos añadirle -H antes de -i /dev/hda el cual nos dice si “a ojos de SMART” el disco “está sano”:
-H, –health: Check: Ask the device to report its SMART health status or pending TapeAlert messages.
smartctl -l selftest -i -H /dev/hda
… (misma información de antes)…
SMART overall-health self-assessment test result: PASSED
Hay mucha más información, que puede ser útil o simplemente “curiosa”, dependiendo de lo que a uno le interese, por ejemplo los atributos (-A). Dos ejemplos al vuelo de lo que se puede extraer:
Power_Cycle_Count. RAW_Value: 1255. O en cristiano: este disco duro se ha encendido 1255 veces.RAW_Value: 27. Es decir, 27 grados de temperatura en el disco lo cual no es nada alto.O también según la propia Wikipedia:
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.
Eso significa que en los atributos debemos tener en cuenta el campo “VALUE”, en el ejemplo de arriba el “VALUE” obtenido para el campo “Temperature Celsius” (los 27 grados) es de 100 por lo que está bien (entre 100 y 200).
Sin embargo el valor para el número de encendidos (1255) es de 99 por lo que ya está por debajo de los 100-200 que es “lo normal”: nada grave pero a tener en cuenta.
Lo que sí que es más preocupante en mi caso son los Raw_Read_Error_Rate que ya andan por menos de 70 (Pre-Fail: no creo que tarde mucho en empezar a fallar).
PD: ¿Recordáis el sujeto mencionado al principio? Tenía la mitad de los atributos a menos de 40, la temperatura a 35ºC, 30 y pico mil horas y errores a mansalva…
Buenas buenas…
nada, solo agradecerte este post!
realmente es muy interesante.
En mi caso, administro en casa un pequeño y viejito (PII) server para tareas especificas.
En el siempre cae el “old hard” que encuentro, aunque generalmente como una de sus actividades es bajar contenidos p2p, lo que mas recive son HD ^^ que por algun motivo deseche xD
Lo cual esta herramienta me viene al re pelo, y mas la info que publicaste
Abrazos
heee bueno por hacer la gracia probe y estos son los resultado copy&paste:
corocota@enanucobigarista-i386:~$ sudo smartctl -A /dev/hda
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 Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
3 Spin_Up_Time 0×0027 224 224 063 Pre-fail Always - 7977
4 Start_Stop_Count 0×0032 253 253 000 Old_age Always - 867
5 Reallocated_Sector_Ct 0×0033 253 253 063 Pre-fail Always - 3
6 Read_Channel_Margin 0×0001 253 253 100 Pre-fail Offline - 0
7 Seek_Error_Rate 0×000a 253 251 000 Old_age Always - 0
8 Seek_Time_Performance 0×0027 250 248 187 Pre-fail Always - 43841
9 Power_On_Minutes 0×0032 221 221 000 Old_age Always - 264h+00m
10 Spin_Retry_Count 0×002b 253 252 157 Pre-fail Always - 0
11 Calibration_Retry_Count 0×002b 253 252 223 Pre-fail Always - 0
12 Power_Cycle_Count 0×0032 251 251 000 Old_age Always - 1049
192 Power-Off_Retract_Count 0×0032 253 253 000 Old_age Always - 0
193 Load_Cycle_Count 0×0032 253 253 000 Old_age Always - 0
194 Temperature_Celsius 0×0032 253 253 000 Old_age Always - 46
195 Hardware_ECC_Recovered 0×000a 253 252 000 Old_age Always - 6576
196 Reallocated_Event_Count 0×0008 253 253 000 Old_age Offline - 0
197 Current_Pending_Sector 0×0008 253 253 000 Old_age Offline - 0
198 Offline_Uncorrectable 0×0008 253 253 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0×0008 001 001 000 Old_age Offline - 4471
200 Multi_Zone_Error_Rate 0×000a 253 252 000 Old_age Always - 0
201 Soft_Read_Error_Rate 0×000a 253 244 000 Old_age Always - 0
202 TA_Increase_Count 0×000a 252 229 000 Old_age Always - 3
203 Run_Out_Cancel 0×000b 253 252 180 Pre-fail Always - 70
204 Shock_Count_Write_Opern 0×000a 253 251 000 Old_age Always - 0
205 Shock_Rate_Write_Opern 0×000a 253 252 000 Old_age Always - 0
207 Spin_High_Current 0×002a 253 252 000 Old_age Always - 0
208 Spin_Buzz 0×002a 253 252 000 Old_age Always - 0
209 Offline_Seek_Performnce 0×0024 191 190 000 Old_age Offline - 0
99 Unknown_Attribute 0×0004 253 253 000 Old_age Offline - 0
100 Unknown_Attribute 0×0004 253 253 000 Old_age Offline - 0
101 Unknown_Attribute 0×0004 253 253 000 Old_age Offline - 0
Muchas gracias, realmente interesante!
Por desgracia esta herramienta es cada vez menos útil ya que, a pesar de que todas las BIOS y discos duros ATA modernos soportan SMART, todavía no me he encontrado ningún disco duro SATA que lo haga… :-(
@Xisco: Los SATA si soportan SMART y de hecho Smartmontools tambien… solo hay que leer la documentación mas a fondo:
sagan:~#smartctl -d ata -a /dev/sda smartctl version 5.36 [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: ST3160023AS Serial Number: 5MT03NCT Firmware Version: 8.12 User Capacity: 160,000,000,000 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: Wed Oct 17 01:40:18 2007 CDT SMART support is: Available - device has SMART capability. SMART support is: Enabled ... sagan:~# smartctl -a /dev/sda smartctl version 5.36 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen Home page is http://smartmontools.sourceforge.net/ Device: ATA ST3160023AS Version: 8.12 In Linux, SATA disks accessed via libata are only supported by smartmontools for kernel versions 2.6.15 and above. Try an additional '-d ata' argument.
Por cierto Hector yo recomiendo totalmente el uso de smartd sobre todo en servidores… para ejemplo: Crónica de una muerte anunciada.
O simplemente buscar smartd en mi blog, para las 3 entradas relacionadas smart si tambien quieres leer sobre munin, hdparm y otros juguetes… mhh.. ya parece comercial, por cierto, muy buen post.
Saludos.
Buenas, yo tengo unos servidores con discos SATA y les estoy haciendo ahora mismo los tests, una herramienta trementamente útil, gracias por la info
En esta dirección se explica el significado de todos los atributos:
http://smartlinux.sourceforge.net/smart/attributes.php
Hace algún tiempo escribí un tutorial en inglés sobre el smartmontools y cómo hacer que en caso de fallo el servidor se pare o nos envíe un e-mail. Si a alguien le interesa está en la wiki de documentación de Ubuntu: https://help.ubuntu.com/community/Smartmontools
Muy interesante, habrá que probarlo sin falta.
Un saludo.
esta aplicacion esta muy bien pero, ¿no se puede lanzar desde xp?? ¿solo con Linux?? vaya…
Más cosas…
http://www.linuxjournal.com/article/6983
;)
Todos estos datos son curiosos… pero solo eso, rara vez suponen un peligro para el disco. Incluso el Raw_Read_Error_Rate no es problema de por sí; he visto discos con un raw error rate altísimo funcionando durante años.
El realmente importante es Reallocated_Sector_Ct, o en cristiano: número de sectores de repuesto que ha usado el disco para sustituir sectores dañados. Dañados irreparablemente, se entiende.
Día en que el Reallocated_Sector_Ct empieza a subir, semana en que el disco falla, independientemente de que haya o no alertas de SMART.
Que esa es otra, muchas veces entre la alerta de SMART y “disco a la basura” pueden pasar menos de unas horas, ni siquiera un día entero.
Muy buen post.
Gracias
Hola:
Estoy intentando testear mi disco duro externo del portátil y me devuelve el siguiente mensaje:
Short offline self test failed [unsupported scsi opcode]
Pero el disco duro no es scasi. ¿Alguna sugerencia?
@vicm3
Los SATA si soportan SMART y de hecho Smartmontools tambien… solo hay que leer la documentación mas a fondo.
¡Ver para creer! :-O
Gracias, vicm3. :-)
Como puedo desactivar el S.M.A.R.T. del bios y del disco duro. que no me de mas la alerta. y de ser posible borrarle el log del smart.
gracias
Daniel: en el sitio de soporte de symantec, comentan que se puede desactivar el SMART a con una utileria llamada CPUCool… no lo he probado personalmente, la utileria es shareware, espero te sirva este dato. Saludos a todos!!!
Hola, yo tengo servidores con redhat 8 y solo me muestra la informacion comercial como se cuanto tiempo lleva en uso mi disco duro la version de smartctl es la 2.1 y no puedo actualizarla.
dani, para ver dicha información desde windows puedes usar algún programa como HDD Health (Freeware) que se puede descargar desde http://www.panterasoft.com/
quiero saber como puedo desactivar el SMART del bios si este no me da opcion ha hacerlo, mi pregunta es si se puede desactivar desed la placa madre quitando un jamper o algo asi.
gracias
Hola cada vez que trato de hacer el test me arroja la siguiente linea:
….. Use smartctl -X to abort test.
Qué tipo de error es éste?
Muchas gracias por la ayuda
Hola, la verdad que me ayudo mucho a determinar algo que queria saver… cuantas horas estubo la pc encendida:
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% 13159 -
13159 :) lo cual es casi exactamente 1 año 6 meses… el disco lo compre hace casi exactamente 1 año y 6 meses xDxD con lo cual puedo demostrar lo que poca gente me cree… que desde que la compre que solo se reinicio; nunca se apago :D gracias jajajajaja