Echa un vistazo a hdparm
.
Del manual ( man hdparm
en la línea de comando):
-S Establecer el tiempo de espera de espera (spindown) para la unidad. El variador usa este valor para determinar cuánto tiempo esperar (sin actividad del disco) antes de apagar el motor del husillo para ahorrar energía. En tales circunstancias, la unidad puede tardar hasta 30 segundos en responder a un acceso posterior al disco, aunque la mayoría de las unidades son mucho más rápidas.
La codificación del valor de tiempo de espera es algo peculiar. Un valor de cero significa "los tiempos de espera están deshabilitados": el dispositivo no entrará automáticamente en modo de espera. Los valores del 1 al 240 especifican múltiplos de 5 segundos, produciendo tiempos de espera de 5 segundos a 20 minutos. Los valores de 241 a 251 especifican de 1 a 11 unidades de 30 minutos, con tiempos de espera de 30 minutos a 5,5 horas. Un valor de 252 significa un tiempo de espera de 21 minutos. Un valor de 253 establece un período de tiempo de espera definido por el proveedor entre 8 y 12 horas, y el valor 254 está reservado. 255 se interpreta como 21 minutos más 15 segundos. Tenga en cuenta que algunas unidades antiguas pueden tener interpretaciones muy diferentes de estos valores.
Entonces sudo hdparm -I /dev/sdb | grep level
mostrará el valor actual de spindown, por ejemplo:
Advanced power management level: 254
Del manual: 254 está reservado, así que espero que sea el predeterminado de Ubuntu (¿alguien puede confirmar / expandir esto por favor?)
Ejemplo:
sudo hdparm -S 25 /dev/sdb
= spindown después de 25 * 5 segundos.
sudo hdparm -S 245 /dev/sdb
= spindown después (245-240) * 30 minutos.
grep
para APM (-B
parm) pero hablas-S
del spindown. ¿También sabes algo sobre APM?-B
configuración actual se muestra como se indica arriba. ¿Cómo puedo ver la-S
configuración actual ?sudo hdparm -y /dev/sdb
mata a la bestia inmediatamenteUtilidad de disco -> seleccione la unidad de disco duro -> haga clic en el icono "Más acciones ..." en la esquina superior derecha -> Configuración de la unidad ...
El mío es así:
fuente
gnome-disk-utility
.Si está interesado en hacer que la configuración de hdparm sea persistente entre reinicios, en lugar de agregarla al crontab, puede usar el
/etc/hdparm.conf
. Tengo lo siguiente, tenga en cuenta el uso de S mayúscula, no minúsculas:Agregue esa línea reemplazando el UUID por el suyo, o también puede especificar el dispositivo usando el
/dev/sdX
formato. Puede averiguar el UUID de su disco con el comandosudo blkid
.fuente
command_line
hoy en día? Tengo diferentes ejemplos en mi/etc/hdparm
?Encuentra el UUID de tu disco .
Editar
/etc/hdparm.conf
Busque
spindown-time
o la sección de configuración de su disco.Prefiero referirme al disco por UUID, que permanece igual en diferentes instalaciones (a menos que lo cambie en el propio HW).
Si el script de inicio provoca problemas de arranque, puede pasar
nohdparm
la línea de comando del kernel y el script no se ejecutará.fuente
man hdparm.conf
.man hdparm.conf
lee indirectamente que el valor se pasa a-S
por lo tanto para valores <255 debe ser compatible con la regla en la respuesta superior . Cualquier información adicional es bienvenida.Después de pasar horas y horas descubrí que mi unidad WDC no admite el comando hdparm -S, sin importar el valor del atributo idle3 (google: idle3ctl). Y ese es un problema común con las unidades WD. Pero me complace anunciar que hd-idle ( http://hd-idle.sourceforge.net/ ) funciona a la perfección. Si se instala desde el paquete dpkg-builded (vea las Notas de instalación), crea un demonio en ubuntu y debian (la configuración está en / etc / default / hd-idle). Funciona bien después de salir de la hibernación también.
fuente
Descubrí que el comportamiento spindown de Samsung HD204UI depende del nivel de APM (
hdparm -B
). Si el nivel de APM es 127, el tiempo de espera de spindown es de 10 s. Si el nivel de APM es 150, la opción define el tiempo de espera de spindown-S
.fuente
-S
opción (consulte Cómo determinar el tiempo de spindown del disco ). Para obtenerlo, use el software GUI "Disco". Vea la otra respuesta con la captura de pantalla.Añado algo como:
al crontab de root. Creo que usar uuid es mejor porque
sda
/sdb
etc. parece cambiar con cada reiniciofuente
hdparm.conf
?En Ubuntu 14.04
Discos> resaltar unidad> haga clic en el engranaje en la esquina superior derecha> Configuración de unidad> ahora tiene la configuración de espera, APM, AAM y caché de escritura en una GUI fácil de usar.
fuente
En Debian, con unidades WD, encuentro que establecer cualquier nivel con hdparm -S hace que la unidad regrese un nivel 254 en hdparm -I subsiguiente . Así que realmente no estoy seguro de si están girando hacia abajo o no. Creo que todavía están girando hacia abajo.
Estas unidades están en una matriz de servidores, y realmente no quiero que se vuelquen. En el pasado, me equivoqué al configurar un trabajo cron para actualizar un archivo cada pocos minutos.
fuente
No tuve suerte con hdparm en un HDD externo montado en una carcasa USB, que utilizo para servir medios con minidlna.
Me encontré con una idea desde aquí: https://serverfault.com/questions/562738/keeping-usb-backup-drive-from-sleeping-while-mounted
Los mejores resultados provienen del uso del uuid del disco, que puede encontrar con:
El siguiente método requiere acceso de root, pero hdparm también. Esto usa crontab para leer un bloque aleatorio de la unidad cada 5 minutos e ignora todos los mensajes. Para asegurarse de que tiene el UUID correcto, pruébelo en la línea de comando como esta (asegúrese de usar su UUID deseado, no este):
Debería ver una salida como esta:
Para suprimir este mensaje, que podría terminar siendo escrito en algún lugar, potencialmente el sistema de archivos / (que está en un SSD en mi caso), a continuación es lo que estoy usando en el crontab raíz. Llegas allí con
Luego, bajo los comentarios:
Espero que esto ayude a alguien más con problemas similares. Desafortunadamente, esto todavía se escribe en el syslog, pero hay posibles formas de suprimirlo; vea esta publicación de ServerFault .
[editar] 2017-01-07 09:02:
Pude suprimir estos mensajes editando /etc/rsyslog.d/50-default.conf para cambiar esta línea:
*.*;auth,authpriv.none -/var/log/syslog
a esto:
*.*;cron,auth,authpriv.none -/var/log/syslog
Desafortunadamente, esto suprime todos los mensajes cron; No pude obtener cron para redirigir el cierre de sesión del sistema de archivos raíz (que en mi caso está en un SSD antiguo, por lo que quiero limitar las escrituras), pero como este es solo un servidor doméstico, probablemente no me estoy perdiendo mucho. Definitivamente no recomendaría esta estrategia para una máquina de producción.
fuente