16.4. Parar el disco duro

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.

[Warning]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.


SUSE LINUX Manual de administración 9.3