Comment configurer un périphérique de stockage qui n'est «allumé» que lorsqu'il est utilisé?

10

J'utilise mon Pi comme un serveur domestique (sans tête via ssh, toujours allumé, redémarré une fois par semaine). Il exécute raspbian et j'utilise Ubuntu sur mon bureau. Maintenant, je veux ajouter des disques durs pour les sauvegardes et le NAS au Pi. Pour le moment, j'utilise un disque dur USB externe, mais plus tard, je voudrai peut-être utiliser un système RAID (au cas où un disque tombe en panne). J'utilise également autofs avec --ghost pour démonter le lecteur lorsqu'il n'est pas utilisé pendant un certain temps.

L'idée / l'espoir derrière cela était que le disque dur entrerait dans une sorte de mode veille / spindown lorsqu'il serait démonté via autofs, mais ce n'est pas le cas. Il semble tourner aussi vite que toujours, et il devient aussi chaud que lorsqu'il est monté.

Donc, ce que je veux, c'est un stockage de masse qui passe au mode veille / veille le plus profond disponible, de sorte qu'il ne chauffe pas trop, économise de l'énergie et ne se réveille qu'en cas de besoin (c'est-à-dire lorsqu'il est monté). Est-ce que quelqu'un sait comment je peux y arriver? Merci.

EDIT: J'ai essayé ce qui suit:

$ sudo hdparm -Y /dev/sda

/dev/sda:
 issuing sleep command
SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

et

$ sudo hdparm -y /dev/sda

/dev/sda:
 issuing standby command
SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

et

sudo sdparm --flexible --command=stop /dev/sda

cela semble être presque la solution, le disque tourne, mais redevient rapide après environ une seconde.

EDIT2: Cela semble prometteur:

Quelqu'un m'a dit que je devais utiliser l'éjection et cela a fonctionné. Il n'est cependant pas installé par défaut. J'ai donc fait ce qui suit:

sudo apt-get install eject
sudo eject /dev/sda

Et le lecteur a complètement tourné. Autofs était toujours en mesure de le réveiller. Étant donné que j'utilise autofs pour décider quand le lecteur est démonté (et pour le remonter automatiquement en cas de besoin), je dois exécuter cette commande lorsque autofs démonte le lecteur. Cependant, je n'ai pas trouvé de solution. Avez-vous des suggestions?

verpfeilt
la source
Dans mon cas, le disque dur tourne au bout de 10 minutes d'inactivité, lorsque le serveur fonctionne (odroid), mais lorsqu'il est débranché ou que le serveur ne fonctionne pas, il tourne indéfiniment. Que se passe-t-il avec votre disque dur externe lorsque vous désactivez le rpi?
inf3rno
le mien ne s'arrête même pas avec "éjecter". Le seul qui fonctionne si hd-idle mais il ne s'arrête que pendant 1 minute, puis il se remet en marche.
Danny182

Réponses:

4
sudo hdparm -y /dev/sda

(en supposant que vous n'avez qu'un seul disque USB connecté) peut mettre votre appareil en veille. Si vous faites cela après avoir démonté l'appareil, il devrait rester dans ce mode d'économie d'énergie jusqu'à ce que vous essayez de le monter à nouveau.

Vous pouvez également essayer l' -Yoption pour le mode veille au lieu de rester en veille.

Vous pouvez également essayer:

hdparm -k1 -K1 -S2 /dev/sda

qui devrait faire tourner votre disque après 10 secondes d'inactivité (vous pouvez changer -SXXpour d'autres valeurs (1-240 peut être utilisé pour spécifier des multiples de 5 secondes, 0 désactive le temps de rotation, 241-255 peut être utilisé pour spécifier des périodes plus longues).

Une autre option que vous pourriez essayer est d'utiliser:

sdparm --flexible --command=stop /dev/sda

Remarque: Il semble que les commandes prises en charge dépendent du disque dur et du convertisseur HDD-> USB utilisé.

Krzysztof Adamski
la source
J'ai l'impression que hdparm ne fonctionne pas nécessairement sur les disques connectés par USB. Cela peut dépendre du contrôleur USB vers SATA (ou IDE) utilisé. Mais sur les disques IDE ou SATA directement connectés, je suis sûr que hdparm c'est la bonne façon.
Frepa
@Frepa: Je sais qu'au moins certaines personnes ont indiqué que cela fonctionne pour elles, donc cela peut en effet dépendre du contrôleur particulier.
Krzysztof Adamski
OK bon à savoir. Je ne l'ai pas fait fonctionner moi-même, je ne sais pas exactement pourquoi.
Frepa
Désolé d'avoir répondu si tard, je n'ai tout simplement pas trouvé le temps d'essayer. Je l'ai essayé maintenant, mais cela ne fonctionne pas pour moi. Je vais modifier les messages d'erreur du terminal dans ma question.
verpfeilt
@chocobai: J'ai mis à jour ma réponse. Cela peut aider votre cas.
Krzysztof Adamski
1

La gestion avancée de l'alimentation (APM) d'un disque dur connecté via un pont USB vers SATA peut être définie par commande

sudo smartctl -s apm,127 /dev/sdx

La valeur 127 signifie "niveau intermédiaire (APM) avec veille ". En utilisant ce niveau, le disque dur tourne après plusieurs secondes d'inactivité et redémarre à la demande.

Testé sur BeagleBone, Ubuntu 13.10.

Léos
la source
Pour installer, smartctlvous devez exécutersudo apt-get install smartmontools
Hengjie
0

Les ports USB ne sont que des solutions générales ... pour tout, mais non spécialisés sur les disques durs, ces ports USB-2 lents ont un accès partagé avec l'adaptateur Ethernet. Cela signifie que vous serez lent comme l'enfer avec de nombreux disques connectés.

Vous pouvez utiliser une carte contrôleur supplémentaire pour votre solution de projet. Recherchez «pidrive de framboise» et obtenez une carte contrôleur X8XX à fixer.

Vous pouvez également consulter https://www.smartmontools.org/wiki/USB décrivant ce qui est possible avec une interface USB "humpty-dumpty", et quel contrôle vous avez avec SATA ....

Andur
la source