Wie richte ich ein Speichergerät ein, das nur bei Verwendung eingeschaltet ist?

10

Ich benutze meinen Pi als Heimserver (kopflos über ssh, immer eingeschaltet, einmal pro Woche neu gestartet). Es läuft Raspbian und ich verwende Ubuntu auf meinem Desktop. Jetzt möchte ich dem Pi Festplatten für Backups und NAS hinzufügen. Im Moment verwende ich eine externe USB-Festplatte, aber später möchte ich möglicherweise ein RAID-System verwenden (falls ein Laufwerk ausfällt). Ich verwende auch Autofs mit --ghost, um das Laufwerk zu deaktivieren, wenn es längere Zeit nicht verwendet wird.

Die Idee / Hoffnung dahinter war, dass die Festplatte in einen Standby- / Spindown-Modus wechseln würde, wenn sie nicht über Autofs gemountet wird. Dies ist jedoch nicht der Fall. Es scheint sich so schnell wie immer zu drehen und es wird auch so warm wie beim Montieren.

Was ich also möchte, ist Massenspeicher, der in den tiefsten verfügbaren Schlaf- / Standby-Modus wechselt, damit er nicht zu heiß wird, Energie spart und nur bei Bedarf (dh bei Montage) aufwacht. Weiß jemand, wie ich das erreichen kann? Vielen Dank.

EDIT: Ich habe folgendes versucht:

$ 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

und

$ 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

und

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

Dies scheint fast die Lösung zu sein, das Laufwerk dreht sich herunter, wird aber nach etwa einer Sekunde wieder schnell.

EDIT2: Das sieht vielversprechend aus:

Jemand sagte mir, ich sollte Auswerfen verwenden, und es funktionierte. Es ist jedoch nicht standardmäßig installiert. Also habe ich folgendes gemacht:

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

Und das Laufwerk drehte sich komplett herunter. Autofs konnte es immer noch wecken. Da ich autofs verwende, um zu entscheiden, wann das Laufwerk nicht gemountet wird (und um es bei Bedarf automatisch erneut zu mounten), muss ich diesen Befehl ausführen, wenn autofs das Laufwerk aushängen. Ich habe jedoch keine Lösung dafür gefunden. Hast du irgendwelche Vorschläge?

verpfeilt
quelle
In meinem Fall dreht sich die Festplatte nach 10 Minuten im Leerlauf herunter, wenn der Server ausgeführt wird (Odroid), aber wenn sie nicht angeschlossen ist oder der Server nicht ausgeführt wird, dreht sie sich auf unbestimmte Zeit. Was passiert mit Ihrer externen Festplatte, wenn Sie das RPI ausschalten?
Inf3rno
meins hört nicht mal mit "auswerfen" auf. Der einzige, der im Leerlauf arbeitet, aber nur 1 Minute lang anhält, dann geht es wieder weiter.
Danny182

Antworten:

4
sudo hdparm -y /dev/sda

(vorausgesetzt, Sie haben nur eine USB-Disc angeschlossen) kann Ihr Gerät in den Energiesparmodus versetzen. Wenn Sie dies nach dem Aushängen des Geräts tun, sollte es in diesem Energiesparmodus bleiben, bis Sie versuchen, es erneut zu mounten.

Sie können auch die -YOption für den Ruhemodus anstelle von Standby ausprobieren .

Sie können auch versuchen:

hdparm -k1 -K1 -S2 /dev/sda

Dies sollte Ihr Laufwerk nach 10 Sekunden Inaktivität drehen (Sie können -SXXzu anderen Werten wechseln (1-240 kann verwendet werden, um ein Vielfaches von 5 Sekunden anzugeben, 0 Umschaltzeiten werden deaktiviert, 241-255 können verwendet werden, um längere Zeiträume anzugeben).

Eine andere Option, die Sie versuchen könnten, ist die Verwendung von:

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

Hinweis: Es scheint, dass die unterstützten Befehle von der verwendeten Festplatte und dem verwendeten HDD-> USB-Konverter abhängen.

Krzysztof Adamski
quelle
Ich habe den Eindruck, dass hdparm nicht unbedingt auf USB-Festplatten funktioniert. Dies hängt möglicherweise vom verwendeten USB-zu-SATA-Controller (oder IDE-Controller) ab. Aber auf direkt angeschlossenen IDE- oder SATA-Festplatten bin ich sicher, dass hdparm der richtige Weg ist.
Frepa
@Frepa: Ich weiß, dass zumindest einige Leute berichtet haben, dass es für sie funktioniert, so dass es tatsächlich von dem jeweiligen Controller abhängen kann.
Krzysztof Adamski
Ok, gut zu wissen. Ich habe es nicht selbst zum Laufen gebracht, ich weiß nicht genau warum.
Frepa
Es tut mir leid, dass ich so spät geantwortet habe, ich konnte einfach keine Zeit finden, dies zu versuchen. Ich habe es jetzt versucht, aber es funktioniert nicht für mich. Ich werde die Fehlermeldungen vom Terminal in meine Frage einarbeiten.
verpfeilt
@chocobai: Ich habe meine Antwort aktualisiert. Es kann Ihrem Fall helfen.
Krzysztof Adamski
1

Das Advanced Power Management (APM) einer Festplatte, die über eine USB-zu-SATA-Brücke angeschlossen ist, kann per Befehl eingestellt werden

sudo smartctl -s apm,127 /dev/sdx

Der Wert 127 bedeutet " Zwischenstufe (APM) mit Standby ". Bei Verwendung dieser Stufe dreht sich die Festplatte nach einigen Sekunden Inaktivität herunter und startet bei Bedarf erneut.

Getestet auf BeagleBone, Ubuntu 13.10.

Leos
quelle
Um zu installieren smartctl, müssen Sie ausführensudo apt-get install smartmontools
Hengjie
0

USB-Ports sind nur allgemeine Lösungen ... für alles, aber nicht auf Festplatten spezialisiert, haben diese langsamen USB-2-Ports gemeinsamen Zugriff mit dem Ethernet-Adapter. Dies bedeutet, dass Sie mit vielen angeschlossenen Festplatten höllisch langsam sind.

Sie können eine zusätzliche Controller-Karte für Ihre Projektlösung verwenden. Suchen Sie nach "Himbeer-Pidrive" und lassen Sie eine X8XX-Controller-Karte anschließen.

Sie können auch unter https://www.smartmontools.org/wiki/USB nachlesen, was mit einer "humpty-dumpty" USB-Schnittstelle möglich ist und welche Steuerung Sie mit SATA haben ....

Und du bist
quelle