You are on page 1of 7

Lo hice y lo entend | Linux no mata discos duros, se mueren solos

http://www.vicente-navarro.com/blog/2007/10/28/linux-no-mata-disco...

Lo hice y lo entend
El blog de Vicente Navarro

Linux no mata discos duros, se mueren solos


Me encuentro en Kriptpolis y en Barrapunto lo que parece el noticin geek del ao: Configuracin errnea de Ubuntu podra acortar la vida del disco duro de los porttiles Ubuntu podra acortar la vida del disco duro de los porttiles

Pues qu malo que es el Ubuntu ese, no? Pues a m no me lo parece, la verdad. A m me parece que los fabricantes de discos duros nos estn vendiendo productos artificialmente poco duraderos. Vayamos por partes.

Resulta que hay una tecnologa de fabricacin de discos duros llamada de Load/Unload (Un Whitepaper muy aconsejable en PDF sobre el tema: Ramp : Ramp Load/Unload Technology in Hard Disk Driver, encontrado en Broken HDDs) cada vez ms extendida, sobre todo en discos duros de porttil. Consiste en que el cabezal de lectura/escritura, en vez de estar permanentemente volando sobre el disco, se aparca frecuentemente, lo que tericamente permite una mayor duracin del disco, menor consumo y mayor proteccin contra golpes.

1 de 7

18/03/11 22:34

Lo hice y lo entend | Linux no mata discos duros, se mueren solos

http://www.vicente-navarro.com/blog/2007/10/28/linux-no-mata-disco...

Sin embargo, no se puede aparcar la cabeza un nmero indefinido de veces, sino que estos discos estn preparados para un nmero mximo de ciclos de carga/descarga del cabezal que segn el disco en cuestin puede ser de orden de 300K o 600K ciclos (K=1000). No es que justo cuando se llegue a ese nmero el disco va a dejar de funcionar de repente, sino que a partir de ah el fabricante ya considera que puede dejar de hacerlo en cualquier momento. Paul nos cuenta que en varios de sus discos ha llegado a 600K, 900K y 1200K ciclos de carga/descarga antes de que empezaran a dar problemas. Pero eso slo en un ao!

Yo me interes por el problema nada ms leer sobre l porque el disco de 2.5 de marca Western Digital que tengo conectado a la EPIA EX10000EG (apareci de pasada en la entrada Sobre las VIA EPIA (V) ) haca clicks muy frecuentemente. Lo notaba mucho porque cuando el disco se quedaba idle durante unos segundos, al volver al trabajajo casi siempre haca un click que me disgustaba mucho pero que pensaba que sera normal (es un disco nuevo y tras varios tests no haba encontrado ningn error). Ahora s que cada vez que se oye uno de esos clicks lo ms normal es que sea el cabezal en un ciclo de carga/descarga.

2 de 7

18/03/11 22:34

Lo hice y lo entend | Linux no mata discos duros, se mueren solos

http://www.vicente-navarro.com/blog/2007/10/28/linux-no-mata-disco...

Pues bien, resulta que consultando los parmetros S.M.A.R.T. del disco con el comando con que el disco ya ha usado 7755 ciclos:
# smartctl -a /dev/hdc | egrep 'ID|Load_Cycle' ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE 193 Load_Cycle_Count 0x0032 198 198 000 Old_age UPDATED Always WHEN_FAILED RAW_VALUE 7755

smartctl,

me encuentro

Y no pensis que esta mquina se tira encendida semanas y semanas, no!. Para llegar a ese nmero de ciclos, ese disco slo ha pasado por una instalacin de Debian y por todas las pruebas que le hice a la EX10000EG, incluyendo varios ratos de reproduccin de vdeo. Por tanto, que haya consumido ya 7755 ciclos, que podra ser alrededor del 3% de los que el fabricante permite antes de que el disco sea declarado como envejecido, es una autntica barbaridad.

En unas pruebas rpidas he podido ver que el nmero de ciclos crece muy rpidamente en pocos minutos y sin apenas usar la mquina:
Sun 193 Sun 193 Sun 193 198 198 198 198 198 198 Oct 28 02:11:51 CEST 2007 Load_Cycle_Count 0x0032 Oct 28 02:15:51 CEST 2007 Load_Cycle_Count 0x0032 Oct 28 02:16:28 CEST 2007 0x0032 Load_Cycle_Count 000 000 000 Old_age Old_age Old_age Always Always Always 7744 7753 7754 -B

Como se comenta en los enlaces que hablan del problema, con el comando hdparm nivel de gestin de energa que ha de tener el disco (usando APM):
# man hdparm [...] -B

podemos modicar el

Set Advanced Power Management feature, if the drive supports it. A low value means aggressive power management and a high value means better performance. A value of 255 will disable apm on the drive.

[...]

Podemos reducirlo al mximo:


# hdparm -B 254 /dev/hdc

3 de 7

18/03/11 22:34

Lo hice y lo entend | Linux no mata discos duros, se mueren solos


/dev/hdc: setting Advanced Power Management level to 0xFE (254)

http://www.vicente-navarro.com/blog/2007/10/28/linux-no-mata-disco...

O incluso deshabilitarlo:
# hdparm -B 255 /dev/hdc /dev/hdc: setting Advanced Power Management level to disabled

El caso es que tras hacer lo ltimo, el valor de Load_Cycle_Count en la salida del smartctl ya no crece ms que en una unidad cuando arranco, as que me lo he puesto en el fichero /etc/rc.local, para que se ejecute siempre durante el arranque. Los clicks tambin han desaparecido, as que todo es mucho mejor ahora.

Y es que en este sistema, aunque le puse un disco de 2.5 para que no consumiera mucho porque la fuente es tan slo de 60W, tampoco necesito que sea muy estricto en materia de ahorro de energa como si se tratara, por ejemplo, de un porttil trabajando con bateras, y prefiero evitar un envejecimiento prematuro del disco.

El problema con Ubuntu, el que ha creado toda esta alarma, es que en modo laptop , que no est habilitado por defecto, el fichero /etc/acpi/power.sh configura el disco para que ahorre energa de la forma ms agresiva posible, con -B 1, haciendo que el disco tenga muchos ms ciclos de carga y descarga y muchos ms clicks:
function laptop_mode_enable { ... $HDPARM -S $SPINDOWN_TIME /dev/$drive 2>/dev/null $HDPARM -B 1 /dev/$drive 2>/dev/null }

En un bug report del problema que ya tiene bastantes meses, alguien ha probado con distintos valores de
-B -B -B -B -B 128 160 180 196 200 -> -> -> -> -> 23 cycles in 10 minutes 29 in 10' 0 in 10' 0 in 10' 0 in 10'

-B:

Se ha generado alarma por Ubuntu e incluso en algunas otras distribuciones pero, en realidad, hay firmwares y
4 de 7

18/03/11 22:34

Lo hice y lo entend | Linux no mata discos duros, se mueren solos

http://www.vicente-navarro.com/blog/2007/10/28/linux-no-mata-disco...

BIOS que ya activan modos APM agresivos durante el arranque, como leemos en Problem with hard drive clicking, y como me ha pasado a m mismo, que estaba sufriendo el problema con una Debian que no toca absolutamente nada de los parmetros del disco.

Y el problema no pasa en Windows? Pues yo no tengo ningn disco que haga clicks y que tenga Windows para probar si tras un rato de funcionamiento el valor de Load_Cycle_Count crece, pero yo esperara que s, ya que Windows suele optimizar bastante bien el consumo de energa en porttiles (los fabricantes de los mismos en realidad lo prueban todo en Windows).

S que puede ocurrir que en Linux los ciclos de carga y descarga ocurran mucho ms a menudo, porque en Linux el kernel y los procesos se dedican a escribir muy frecuentemente en disco, siendo los periodos en los que el disco est idle mnimos. Cualquiera que haya intentado que un disco duro se quede parado tras un periodo de inactividad del sistema en Linux, se habr dado cuenta de que no es una tarea fcil: sync: why disk cannot spin down Linux Hard Disk Spin-Down HOWTO HDD spindown small server

Pero para m, me parece que lo ms importante a recalcar es que en raz, esto no es un problema de ningn sistema operativo, ni de ninguna distribucin : ni Ubuntu, ni Debian, ni Fedora, ni Windows. No perdamos de vista que esto es un problema generado artificialmente por los fabricantes de discos duros que hacen su hardware con absurdas limitaciones.

Y, por cierto, no olvidemos que este es un problema slo de los discos que se fabrican con esta tecnologa de load/unload , a los que tambin podramos llamar click-powered hard disks. En otros discos, dicho contador ni se estrena:
# smartctl -a /dev/sdb | egrep 'ID|Load_Cycle' ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE Old_age 193 Load_Cycle_Count 0x0032 253 253 000 UPDATED Always -M WHEN_FAILED RAW_VALUE 0

Una curiosidad para acabar: Sabas que con la opcin hacer menos ruido?

del

hdparm

puedes configurar tu disco para que intente

5 de 7

18/03/11 22:34

Lo hice y lo entend | Linux no mata discos duros, se mueren solos

http://www.vicente-navarro.com/blog/2007/10/28/linux-no-mata-disco...

:wq

Actualizacin 1/1/08: En A vueltas con el hdparm -B en Debian Lenny vuelvo a tratar el tema, enfocndolo esta vez a ver cmo estn tratando el problema los desarrolladores de Debian en Lenny.

Actualizacin 2/5/08: Hace tiempo que est en los comentarios, pero creo que es importante recalcar que en lugar de aadir el comando hdparm -B 254 al fichero /etc/rc.local, es mejor editar el fichero /etc/hdparm.conf y poner algo as (cambiando el fichero de dispositivo y el valor de apm segn nuestras necesidades):
/dev/sda { apm = 254 }

Seguido por el comando:


update-rc.d hdparm defaults

para que el
hdparm

se ejecute durante el arranque.


/etc/init.d/hdparm,

Actualizacin 5/5/08: Parece que en Ubuntu Hardy Heron no hay probablemente siga siendo buena idea usar el /etc/rc.local.

de modo que

Actualizacin 24/5/08: La pgina Bug #59695 High frequency of load/unload cycles on some hard disks may shorten lifetime contiene una excelente explicacin del problema as como una lista de discos duros afectados y del valor de hdparm -B ms conveniente para solucionar el problema en ellos. Me ha gustado especialmente el siguiente prrafo:

The disk Load_Cycle_Count issue appears to be caused by a combination of two problems The rst is overly-aggressive power management from what might be considered buggy hardware. The second is that Ubuntu appears to be touching the hard drive on a regular basis for one reason or another.

ya que afirma claramente lo que yo siempre he defendido en esta entrada: Que esto es un problema de los fabricantes de discos duros. Que se agrava por cmo Linux usa el disco duro, de acuerdo, pero en primer lugar es un problema de cmo los fabrican.

6 de 7

18/03/11 22:34

Lo hice y lo entend | Linux no mata discos duros, se mueren solos

http://www.vicente-navarro.com/blog/2007/10/28/linux-no-mata-disco...

Entradas relacionadas A vueltas con el hdparm -B en Debian Lenny (6) vga=ask y los modos VESA disponibles en el sistema (3) Ubuntu y Debian eliminan ms-sys de sus repositorios (3) sysstat, la coleccin de herramientas de monitorizacin de rendimiento (3) Midiendo el ancho de banda de red con IPerf (y con scp, netcat, wget) (3) La libtrash, la papelera de la lnea de comandos (3)

Esta entrada fue publicada bajo una licencia CC el 28 octubre 2007 a las 11:35 y pertenece a la categora GNU/Linux, Hardware. Etiquetas: APM, clicks, Debian, GNU/Linux, hdparm, SMART, Ubuntu. Puedes seguir las respuestas a travs de RSS. Ya no se pueden dejar comentarios, pero puedes hacer trackback desde tu pgina.

7 de 7

18/03/11 22:34

You might also like