Comment empêcher le noyau Linux de réveiller un disque dur secondaire du sommeil

11

Existe-t-il un moyen de demander au noyau (Linux) de ne pas réveiller un disque dur secondaire après un cycle de veille / réveil du système? Je demande parce que dans mon ordinateur portable, j'ai un SSD comme disque principal contenant la racine du système et un disque dur secondaire où je garde un système de sauvegarde et des fichiers auxquels j'accède sporadiquement. Étant donné que l'ordinateur portable passe généralement par de nombreux cycles de veille / réveil quotidiens (je veux dire suspendre à la RAM, pas d'hibernation) pendant plusieurs jours, je voudrais mettre le disque dur secondaire en veille manuellement et demander au noyau de le garder endormi pendant la veille du système / cycles de réveil.

John Terragon
la source
1
Si vous souhaitez envoyer votre disque dur manuellement pour dormir, vous pouvez utiliser hdparm -Y /dev/sdb. Si votre système accède à votre disque, il recommencera automatiquement à tourner. Vous pouvez également définir cela dans /etc/hdparm.confavec /dev/disk/by-label/DATA4 { spindown_time = 180 } je recommande d' utiliser des étiquettes pour vos disques que vous ne pouvez jamais compter sur lequel le disque est d' abord détecté par votre système. sachez que vous avez besoin d'une version plus récente de hdparm (la mienne est 9.43) pour envoyer les disques avec étiquette en veille.
syss

Réponses:

1

comme vous n'utilisez que le disque dur secondaire pour la sauvegarde, je suggère de dire à fstab de ne pas monter le lecteur automatiquement et de créer un script de sauvegarde qui monte le lecteur, effectue la sauvegarde et démonte à nouveau le lecteur.

exemple de la ligne fstab avec l'option noauto:

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

script bash pour la sauvegarde serait alors commencer mount /media/backupet se terminer parumount /media/backup

switch87
la source
Cela n'empêche pas le noyau de sonder le disque au démarrage.
Marc.2377
0

Je ne pense pas que ce soit possible. Le disque est sondé par le BIOS / UEFI au démarrage, pas seulement par le noyau.

Cependant, je demande au système de mettre le lecteur en mode veille juste après le démarrage du système. Vérifiez https://wiki.archlinux.org/index.php/Hdparm#Putting_a_drive_to_sleep_directly_after_boot .

Dans mon cas, j'ai:

/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

Peu importe que le lecteur ou ses partitions soient montés par fstab (ou crypttab, d'ailleurs) ou non.

(modifier) ​​à proprement parler, il semble possible d'obtenir que le noyau ignore un disque en le corrigeant . Cela n'empêchera pas le lecteur de se réveiller, bien au contraire, le patch auquel j'ai lié vous empêchera d'accéder au lecteur, vous ne pourrez pas accéder à vos fichiers même de manière sporadique, et vous ne pourrez pas non plus mettre le lecteur à dormir.

Marc.2377
la source