En Linux es posible parar el disco duro completamente cuando no se necesita o hacer que funcione en modo silencioso o de ahorro de energía. La desactivación a tiempo parcial de los discos no merece la pena en los portátiles modernos, ya que los discos adoptan por sí mismos el modo de ahorro de energía cuando no se necesitan. Quien desee ahorrar el máximo de energía puede probar alguna de las posibilidades que se describen a continuación. La mayor parte de las prestaciones pueden controlarse con powersaved.
El programa hdparm se utiliza para definir
opciones de configuración en el disco duro. La opción -y pone el disco duro
inmediatamente en modo de reposo, mientras que
-Y (¡cuidado!) lo para completamente. Con
hdparm -S <x> se consigue que
el disco duro se apague tras un determinado período de inactividad. La
posición x posee los siguientes significados:
0 apaga el mecanismo, el disco sigue funcionando; los
valores entre 1 y 240 se multiplican
por 5 segundos; entre 241 y 251
corresponden desde 1 a 11 veces 30 minutos.
Las posibilidades internas de ahorro de energía en el disco se controlan por
medio de la opción -B. Aquí puede seleccionarse desde un
ahorro máximo hasta un rendimiento máximo a través de un número entre
0 y 255. El resultado depende del
disco utilizado y es difícil de juzgar. Para que el disco duro sea más
silencioso puede utilizarse la opción -M. Aquí también se
elige un número entre 128 y 254 para
definir un estado entre silencioso y rápido.
Sin embargo a menudo no es tan sencillo parar el disco duro puesto que existe una gran cantidad de procesos en Linux que escriben datos en el disco y lo reactivan una y otra vez. Por tanto es importante comprender la forma en que Linux trabaja con los datos que se deben escribir en el disco. Primero se envían todos los datos a un búfer que escribe en la memoria de trabajo, el cual es controlado por el “Kernel Update Daemon” (kupdated. Siempre que un dato alcance una determinada antigüedad o el búfer se llena hasta un determinado nivel, el búfer se vacía y se pasan los datos al disco duro. El tamaño del búfer es dinámico y depende del tamaño de la memoria y del sistema. Puesto que la prioridad es la seguridad de los datos, el kupdated funciona a pequeños intervalos de tiempo: prueba el búfer cada 5 segundos e informa al daemon bdflush de qué datos llevan más de 30 segundos en el búfer o si este se encuentra lleno al 30%. Entonces el daemon bdflush escribe los datos en el disco, aunque también lo hace independientemente de kupdated.
![]() | Peligro para la seguridad de los datos |
|---|---|
Las modificaciones en la configuración del Kernel Update Daemon pueden poner en peligro la seguridad de los datos. | |
Además de todo lo anterior, los denominados sistema de archivos
Journaling o transaccionales como por ejemplo reiserfs o ext3,
escriben sus metadatos en el disco duro independientemente de
bdflush, lo cual también impide que el disco duro
quede inactivo. Para evitarlo se ha desarrollado una ampliación del kernel
específica para dispositivos móviles. Esta ampliación se describe en
/usr/src/linux/Documentation/laptop-mode.txt.
Naturalmente también se debe tener en cuenta la forma en que se comportan
los programas que se están utilizando. por ejemplo los buenos editores de
texto escriben con regularidad los archivos modificados en el disco, lo cual
hace que el disco se reactive una y otra vez. Tales propiedades se pueden
desactivar pero esto provoca una disminución en el nivel de seguridad de los
datos. Si desea averiguar qué proceso está escribiendo en el disco en un
momento determinado, puede activar el modo de depuración con el comando
echo 1 >
/proc/sys/vm/block_dump. Esto hace que se registren todas las
actividades del disco en el archivo de registro del sistema. El modo de
depuración se desactiva asignándole en el archivo el valor
0.
En este contexto, el daemon de correo postfix
dispone de una variable llamada POSTFIX_LAPTOP. Cuando
esta variable contiene el valor yes,
postfix accede con mucha menos frecuencia al
disco duro. No obstante, esto carece de importancia si el intervalo de
kupdated ha sido ampliado.