Cómo evitar que el kernel de Linux despierte un HDD secundario del modo de suspensión

11

¿Hay alguna manera de indicarle al kernel (Linux) que no active un disco duro secundario después de un ciclo de suspensión / activación del sistema? Lo pregunto porque en mi computadora portátil tengo un SSD como unidad principal que contiene la raíz del sistema y un HDD secundario donde guardo un sistema de respaldo y archivos a los que accedo esporádicamente. Dado que la computadora portátil generalmente pasa por muchos ciclos diarios de reposo / activación (es decir, Suspender a la RAM, no hibernación) durante muchos días, me gustaría poner el HDD secundario a dormir manualmente e indicarle al núcleo que lo mantenga dormido durante el sueño del sistema / ciclos de despertador.

John Terragon
fuente
1
Si desea enviar su disco duro manualmente para dormir, puede usarlo hdparm -Y /dev/sdb. Si su sistema accede a su disco, automáticamente volverá a girar. También puede definir esto /etc/hdparm.confcon /dev/disk/by-label/DATA4 { spindown_time = 180 } Recomiendo usar etiquetas para sus discos, ya que nunca puede confiar en qué disco es detectado primero por su sistema. tenga en cuenta que necesita una versión más nueva de hdparm (la mía es 9.43) para enviar discos con etiqueta a dormir.
syss

Respuestas:

1

Como solo usa el disco duro secundario para la copia de seguridad, le sugiero que le diga a fstab que no monte la unidad automáticamente y que cree un script de copia de seguridad que monte la unidad, haga la copia de seguridad y desmonte la unidad nuevamente.

ejemplo de la línea fstab con la opción noauto:

/dev/sdb1 /media/backup ext4 user,noauto 0 0

El script bash para la copia de seguridad comenzaría mount /media/backupy terminaría conumount /media/backup

switch87
fuente
Esto no evita que el núcleo pruebe el disco al arrancar.
Marc.2377
0

No creo que sea posible. El BIOS / UEFI sondea la unidad al arrancar, no solo el núcleo.

Sin embargo, lo que hago es indicarle al sistema que ponga la unidad en modo de suspensión justo después de que se inicie el sistema. Verifique https://wiki.archlinux.org/index.php/Hdparm#Putting_a_drive_to_sleep_directly_after_boot .

En mi caso tengo:

/usr/local/lib/systemd/system/rsleephdd.service

[Unit]
Description="Ranolfi's script to sleep hard drives on boot"

[Service]
Type=oneshot
ExecStart=/usr/bin/hdparm -q -S 120 -Y /dev/sdc

[Install]
WantedBy=multi-user.target

No importa si la unidad o sus particiones están montadas por fstab (o crypttab, para el caso) o no.

(editar) estrictamente hablando, parece posible hacer que el núcleo ignore un disco mediante el parcheo . Sin embargo, eso no evitará que la unidad se reactive: todo lo contrario, el parche al que me vinculé le impedirá acceder a la unidad, no podrá acceder a sus archivos incluso esporádicamente, y tampoco podrá poner la unidad en dormir.

Marc.2377
fuente