Smartmontools - Controlemos nuestro HD.
Nota:
Esta guia recoge los mios limitados conocimientos en la materia y la esperanza que sea util a otros y por lo tanto por mas voluntad que haya puesto en este documento nada asegura que tus datos estaran a salvo,que pierdas algun diente o que muera tu mascota...asi que recomiendo hacer backup de tus datos (como de costumbre no?).
Estas avisado.
Introduccion:
En realidad todo esto surgio desde que en algun momento comenze a notar que el disco duro de mi laptop hacia un extraño ruido (parecido a un click) en ciertos momentos.
El laptop es un Toshiba M70-309 corriendo GNU/Debian en su version testing (porsupuesto) y como no podia ser de otra manera, para alcanzar el "karma" debian decidi indagar un poco por la red, hasta dar con este sitio :
https://bugs.launchpad.net/ubuntu/+source/acpi-support/+bug/59695
el cual se resume en un problema de "estacionamiento" de los cabezales del disco.
Todo esto porque uno de los problemas principales de los portatiles es aquel de evitar caidas y golpes,en especial cuando estos estan en funcionamiento.
Si los cabezales del disco duro tocan la superficie en rotacion,se rayarian inevitablemente y habrian pocas esperanzas de recuperar los datos.
En la busqueda de paliar esta situacion,los productores han previsto la posibilidad del "estacionamiento" de los cabezales del disco fuera del area de rotacion de las superficies.Accion que solamente puede ser llevada a cabo una determinada cantidad de veces,en media 600.000 veces antes que puedan aparecer problemas.
Este problema ha sido anunciado por los principales sitios de informacion tecnologica en noviembre del 2007,el cual decia :
"Ubuntu destruye los discos de los laptops en pocos meses".
Pareceria que ubuntu tiene la tendencia de apagar y encender el disco de los laptops muy frecuentemente.El objetivo seria el de ahorrar energia y limitar la temperatura,pero,haciendo esto,se crea una situacion en que la mecanica viene solicitada mas de lo previsto,y en determinado momento los discos ceden.
Cabe decir que muchos afirman que el problema es cuando el sistema viene configurado en laptop-mode.
Segun la informacion recabada por la red,a partir del kernel 2.6.21 han sido introducidas mejoras en lo que se refiere al ahorro de energia,pero el laptop-mode existe ya desde tiempo,y,activandolo se le pide al kernel de minimizar y concentrar la escritura de manera que el disco se pueda apagar mas seguido.
Esperando que nadie se haya dormido leyendo lo anterior,veremos si el problema nos afecta.
CONTROLAR EL ESTADO DEL DISCO.
Los discos duros modernos (y no tan modernos) vienen equipados con una tecnología conocida como S.M.A.R.T., el cual le permite al disco monitorear de manera contínua su propio estado de “salud” y alertar al usuario si es detectada alguna anormalidad, para que luego pueda ser corregida.
Seria buena idea controlar que esta opcion este activada en el Bios de tu placa madre,encontraras algo parecido a esto:
S.M.A.R.T for Hard Disk: Enable
Algunos bios no tienen esta opcion,pero no te preocupes pues la herramienta que utilizaremos puede activarlo por si sola,una vez comprobado esto podemos instalar nuestro paquete: smartmontools.
porsupuesto que en debian y derivados basta con :
# aptitude install smartmontools
despues de la instalacion del paquete y sus dependencias comenzamos verificando si nuestro disco soporta S.M.A.R.T (si lo has comprado despues del 1992,seguramente lo soporta).
# smartctl -i /dev/sda - en todos los casos deberas cambiar sda por el nombre de tu dispositivo
veremos algo como esto:
smartctl version 5.38 [i686-pc-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF INFORMATION SECTION ===
Model Family: Fujitsu MHV series
Device Model: FUJITSU MHV2100BH
Serial Number: NW16T6329S36
Firmware Version: 00000028
User Capacity: 100,030,242,816 bytes
Device is: In smartctl database [for details use: -P show]
ATA Version is: 7
ATA Standard is: ATA/ATAPI-7 T13 1532D revision 4a
Local Time is: Fri May 23 20:04:10 2008 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
Ademas de la informacion generica,en las ultimas dos lineas se entiende que el disco soporta la tecnologia SMART y que el soporte esta activado.
si el soporte no estubiese activado bastaria con la orden.
#smartctl -s on /dev/sda
controlar el estado de salud actual:
#smartctl -H /dev/sda
y veremos algo como:
smartctl version 5.38 [i686-pc-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
si la ultima linea no muestra PASSED....hermanos mios desmonten todas las particiones urgentemente y hacer respaldo !!!!!!!porque las papas queman!
para tener toda la informacion disponible sobre nuestro disco:
#smartctl -a /dev/sda
lo cual sera una salida bastante extensa,por lo que solamente veremos lo que mas interesa:
endor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 100 100 046 Pre-fail Always - 142775
2 Throughput_Performance 0x0005 100 100 030 Pre-fail Offline - 27656192
3 Spin_Up_Time 0x0003 100 100 025 Pre-fail Always - 1
4 Start_Stop_Count 0x0032 099 099 000 Old_age Always - 4533
5 Reallocated_Sector_Ct 0x0033 100 100 024 Pre-fail Always - 8589934592000
7 Seek_Error_Rate 0x000f 100 100 047 Pre-fail Always - 188
8 Seek_Time_Performance 0x0005 100 100 019 Pre-fail Offline - 0
9 Power_On_Seconds 0x0032 092 092 000 Old_age Always - 4453h+04m+29s
10 Spin_Retry_Count 0x0013 100 100 020 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 1495
192 Power-Off_Retract_Count 0x0032 099 099 000 Old_age Always - 330
193 Load_Cycle_Count 0x0032 098 098 000 Old_age Always - 41946
194 Temperature_Celsius 0x0022 100 075 000 Old_age Always - 47 (Lifetime Min/Max 10/65)
195 Hardware_ECC_Recovered 0x001a 100 100 000 Old_age Always - 4257
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 454164480
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x000f 100 100 060 Pre-fail Always - 4397
203 Run_Out_Cancel 0x0002 100 100 000 Old_age Always - 3732316093724
240 Head_Flying_Hours 0x003e 200 200 000 Old_age Always - 0
el parametro indicado como Pre-fail son aquellos que superan la franja de 24 horas estipuladas como rotura -----> tranquilos rotura no inminente
el parametro indicado como Old-age son aquellos que indican que el disco es viejo y considerado No confiable por el productor.
en este ejemplo se puede ver que ninguno a superado la franja de rotura inminente dentro de las 24 horas...menos mal!!!!!
la ultima parte de la salida del comando anterior se refiere al log de test efectuados manualmente:
SMART Error Log Version: 1
No Errors Logged
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% 4453 -
# 2 Short offline Completed without error 00% 4449
TESTEAR MANUALMENTE
Es posible efectuar tests mas o menos profundos al disco.Algunos de ellos se pueden realizar con el disco montado y en funcionamiento,teniendo un impacto minimo o nulo sobre las prestaciones del sistema.
# smartctl -t tipo_test /dev/sda
donde tipo_test puede ser:
-short:
efectua un test con una duracion inferior a 10 minutos,se puede realizar en caliente y no afecta el rendimiento del sistema.
con este test controlamos la performance mecanica y electrica del disco asi como tambien la performance de escritura.
#smartctl -t short /dev/sda
=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Short self-test routine immediately in off-line mode".
Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 2 minutes for test to complete.
Test will complete after Fri May 23 22:44:43 2008
Use smartctl -X to abort test.
-long :
este test es una extension del anterior con una duracion de 40 minutos a una hora,dependiendo del disco,tambien puede ser efectuado en caliente sin interferir en el sistema.
#smartctl -t long /dev/sda
=== 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 69 minutes for test to complete.
Test will complete after Fri May 23 23:55:14 2008
Use smartctl -X to abort test.
-conveyance :
Efectua un test de algunos minutos con la finalidad de descubrir problemas en el disco debidos al transporte.
Puede ser realizado en caliente .
#smartctl -t conveyance /dev/sda
smartctl version 5.38 [i686-pc-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Conveyance self-test routine immediately in off-line mode".
Drive command "Execute SMART Conveyance self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 2 minutes for test to complete.
Test will complete after Fri May 23 22:57:32 2008
Use smartctl -X to abort test.
Existen tambien otros tipos de test para los cuales deberemos ir a nuestro nunca bien ponderado : man smarctl.
AUTOMATIZAR EL CONTROL
Es posible activar el demonio smartd para monitoriar en continuacion el estado de salud del disco y avisar de cualquier anomalia inmediatamente tramite syslog.
normalmente el demonio esta deshabilitado,asi que si queremos lo contrario basta con descomentar la linea
start_smartd=yes
en /etc/default/smartmontools
y decirle cual debe ser su comportamiento.para lo cual editamos el /etc/smartd.conf.
Leyendo los comentarios en el propio archivo y ademas las paginas man smartd.conf sera posible elegir que parametros deba monitorear,test automaticos y decidir que acciones tomar en caso de error.
en mi caso he elegido : /dev/sda -a -o on -S on
que activa el monitoreo de todos los (-a) parametros,habilita el automatic online data collection (-o on) y habilita el almacenamiento de todos los atributos (-S on),de manera que la informacion del log de SMART vengan guardadas en la memoria flash del disco y esten disponibles tambien despues de reiniciar.
Bueno...hasta aca llego mi amor...pienso que con un poco mas de tiempo,podre profundizar en la gran cantidad de posibilidades que han quedado por recorrer,o tal vez alguno de ustedes (lectores) haga sus propias pruebas y pueda contribuir a mejorar esta humilde guia.
Enviado por bluebox el 4 Junio, 2008 - 03:23.
exelente muchas gracias , lo hice y esta bien de saludo :p muchas gracias
Enviado por sebas el 5 Junio, 2008 - 21:19.
Muy bueno el articulo, gran aporte gaucho. 
Esperemos que todos lo pongan a prueba por lo menos es un paso a evitar desastres 
Abrazo!
Debianita
Enviado por ELSEGO el 6 Junio, 2008 - 04:45.
me parece muy interesante y se agradece
muchas gracias
salu2.
Enviado por nerve_net el 14 Junio, 2008 - 01:57.
Excelente artículo, me ha servidor mucho, y de paso instalé el paquete para que pueda utilizarse desde Webmin, muchas gracias.
Enviado por rafu el 14 Junio, 2008 - 14:44.
Buenisimo el articulo, explicas todo muy bien. Lo use en Arch, el HD que uso paso la prueba aunque el otro que tengo que es medio viejote no la paso... asi que hize un respaldo urgente.
Gracias!





