33.4. Detención del disco duro

En Linux, es posible poner completamente en reposo el disco duro cuando no se necesita o hacer que funcione en modo silencioso o de ahorro de energía. En los equipos portátiles modernos, no es necesario desactivar manualmente los discos duros, ya que éstos adoptan por sí mismos el modo de ahorro de energía cuando no se necesitan. Sin embargo, si desea ahorrar el máximo de energía, puede probar algunos de los siguientes métodos. Casi todas las funciones se controlan con powersaved y el módulo de gestión de energía de YaST, que se describe con mayor profundidad en la Sección 33.6, “Módulo de gestión de energía de YaST”.

La aplicación hdparm se utiliza para modificar los distintos ajustes del disco duro. La opción -y hace que el disco duro pase inmediatamente al modo stand-by, mientras que -Y lo pone en reposo. La opción hdparm -S x hace que el disco duro se apague tras un determinado período de inactividad. Puede asignar los siguientes valores a x: 0 apaga el mecanismo, por lo que el disco duro sigue ejecutándose continuamente. Los valores entre 1 y 240 se multiplican por 5 segundos. Los valores entre 241 y 251 se corresponden con 30 minutos entre 1 y 11 veces.

Las posibilidades internas de ahorro de energía del disco duro se controlan mediante la opción -B. Seleccione un valor entre 0 y 255: el mayor ahorro de energía es el 0 y el rendimiento máximo es el 255. El resultado dependerá del disco duro que se use y es difícil de evaluar. Para que el disco duro sea más silencioso, use la opción -M. Seleccione un valor entre 128 y 254 para definir un estado entre silencioso (128) y rápido (254).

Sin embargo, a menudo no es fácil poner en reposo el disco duro, puesto que Linux cuenta con numerosos procesos que escriben datos en él, por lo que lo activan constantemente. En consecuencia, es importante conocer la forma en que Linux gestiona los datos que deben escribirse en el disco duro. En primer lugar, todos los datos se almacenan en un buffer en la memoria RAM. El daemon de actualización del núcleo (kupdated) se encarga de monitorizar este buffer. Cuando los datos alcancen una determinada antigüedad o cuando el buffer esté lleno hasta un nivel concreto, los datos se pasarán al disco duro. El tamaño del buffer es dinámico y depende del tamaño de la memoria y de la carga del sistema. Por defecto, kupdated está configurado para funcionar a pequeños intervalos y conseguir así la mayor integridad de datos posible. Comprueba el buffer cada 5 segundos e informa al daemon bdflush si hay datos cuya antigüedad sea superior a los 30 segundos o si el buffer ha alcanzado un nivel de llenado del 30%. Entonces, el daemon bdflush escribe los datos en el disco duro, aunque también lo hace independientemente de kupdated si, por ejemplo, el buffer está lleno.

[Warning]Problemas con la integridad de los datos

Hacer cambios en los ajustes del daemon de actualización del núcleo puede poner en peligro la integridad de los datos.

Además de estos procesos, los sistemas de archivos llamados "journaling", como ReiserFS y Ext3, escriben sus metadatos en el disco duro con independencia de bdflush, lo cual también impide que el disco duro quede inactivo. Para evitarlo, se ha desarrollado una ampliación del núcleo específica para dispositivos móviles. Consulte /usr/src/linux/Documentation/laptop-mode.txt para obtener más información.

Otro elemento importante es la forma en que se comportan los programas activos. Por ejemplo, los editores de texto de calidad escriben periódicamente en el disco duro copias de seguridad del archivo que se esté modificando, lo que hace que el disco se reactive. Estas funciones se pueden desactivar, aunque ello va en detrimento de la integridad de los datos.

En este contexto, el daemon de correo postfix utiliza la variable POSTFIX_LAPTOP. Si esta variable está definida como yes (sí), postfix accederá al disco duro con menor frecuencia. No obstante, este hecho carece de importancia si el intervalo de kupdated se ha aumentado.