web-dev-qa-db-fra.com

Désactiver automatiquement les disques durs USB après une période d'inactivité

je voudrais désactiver automatiquement les disques durs USB après une période d'inactivité, disons 15 minutes. Et, bien sûr, redistribuez-les automatiquement sur l'accès. Comment puis-je faire ceci? Merci

4
Chris

hd-idle utilitaire devrait être utile

S'il vous plaît regardez la source donnée ci-dessous, lisez attentivement et voyez si cela aide:

  1. Téléchargez le code source avec CVS à l'aide des commandes suivantes:

  2. Systèmes Debian:

    • Exécuter: dpkg-buildpackage -rfakeroot
    • Et pour installer le paquet, lancez: 'dpkg -i ../hd-idle_*.deb'
  3. Usage:

    hd-idle
    
    # This will start hd-idle with the default options, 
    # causing all SCSI (read: USB, Firewire, SCSI, ...) hard disks 
    # to spin down after 10 minutes of inactivity
    

Remarque: Veuillez noter que hd-idle utilise /proc/diskstats pour lire les statistiques du disque. Si ce fichier n'est pas présent, hd-idle ne fonctionnera pas.

Information:

Lancer hd-idle

Pour exécuter hd-idle, tapez "hd-idle". Cela démarrera hd-idle avec les options par défaut, ce qui entraînera le ralentissement de tous les disques durs SCSI (lecture: USB, Firewire, SCSI,) après 10 minutes d'inactivité.

Sur un système Debian, après avoir édité/etc/default/hd-idle et l’avoir activé, utilisez "/etc/init.d/hd-idle start" pour exécuter hd-idle.

Veuillez noter que hd-idle utilise/proc/diskstats pour lire les statistiques du disque. Si ce fichier n'est pas présent, hd-idle ne fonctionnera pas.

Options de la ligne de commande

-a <name>   Set (partial) device name of disks for subsequent idle-time parameters (-i). This parameter is optional in the sense that there's a default entry for all [SCSI] disks which are not named otherwise by using this parameter.
-i <idle_time>  Idle time in seconds for the currently named disk(s) (-a <name>) or for all disks.
-l <logfile>    Name of logfile (written only after a disk has spun up). Please note that this option might cause the disk which holds the logfile to spin up just because another disk had some activity. This option should not be used on systems with more than one disk except for tuning purposes. On single-disk systems, this option should not cause any additional spinups.
-t <disk>   Spin-down the specified disk immediately and exit. Use only the disk name (e.g. sda) without /dev/ prefix
-d  Debug mode. This will prevent hd-idle from becoming a daemon and print debugging info to stdout/stderr
-h  Print brief usage information

Concernant le paramètre "-a":

Les utilisateurs de hd-idle ont demandé des moyens pour définir des paramètres d'inactivité pour des disques individuels. Cela a beaucoup de sens, pas seulement parce que certains disques [SCSI] peuvent ne pas bien réagir à un arrêt. À l'origine, hd-idle avait un temps d'inactivité pour tous les disques. Le paramètre "-a" peut maintenant être utilisé pour définir un filtre sur le nom de périphérique du disque (omettre/dev /) pour les paramètres d'inactivité ultérieurs.

  1. Une option "-i" avant la première option "-a" définira la durée d'inactivité par défaut; par conséquent, la compatibilité avec les versions précédentes de hd-idle est maintenue.

  2. Afin de désactiver la rotation des disques par défaut, puis de la réactiver sur les disques sélectionnés, définissez le temps d'inactivité par défaut sur 0.

Exemple:

hd-idle -i 0 -a sda -i 300 -a sdb -i 1200

Cet exemple définit le temps d'inactivité par défaut sur 0 (ce qui signifie que hd-idle n'essaiera jamais de casser un disque), puis définit des temps d'inactivité explicites pour les disques dont le nom de périphérique contient la chaîne "sda" ou "sdb". Arrêter hd-idle

Utilisez killall hd-idle pour arrêter hd-idle. Sur un système Debian, utilisez /etc/init.d/hd-idle stop.

La source:

http://hd-idle.sourceforge.net/

1
George Udosen

Cela implique généralement le contrôleur USB-à-SATA du côté du disque dur. La plupart des micrologiciels de disques durs USB externes ne sont pas non plus configurables, vous ne pouvez donc pas toujours définir cela comme cela. Certains contrôleurs peuvent le faire, mais je ne connais aucun de ceux qui sont des disques durs USB classiques.

Malheureusement, il n’ya pas de véritable moyen de changer cela non plus avec juste Linux et son logiciel de base, si le contrôleur ne vous laisse pas déjà faire ce genre de modification des paramètres via sa propre suite logicielle ou quelque chose du genre.

1
Thomas Ward

Programmes ouverts

Allez aux outils là-bas, vous pouvez ouvrir des disques

Sur la barre en haut à gauche de l'icône de réduction

vous trouverez une icône, cliquez dessus et allez dans les paramètres du lecteur

là, vous pouvez modifier/activer les paramètres de ralentissement pour votre disque USB ou d’autres disques.

1
trond hansen

Vous pouvez utiliser hdparm pour définir une valeur entre 1 et 255 pour spindown.

La commande pour cela est hdparm -S255/dev/sdX avec X bien sûr appliqué à vos périphériques.

Vous pouvez utiliser blkid pour trouver le bon périphérique.

L'appareil tourne ensuite quand on y accède.

Utilisez hdparm -C/dev/sdX pour vérifier l’état de l’appareil (inactif/actif/en veille avec un sens de veille désactivé).

Veuillez manipuler avec précaution: vous pouvez également faire en sorte que l’appareil s’effondre manuellement avec hdparm -y/dev/sdX . Cela peut être utile pour déterminer s’il tourne au ralenti (voir ci-dessous).


Je veux ajouter que cela fonctionne maintenant avec ma configuration:

  • Tarte aux framboises
  • Disque dur HGST 10 To
  • Connecté via USB3

Mais cela n'a pas fonctionné tout le temps. Lors de la première connexion, il n'a pas été désactivé manuellement ni automatiquement. Je ne suis pas sûr de ce qui a changé le comportement du disque. Les deux choses que j'ai faites entre:

  • Déconnectez le disque, connectez-le à un ordinateur portable Win10 et exécutez un programme de vérification du fabricant du disque. Cela vient de faire un court test SMART. Je cherchais un réglage pour modifier le spindown ou l’APM mais cela n’était pas possible.
  • J'ai installé hd-inactif sur le Raspberry. Mais hd-idle n'a pas éteint le disque. Je cherchais donc des indices sur le fonctionnement réel de la marche au ralenti. En cherchant, j'ai réessayé de tourner manuellement et cela a fonctionné soudainement.

Btw. Mon niveau avancé de gestion de l'alimentation est 254. ( hdparm -B/dev/sdX ). Je ne suis pas sûr de savoir comment APM est lié au temps de spindown. Normalement, une valeur de 254 devrait empêcher toute distorsion. J'ai aussi lu que pour activer spindown, il devrait être réglé sur 127 ou moins.

Je pensais que les disques durs fabriqués à des fins NAS pourraient supprimer les erreurs de fabrication. J'ai posté cette réponse avec des détails supplémentaires discutables pour obtenir plus de perspicacité sur le sujet de la part d'autres contributeurs. Je serai heureux de mettre à jour la réponse plus tard.

EDIT: Cela ne fonctionne pas tout le temps. Le disque en veille est réveillé sans que personne ne l’accède. De plus, depuis que j'ai retiré hd-idle, la mise en veille automatique avec -S ne fonctionne plus.

1
Ben