Leyendo una entrada del Blog "Lo hice y lo entendí" me enteré que los fabricantes de discos duros menten una especie de limitación del parking del cabezal de lectura, se ve que cuando se aparca muchas veces el disco deja de ser "fiable".
Con linux podemos configurar este tema gracias a hdparm. Aquí un resumen:
Lo que se quiere hacer es básicamente:
Ahora lo que me encuentro es que al conectar o desconectar el adaptador se ejecuta el script 2 veces, pero bueno.... cosas peores podrían pasar.
Ah! finalmente, tal y como dice el blog de Vicente Navarro, podemos mirar el nº de "parkings" que se ha realizado en el disco duro con:
smartctl -a /dev/sdX | egrep 'ID|Load_Cycle' y fijarse en la columna RAW_VALUE
Todo esto funciona bien excepto en un caso, cuando arranca el ordenador. Al arrancar el portatil enchufado o no, esta en un estado que no cambia, por tanto acpi no salta y deja el disco con valor -B 128, el default de kubuntu. Si queremos que desde el inicio tenga otro valor podemos hacer, como indica Vicente Navarro:
editar el fichero /etc/hdparm.conf y poner algo así:
Con linux podemos configurar este tema gracias a hdparm. Aquí un resumen:
Lo que se quiere hacer es básicamente:
- Reducir el nº de aparcamientos del cabezal, aunque esto nos implique mas consumo: hdparm -B 254 (o 255) /dev/sdX que lo podemos poner en /etc/rc.local para que se ejecute al inicio (o ver al final de la entrada)
- Resulta que leo por algún sitio que el parking del cabezal va bien para evitar que golpes o movimientos bruscos se cargue el disco duro, por tanto, en caso de portátiles, quizás sería adecuado mantener el parking a 128, valor por defecto que me pone kubuntu 11.10. Para ello usamos el demonio ACPID
El servicio de acpi esta a la escucha de eventos ACPI y ejecuta un script. En /etc/acpi/events veo que hay 2 ficheros (ac y battery) que en principio parece que detectan cuando se enchufa el portatil a la corriente y ejecuta el script /etc/acpi/power.sh.
Lo primero que hago es copiar /etc/acpi/power.sh en /etc/acpi/power-bateria.sh y /etc/acpi/power-corriente.sh y modifico los achivos de /etc/acpi/events/ac y battery para que ejecuten estos scripts. Estos scripts los modifico con un echo "bateria" o echo "cable" hacia un archivo en /tmp para ver si se ejecutan correctamente. La sorpresa es que tanto al enchufar o desenchufar el adaptador de corriente al portatil me ejecuta siempre el script de /etc/acpi/power-bateria.sh, ¿porque? ni idea...
Así que deshago todo lo hecho y lo dejo todo como estaba originalmente, es decir /etc/acpi/events/ac y /etc/acpi/events/battery ejecutan el script /etc/acpi/power.sh. Después modifico /etc/acpi/power.sh añadiendo (al principio) lo siguiente:
online=$(cat /proc/acpi/ac_adapter/ACAD/state | grep on)pues lo que si que detecto es que en /proc/acpi/ac_adapter/ACAD/state si que cambia al enchufar o desenchufar el adaptador, por lo que entonces el script modificara los valores del disco según esto.
if [ -z "$online" ]
then
# esta en bateria
hdparm -B 128 /dev/sdX
else
# esta con corriente
hdparm -B 254 /dev/sdX
fi
Ahora lo que me encuentro es que al conectar o desconectar el adaptador se ejecuta el script 2 veces, pero bueno.... cosas peores podrían pasar.
Ah! finalmente, tal y como dice el blog de Vicente Navarro, podemos mirar el nº de "parkings" que se ha realizado en el disco duro con:
smartctl -a /dev/sdX | egrep 'ID|Load_Cycle' y fijarse en la columna RAW_VALUE
Todo esto funciona bien excepto en un caso, cuando arranca el ordenador. Al arrancar el portatil enchufado o no, esta en un estado que no cambia, por tanto acpi no salta y deja el disco con valor -B 128, el default de kubuntu. Si queremos que desde el inicio tenga otro valor podemos hacer, como indica Vicente Navarro:
editar el fichero /etc/hdparm.conf y poner algo así:
/dev/sda {Seguido por el comando:
apm = 254
}
update-rc.d hdparm defaults
Comentarios