Estas aquiContenido / Problemas con un disco duro Western Digital

Problemas con un disco duro Western Digital


PorFernando Acero- Publicado el02 Marzo 2010

Por Fernando Acero

Tras la muerte súbita de mi anterior ordenador, me compré un equipo bastante apañadito y a un precio razonable. Entre el hardware estaba un disco duro SATA de Western Digital, modelo ‎WDC WD5000AADS-0 de 500 Gb, de la serie Caviar Green, que además de ser silencioso, no se calentaba mucho, a pesar de sus 32 Mb de caché y su velocidad de transferencia de 3 Gb/s. Está entre medias de las series Caviar Black de alto rendimiento y la Caviar Blue de andar por casa. Tras unos meses y 499 horas de funcionamiento impecable, el disco ha comenzado a dar problemas...

Aunque la información que proporciona SMART es que el disco está perfectamente, el caso es que de vez en cuando se enciende la luz del disco y el sistema se queda completamente bloqueado durante un tiempo variable, que ronda los dos minutos en este momento y que se ha ido incrementando poco a poco desde unos 20 segundos iniciales. Al parecer, este problema se produce cuando se intenta grabar en el disco archivos de cierto tamaño (superior a 1 Mb).

Por ejemplo, la forma más sencilla de provocar el problema es arrancar el ordenador y bajar el correo diario, en cuanto hay un mensaje con un tamaño superior a 1 Mb aproximadamente, se enciende la luz de actividad del disco, se para la descarga y toca esperar dos minutos, más o menos, a que todo vuelva a la normalidad. El caso es que no soy el único que tiene este problema con este disco, ni es un problema que se produzca solamente a los usuarios de Linux, por lo que tiene toda la pinta de ser algo intrínseco al disco duro:

a) Usuario de Windows 7.
b) Usuario de una HD box de Thomson.
c) Usuario de Arch x86_64..

Pero basta con buscar en Google, para encontrar más usuarios que tienen este mismo problema con este modelo de disco duro.

Lo primero que hice, fue usar el paquete SMART TOOLS, para comprobar el estado del disco mediante un completo test de la unidad. El resultado fue correcto. Después, usé el mandato iotop de Linux para ver si había alguna aplicación que estuviera haciendo un uso intensivo del disco, pero para mi sorpresa, no había ninguna aplicación que estuviera haciendo un uso tan intensivo del disco, como para que el sistema quedase congelado durante dos minutos cada cierto tiempo. La conclusión era que el disco tenía un problema cuando escribía desde el caché, que por cierto, es de gran tamaño (32 Mb). Visto lo visto, he devuelto el disco a la tienda donde lo adquirí para ver lo que me dicen y sigo esperando a que me digan algo. Antes cloné el contenido de ese disco, instalando un Seagate ST3500418AS de 500 Gb, lo supuso una hora y media de espera, usando el milagroso mandato:

dd if=/dev/sda of=/dev/sdb bs=1M

También borré el disco usando una herramienta de borrado seguro, lo volví a formatear y finalmente, eliminé todas las particiones con la herramienta de particionado que viene con Mandriva. Hasta llegar a la conclusión de que era un problema del disco, he hecho de todo, cambiar los puertos, reformateos, reinstalaciones, etc. Daba igual si el disco estaba como primario, o como secundario, en cuanto se escribía algo que tuviera aproximadamente 1 Mb de tamaño, el sistema se quedaba congelado y cada vez tardaba más tiempo en descongelarse. Otro dato, tras copiar bit a bit el contenido del Western Digital en el Seagate, este último no mostraba ningún problema, lo que asegura que el fallo no se debía a una mala configuración del software, o de la BIOS. Por cierto, el disco ni el disco de Seagate ni el Western Digital, aparecen en la base de datos de SMART TOOLS, por lo que veré la forma colaborar con el proyecto para solucionar esa carencia.

Con independencia de lo anterior, e investigando sobre los posibles problemas de este disco, recordé la polémica surgida, allá por el 2007, en torno al agresivo sistema de aparcado de cabezas que usaban los discos de Western Digital y tras revisar algunas cosas, me temo que sigue vigente en la actualidad. Aunque me sorprende la poca información que hay sobre el tema.

De hecho, este disco, a sus 499 horas de funcionamiento y tras usar el mandato smartctl -a /dev/sda, ya mostraba en el parámetro SMART 193 Load_Cycle_Count un nada despreciable valor de 48.771, lo que implica que las cabezas de esta unidad se han aparcado una media de 98 veces cada hora. También es cierto, que SMART sigue dando al contador de este parámetro el valor /183, que es su valor máximo, lo que implica que SMART TOOLS no considera que tan elevado número de ciclos de aparcamiento de los cabezales sea un problema por el momento.

Sin embargo, el fabricante cifra en unos 300.000, los ciclos de carga/descarga en su documentación técnica, lo que implicaría, que de seguir a este ritmo, a este disco le quedarían unas 3.118 horas de funcionamiento, que es muy poco, si lo comparamos con las increíbles 15.495 horas que ya llevan los dos discos duros Seagate Barracuda de 7.200 rpm y 40 Gb, de mi anterior ordenador y que todavía están plenamente operativos en este nuevo ordenador, como unidades de respaldo.

Idéntico problema lo tiene el disco duro de mi ordenador portátil Packard Bell, que a sus 966 horas de funcionamiento, ya muestra un Load_Cycle_Count de 64.347, o lo que es lo mismo, una media de 67 aparcamientos de cabeza por cada hora de funcionamiento, lo que también es un valor muy alto. Por lo que a la vista de estos valores y los datos que proporciona el fabricante en su documentación técnica, la situación es más que preocupante si quiero que los discos me duren algo más de 1 año. Haciendo una simple estimación, las cabezas de mis dos discos duros WD se aparcan cada 10 segundos, más o menos, por lo que es necesario reducir de forma considerable este ratio, si quiero que mis discos duren un tiempo razonable.

Pero hay que tener en cuenta dos cosas, si se aumenta el tiempo entre los aparcamientos de las cabezas:

a) El disco consumirá más, lo que es un problema para un portátil.
b) El disco estará menos protegido ante un golpe en funcionamiento al estar las cabezas sin aparcar, lo que es un problema para un portátil.

Teniendo en cuenta estas cosas, me puse a buscar. El fabricante proporciona un procedimiento para regular este comportamiento de ahorro de energía para los usuarios de MAC y de Windows, pero no hay nada para los usuarios de Linux. Allá en el año 2007, Western Digital, lanzó un programa, para ejecutar desde el MS-DOS, que permite desactivar la gestión de energía, pero tengo la duda de que funcione con este disco duro tan moderno y temo que incluso pudiera dañarlo. En todo caso, para usarlo desde Linux, no habría más remedio que recurrir a una imagen de FreeDOS, que habría que modificarla mediante ISO Master, para introducir el programa wdidle3.exe en el directorio raíz y luego grabarla como CD de arranque. La sintaxis de WWIDLE3 es:

WDIDLE3 Version 1.00
Copyright (C) 2005-2008 Western Digital Corp.
Configure Idle3.
Using DT32.LIB version 09A

Syntax:
WDIDLE3 [/S[]] [/D] [/R] [/?]
where:
/S[] Set timer, units in 100 milliseconds (1 to 255). Default=80.
/D Disable timer.
/R Report current timer.
/? This help info.

Si somos usuarios de Linux, lo primero que tenemos que probar es el mandato hdparm (nota: el dispositivo debe ser el adecuado a nuestro sistema, en mi caso es /dev/sda, pero depende de la configuración y del tipo de disco duro que estemos usando, lo que debemos tener en cuenta para el resto de los mandatos de este artículo), por ejemplo con mi serial ATA como master, yo he usado el mandato:

hdparm -B 255 /dev/sda

Este mandato, desactiva la gestión de energía de nuestro disco duro y por lo tanto, impide que se aparquen las cabezas. Lo que está bien, cuando el ordenador está alimentado a través de la red eléctrica (por ejemplo, un ordenador de sobremesa o un portátil conectado a la red eléctrica) y en un sitio estable, sin riesgos de golpes y vibraciones.

Valores intermedios, permitirán controlar el tiempo entre aparcamientos de las cabezas, lo que será más adecuado cuando el ordenador es un portátil y está alimentado por baterías. El parámetro -B de hdparm permite configurar las capacidades avanzadas de gestión de energía del disco, si es que el disco soporta esta característica. Un valor bajo, implica una gestión de energía más agresiva y un valor elevado, implica unas mejores prestaciones, con un mayor consumo y un mayor riesgo en caso de golpes o vibraciones. Los valores entre 1 y 127 permiten "spin down" y los valores entre 128 y 254 no lo permiten. El valor de 255 desactiva el sistema avanzado de gestión de energía, pero hay que saber que aunque hay discos que aunque soportan la variación del valor del parámetro -B, no permiten desactivar la gestión avanzada de energía. También hay que señalar, que este mandato se ha de utilizar siempre que se arranque el sistema ya que el disco no lo recuerda de un arranque para otro.

Desgraciadamente, este mandato que funciona perfectamente con el disco duro de mi portátil, cuando intento usarlo con el disco duro del ordenador de sobremesa, me aparece lo siguiente:

hdparm -B 255 /dev/sda
/dev/sda:
setting Advanced Power Management level to disabled
HDIO_DRIVE_CMD failed: Input/output error
APM_level = not supported

Es decir, que no funciona. La realidad es que este disco duro no acepta ningún valor para el parámetro -B. A la vista de este problema, alguien propuso en cierto momento, con toda su buena intención, usar un script algo "salvaje" para reducir, o evitar, las entradas el disco en modo de ahorro de energía y con ello, los excesivos aparcamientos de las cabezas:

#!/bin/bash
while /bin/true
do
/bin/sleep 6
echo a > /tmp/a
/bin/sync;/bin/sync;/bin/sync
done

Aunque el script funciona, yo le veo varios problemas muy graves:

a) Escribe siempre en la misma posición del disco cada 6 segundos, lo que puede acabar dañando el disco. Dicho de otro modo, el remedio puede ser peor que la enfermedad.
b) Entorpece de forma sensible el funcionamiento de los algoritmos de optimización del disco.
c) El mandato sync ya no está disponible en muchas distribuciones Linux, en su lugar, hay que usar hdparm -F /dev/sda.

Por lo tanto, en su lugar, yo propongo instalar el paquete SMART TOOLS y usar este otro script, que es mucho menos agresivo que el anterior:

#!/bin/bash
while /bin/true
do
/bin/sleep 7
smartctl -a /dev/sda
done

A diferencia del anterior, este script no escribe en el disco y en teoría, tampoco mueve las cabezas, puesto que solamente accede a la memoria cada 7 segundos para consultar la base de datos SMART, lo que impide que el disco entre en el modo de bajo consumo y aparque las cabezas, sin poner en riesgo su integridad física o afectando
negativamente a los algoritmos de optimización de las lecturas o escrituras.

La temporización del script se puede ajustar a gusto del consumidor, modificando el valor 7 por otro que se considere más adecuado, recordando que por defecto las cabezas se aparcarán cada 8 o 10 segundos, así que si ponemos 11, lo que provocaremos con casi toda probabilidad, es un aumento considerable en los ciclos de aparcamiento y desaparcamiento, que es lo que queremos evitar.

Veamos ahora la forma en la que un escript puede ejecutarse en el arranque del ordenador, lo que nos puede servir para el mandato hdparm -B XXX /dev/xxx, o para el script propuesto anteriormente, dependiendo de lo que acepte nuestro disco duro.

1) Lo primero que tenemos que saber, es el runlevel en el que se ejecuta nuestro ordenador, para ello, ejecutaremos el mandato runlevel desde una consola con los permisos de root. En mi caso, que uso Mandriva, el runlevel de ejecución gráfica es el N 5.

2) Luego, crearemos el archivo con el script o el mandato en el directorio /etc/init.d, por ejemplo usando vi disco_flush y una vez creado, le daremos permisos de ejecución con le mandato chmod u+x /etc/init.d/disco_flush.

3) Seguidamente, para que se ejecute en el runlevel 5, iremos al directorio /etc/rc5.d y crearemos un enlace simbólico al script que hemos dejado en /etc/init.d, pero teniendo en cuenta lo que digo a continuación. Como veremos al usar el mandato ls, en ese directorio hay otros enlaces simbólicos a otros tantos scripts. Todos empiezan por S y un número de dos cifras. Hay que buscar un número alto, para que el script se ejecute al final de todos, pero que no esté usado. En mi caso el 96 está libre, por lo que usaré el mandato ln -s /etc/init.d/disco_flush S96disco_flush.

4) Ahora si volvemos a arrancar el sistema, abrimos una consola y usamos el mandato ps aux | grep disco_flush, nos saldrá algo parecido a esto si hemos optado por el script, puesto que si optamos por el mandato, solamente se ejecutaría una vez al arrancar y no se quedaría en modo "demonio":

root 3557 0.0 0.0 3864 1256 ? S 14:02 0:00 sh -c /etc/rc5.d//S96disco_flush start 2>&1
root 3558 0.0 0.0 3872 1264 ? S 14:02 0:00 /bin/bash /etc/rc5.d//S96disco_flush start

Lo anterior nos indica que el script está funcionando en modo demonio y con ello, evitando todo el tiempo que esté encendido nuestro ordenador, que el disco entre en modo de ahorro de energía y que con ello, aparque las cabezas.

Si cada cierto tiempo usamos el mandato smartctl -a /dev/sda desde una consola de root, comprobaremos que el número asociado al parámetro Load_Cycle_Count, no aumenta, o que se ha reducido la velocidad con la que aumenta y de paso, hemos mejorado algo las prestaciones del disco duro.

Espero que esto sea de utilidad y logre salvar algún que otro disco duro de una muerte prematura. He de decir, que este procedimiento es el que estoy usando yo actualmente, aunque no doy ninguna garantía, ni me hago responsable, de posibles daños que se pudieran producir en el disco duro.

"Copyleft 2010 Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved"

Etiquetas

Comentarios

Selecciona arriba tu forma preferida de visualizar los comentarios y pulsa el botón para guardar tu elección para próximas visitas (sólo si eres usuario registrado).

Como digo en el título, impecable el desarrollo y la explicación, que sin duda nos será de gran ayuda a muchos.

Yo por supuesto lo voy a poner en práctica, que aunque afortunadamente no aprecio signos de mal funcionamiento en los discos duros de mi sistema, me va a servir para conocer el estado de estos y hacer un diagnóstico sobre "la salud" de los mismos.

Lo dicho, muchas gracias por el artículo.

Gracias por toda la chicha; hace poco compré un DD de 500GB (un Jiujitsu o algo así) y me viene saber su salud. Bueno, el de ése y el de otros discos que tengo... pensaba (intentar) venderte uno o dos que tengo por ahí pero como dicen, cuanto más backups haya, mejor.

Pienso que están bajando la calidad de los componentes para vender más barato, y encima quieren quitarse de en medio algunas piezas que les puedan sobrar o no estén del todo probadas porque todo tiende a discos SSD... Al final, quien paga el pato es el ser humano medio que paga 4 jeuros por sopotocientos TBs...

Lo del sync tiene fácil arreglo porque aunque no lo instalen por defecto (narices tiene la cosa) se puede añadir en cualquier momento... a no ser que sea una distro tan cafre como para no incluirlo. De todas formas, cada vez se vuelve más prescindible ya que van mejorando los FS.

Veo que tiene Ud. Mandriva así que posiblemente le acabe friendo a preguntas del estilo '¿le funciona a Ud. la extensión para Firefox de pregunta del PIN para el DNIe?' llegado el momento.

Este espacio se ha dejado intencionadamente en blanco

Soy usuario de Mandriva 2010 en el servidor y de la 2008.1 en el ordenador portátil. En este momento no dispongo de DNIe y he de decir, que con mi certificado de la FMTm, con su límite de 100 euros para operaciones entre particulares, estoy bastante conforme, por lo que no tengo mucha prisa en obtener un DNIe.

El caso es que hay personas que han logrado hacer funcionar el DNIe con Mandriva 2010 haciendo algunas "trampas":

DNIe en Mandriva 2010

Sigo pensando que es una pena que no se amplíen las distribuciones soportadas, al menos, a las comerciales más comunes y sobre todo, a alguna que disponga de certificación EAL.

Un saludo, Fernando Acero

"Copyleft 2010 Fernando Acero Martí­n. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved".

Lo que tienen que hacer no es soportar más distribuciones sino donar los fuentes del controlador del DNIe al proyecto opensc. De esa forma pueden olvidarse de tener que mantener ninguna distribución porque ya se encargarán los empaquetadores de eso.

Me parece ridículo que un software necesario para acceder a un documento así tenga licencia comercial (eso es lo que dice el paquete opensc-dnie) Y para colmo, que para poder usarlo haya que tener una versión de software que se ha dejado de usar por ser obsoleta y por tener problemas de seguridad.

Yo no se cómo no se ha dedicado nadie a hacer ingeniería inversa del famoso driver y así olvidarnos del controlador binario.

Alejandro Nestor Vargas

Esto es tema para un post diferente, pero te contesto.

El problema con Mandriva, y en general con cualquier distribución que tenga software actualizado, es que para usar el DNIe hace falta instalar un controlador de tarjetas específico, el cual viene compilado para una versión vieja de opensc.

La solución básica es instalar la versión vieja de opensc, lo cual entra en conflicto con varias cosas, como por ejemplo el módulo criptográfico para Firefox que viene compilado con la versión nueva. Yo lo logré hacer funcinar instalando la versión vieja. De hecho estaba preparando un paquete para Mandriva pero apenas vino una actualización de opensc (necesaria por problemas de seguridad) se armó un lío así que suspendí el proyecto hasta buscar una solución mejor.

Justamente en estos días había estado mirando el asunto y he preguntado a la lista de opensc si hay alguna solución para forzar la carga del controlador viejo o hacer un warpper para poder usarlo.

Alejandro Nestor Vargas

El software no lo liberan alegando problemas de seguridad. En relación con la ingeniería inversa, las políticas de certificación del DNIe dicen, en el apartado 9.6.3 dedicado a las "Obligaciones de los ciudadanos titulares de los certificados":

11º No monitorizar, manipular o realizar actos de “ingeniería inversa” sobre la implantación técnica (hardware y software) de los servicios de certificación, sin permiso previo por escrito de la Autoridad de Certificación.

Está claro que ahora, como están las cosas, y habiendo pasado la fecha límite del 1 de enero de 2010, no se está cumpliendo con la Ley 11/2007 de Acceso Electrónico de los Ciudadanos a las Administraciones Públicas. Está claro que la mejor forma de garantizar el soporte del DNIe en todas las plataformas es liberando el software.

Un saludo, Fernando Acero

"Copyleft 2010 Fernando Acero Martí­n. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved".

Ayer revisé todos los programas que tengo instalados en el sistema para comprobar si el demonio les afectaba y he descubierto que con el demonio activado no funciona el sonido del juego "Enemy Territory". Al igual que el "Enemy Territory" es posible que tampoco funcione el sonido en otros juegos que utilicen el mismo motor, como "Doom" o similares. Todavía no conozco el motivo de este problema.

He de aclarar que el script es una solución extrema para un problema extremo, que puede provocar la destrucción de nuestro disco duro.

En base a lo anterior, he estado pensando en el demonio smartd, que también accede al disco cada cierto tiempo y evidentemente, si su tiempo de acceso es superior a los 9 o 10 segundos, puede que estemos aumentando la cuenta de los ciclos de aparcamiento de las cabezas de forma innecesaria, así que recomiendo desactivarlo, si la BIOS del sistema soporta SMART.

El nuevo disco de Seagate tampoco acepta el mandato hdparm -B XXX /dev/sda, lo que es un problema y en este momento estoy a ciegas. El disco Seagate ST3500418AS que tengo instalado en este momento, no muestra entre sus parámetros Load_Cycle_Count cuando uso la la utilidad smartctl, ni la documentación del mismo muestra ningún valor al respecto, así que podemos pensar ojos que no ven, corazón que no siente.

Esta es la 12 generación de unos discos, que en mi ordenador anterior han funcionado más de 15.400 horas y que siguen operativos, aunque también es cierto, que los sistemas de gestión de energía, que son la fuente de este problema, son más agresivos con cada versión de disco.

Como se puede ver en el listado de parámetros SMART que hay a continuación, el disco muestra algunos parámetros como "no conocidos", que creo que se corresponden con los siguientes valores, que además, se relacionan bastante bien con los datos raw que muestra en este momento el disco:

183 SATA Downshift Error Count
184 End to End Error Det/Corr Count
188 Command Time Out
241 Total LBAs written
242 Total LBAs read

El disco muestra solamente los siguientes datos SMART:

smartctl version 5.38 [i586-mandriva-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Device Model: ST3500418AS
Serial Number: 9VM77B3L
Firmware Version: CC38
User Capacity: 500,107,862,016 bytes
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 8
ATA Standard is: ATA-8-ACS revision 4
Local Time is: Wed Mar 3 09:09:50 2010 CET
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

General SMART Values:
Offline data collection status: (0x82) Offline data collection activity
was completed without error.
Auto Offline Data Collection: Enabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 600) seconds.
Offline data collection
capabilities: (0x7b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 87) minutes.
Conveyance self-test routine
recommended polling time: ( 2) minutes.
SCT capabilities: (0x103f) SCT Status supported.
SCT Feature Control supported.
SCT Data Table supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 120 100 006 Pre-fail Always - 238268177
3 Spin_Up_Time 0x0003 097 097 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 104
5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 0
7 Seek_Error_Rate 0x000f 100 253 030 Pre-fail Always - 650082
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 55
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 52
183 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0
184 Unknown_Attribute 0x0032 100 100 099 Old_age Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
188 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0
189 High_Fly_Writes 0x003a 100 100 000 Old_age Always - 0
190 Airflow_Temperature_Cel 0x0022 073 060 045 Old_age Always - 27 (Lifetime Min/Max 20/27)
194 Temperature_Celsius 0x0022 027 040 000 Old_age Always - 27 (0 19 0 0)
195 Hardware_ECC_Recovered 0x001a 043 041 000 Old_age Always - 238268177
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
240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 14967961026749
241 Unknown_Attribute 0x0000 100 253 000 Old_age Offline - 983802827
242 Unknown_Attribute 0x0000 100 253 000 Old_age Offline - 132579917

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% 52 -

SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Ya he enviado a la lista de correo de Smart Tools los datos de este disco para su inclusión en la lista de dispositivos soportados.

"Copyleft 2010 Fernando Acero Martí­n. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved".

La versión 5.39.1 de Smart Monitoring Tools (SMART TOOLS) ya soporta el disco Seagate Barracuda 7200.12 family ST3500418AS.

Los parámetros que usa, con excepción del 183, son los mismos que indicaba yo en mi mensaje anterior.

183 SATA Downshift Error Count / -> Runtime_Bad_Block
184 End to End Error Det/Corr Count
188 Command Time Out
241 Total LBAs written
242 Total LBAs read

smartctl -a /dev/sda
smartctl 5.39.1 2010-01-28 r3054 [i686-pc-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Model Family: Seagate Barracuda 7200.12 family
Device Model: ST3500418AS
Serial Number: 9VM77B3L
Firmware Version: CC38
User Capacity: 500,107,862,016 bytes
Device is: In smartctl database [for details use: -P show]
ATA Version is: 8
ATA Standard is: ATA-8-ACS revision 4
Local Time is: Thu Mar 4 11:05:12 2010 CET
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

General SMART Values:
Offline data collection status: (0x82) Offline data collection activity
was completed without error.
Auto Offline Data Collection: Enabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 600) seconds.
Offline data collection
capabilities: (0x7b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 87) minutes.
Conveyance self-test routine
recommended polling time: ( 2) minutes.
SCT capabilities: (0x103f) SCT Status supported.
SCT Feature Control supported.
SCT Data Table supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 111 100 006 Pre-fail Always - 38884618
3 Spin_Up_Time 0x0003 098 097 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 118
5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 0
7 Seek_Error_Rate 0x000f 100 253 030 Pre-fail Always - 844421
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 71
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 59
183 Runtime_Bad_Block 0x0032 100 100 000 Old_age Always - 0
184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
188 Command_Timeout 0x0032 100 100 000 Old_age Always - 0
189 High_Fly_Writes 0x003a 100 100 000 Old_age Always - 0
190 Airflow_Temperature_Cel 0x0022 065 060 045 Old_age Always - 35 (Lifetime Min/Max 20/35)
194 Temperature_Celsius 0x0022 035 040 000 Old_age Always - 35 (0 19 0 0)
195 Hardware_ECC_Recovered 0x001a 042 039 000 Old_age Always - 38884618
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
240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 102984725823711
241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline - 992210365
242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline - 214832066

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 Extended offline Completed without error 00% 61 -
# 2 Short offline Completed without error 00% 59 -
# 3 Short offline Completed without error 00% 52 -

SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Un saludo, Fernando Acero

"Copyleft 2010 Fernando Acero Martí­n. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved".

Hola Fernando,

En la parte de soporte del site de WD han colgado este artículo:

In Linux the S.M.A.R.T Attribute 193 Load/Unload counter keeps increasing on a SATA 2 hard drive

En el mismo recomiendan reducir la actividad de Linux para disminuír los ciclos de carga. También mencionan que los discos han sido validados para 1 millón de ciclos. Aparentemente la cifra de 300.000 ciclos es el mínimo a alcanzar para que haya alguna posibilidad que éstos afecten de alguna manera al disco.

Revisando tu nota y tus comentarios actualizados, no me deja muy tranquilo la solución de "machacar" al disco para que no se duerma. No es algo que aplicaría si el sistema fuese mío.

El comando "hdparm -B 255 /dev/sda" que mencionas tiene el efecto de eliminar toda la gestión automática de energía del disco, con lo que se puede sobrecalentar, por lo que tampoco lo veo como una solución muy recomendable.

Prueba instalando los "laptop-mode-tools" y configura en /etc/default/acpi-support el parámetro:
ENABLE_LAPTOP_MODE=true
Luego en /etc/laptop-mode/laptop-mode.conf los parámetros:
CONTROL_HD_POWERMGMT=1
CONTROL_HD_IDLE_TIMEOUT=1

El primero de ellos es el "importante", que se supone controla el modo "Idle3" de los discos "green". También deberás configurar a tu gusto los parámetros de timeout.

Estas instrucciones son para sistemas basados en Debian. Entiendo que tú utlizas Mandriva, por lo que deberás adecuarlas a las particularidades de éste. Lamentablemente Mandriva me ha desilusionado después de menos de 6 meses de uso, por lo que ya no lo tengo en mi sistema.

Suerte!

Un cordial saludo,
Andy

Hola Andy:

Para poder utilizar las laptop-mode-tools, es necesario que el disco duro acepte instrucciones mediante hdparm, tal como se explica en su archivo de configuración. Ni el disco de WD ni el actual de Seagate, aceptan los mandatos hdparm -B.

# If this is enabled, laptop mode tools will assume that SCSI drives are
# really SATA drives that only _look_ like SCSI drives, and will use hdparm
# to control them. Set this to 0 if you have /dev/sd devices and you want
# laptop mode tools to use the "sdparm" command to control them.

Como te comenté, mi solución es para casos extremos.

Un saludo, Fernando Acero

"Copyleft 2010 Fernando Acero Martí­n. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved".

Patrocinadores

Cómo patrocinar

Kriptópolis alojado en
Zilos-Veloxia Network 

Tu mejor defensa
Bufet Almeida

Test de Intrusión Online:
Security Guardian

Correo Seguro:
ClaveMail

Web Hosting:
Duplika