Strom sparen - Platte schlafen legen (ZFS)

pom

Well-Known Member
Hallo,

ich habe auf einer Platte einen ZFS pool. Dort liegt nur Musik und Filme. Wenn die nicht gebraucht werden würde ich die Platte gerne in "Sleep" legen.

Im Netz finde ich viel Kram aber nichts was mir bisher geholfen hätte das Problem zu lösen.

Bisher schweb mir ein Skript vor das folgendes macht
- minidlna stoppen
- pool exportieren
- platte schlafen legen

Und dann eben das gleiche rückwärts.

Ist das der richtige Ansatz? Muss man den Pool exportieren? Wie lege ich die Platte (ada3) schlafen?

Gruß,
Peter
 
Kenne jetzt minidlna nicht und weiß daher nicht, ob es ein polling auf dem Verzeichnis hat. Das könnte den Spaß verderben und die Platte wieder frühzeitig aufwecken, das nur vorweg. Wenn dem so ist, kriegt man das aber auch in den Griff.

Den pool brauchst du nicht exportieren.

Gib mir mal ein camcontrol identify ada3
 
Hallo,

Vorsicht, im Zusammenhang mit zfs und Ruhemodus externer USB-Festplatten hatte ich vor einiger Zeit eher den Wunsch, eine Art von Polling einzusetzen, damit es keinen Spin Down gibt. Denn im Gegensatz zu ufs2 mochte zfs den Ruhemodus gar nicht, es hagelte beim Spin Up Fehler, der Pool war beschädigt u.s.f. Das ist jetzt allerdings schon etwas her (vermutlich noch mit FreeBSD 11.x), eventuell wurde da was verbessert.

Aber Du möchtest das vermutlich mit einer internen Platte machen (von ada3 ist ja die Rede). Wie es da aussieht, kann ich Dir nicht sagen.

Besser auch da erstmal mit einem Testpool Experimente machen.
 
Hallo,

meine (internen) Platten legen sich alle schlafen und wachen ohne Probleme wieder auf. ZFS scheint das mindestens seit FreeBSD Version 12 ganz gut zu können. Ich habe keine Probleme. Du kannst den Timeouts mittels camcontrol einstellen. Netter Weise unterstützt das Caching von ZFS in so fern, das Requests, die aus dem Cache beantwortet werden können, die Platte nicht aufwecken.
 
  • Like
Reaktionen: HWW
ok, ich habe jetzt mal

camcontrol standby /dev/ada3 -t 10
camcontrol standby /dev/ada2 -t 10

aufgerufen und beobachte die Stromaufnahme.
Müsste ja um einige Watt runtergehen. Aktuell braucht der Server immer rund 50W mit 4 Platten (HP 54NL)

Auf den beiden Platten liegen Audio/Video und Timemachine Backups der Macs

Gruß,
Peter
 
Festplatte 5-7W, aber das ist schon arg hoch gegriffen. Versprich dir nicht zuviel davon, vor allem, obs die Mühe wert ist.
 
Bei meinen Seagate Consumer Platten sind zwischen Idle und Standby ~2W unterschied. Auch soll es für die Platten nicht so gut sein, wenn die oft den Motor starten. Vielleicht sparst du dir zwar 10 Euro aufs Jahr Stromkosten, dafür musst du die Platten früher ersetzen.
 
Bei meinen Seagate Consumer Platten sind zwischen Idle und Standby ~2W unterschied. Auch soll es für die Platten nicht so gut sein, wenn die oft den Motor starten. Vielleicht sparst du dir zwar 10 Euro aufs Jahr Stromkosten, dafür musst du die Platten früher ersetzen.

Es gibt soweit ich weiß keine (gute) Studie darüber, die irgendwie belegt, dass häufiges Starten der Platten dazu führt, dass sie früher kaputt gehen. Bei einem Freund von mir, der so ein Standby eingerichtet hatte, sind aber auch innerhalb eines Jahres 2 ( von 4 ) Platten gestorben. Kann daran gelegen haben, vielleicht auch nicht. Man weiß es nicht.

Je nachdem wie häufig die Platten an und aus gehen darf man nur nicht vergessen, dass diverse Platten intern schon Strommaßnahmen haben und nach einer Weile idle-Betrieb ihre Drehzahl reduzieren. Gleichzeitig frisst das Anstarten der Platten auch nicht gerade wenig Strom (gerne mal >10W/Platte).

Bei 4 Platten dürfte der Stromverbrauch dadurch aber nicht großartig sinken, auf's Jahr gesehen. Hängt aber auch vom Zugriffsmuster ab. Wenn die Platten pro Tag über 5 mal anspringen ist die Stromersparnis vermutlich nur verschwindend gering. Springen sie häufiger an, dann verbraucht man irgendwann vermutlich sogar mehr Strom als ohne Standby.
 
Das Aufwecken geht auf die Load/Unload cycles. Ich hatte mir mal eine Platte zerschossen, weil ich per smartctl die Temperatur der Platte überprüft hatte und das jedes Mal einen Zyklus verbrauchte. Bei einer WD-Red ist z.B. Ein Wert von 600000 angegeben. Das sollte bei ausreichend gros gewähltem Timeout ewig reichen. Ich verwende einen Timeouts von 30 Min. Nimmt man dann noch exec und setuid raus, dann wird die Partition nachts auch nicht mehr automatisch gescannt.
 
Jep, meine HGST haben auch die spec:

Code:
Manufactured in week 50 of year 2017
Specified cycle count over device lifetime:  50000
Accumulated start-stop cycles:  1180
Specified load-unload count over device lifetime:  600000
Accumulated load-unload cycles:  2063
Elements in grown defect list: 0

Wobei man aber unterscheiden muss zwischen Kopfparken (load cycle,standby) und Motor stoppen (start-stop cycles,spindown). Letzteres ist für den Verschleiß eher verantwortlich.
 
Ich habe die Leistungsaufnahme jetzt einige Tage beobachtet. Sie liegt ca. 5W unter dem was ich bisher so beobachtet habe.

Wo kann man den
Code:
Specified load-unload count over device lifetime:  600000
auslesen?

Ah nochwas: Wird die CPU eigentlich bei FreeBSD runtergetaktet wenn gerade keine Leistung nötig ist?

Gruß,
Peter
 
Verlässlich bekommt man die Spezifikationen der Festplatte nur aus dem Datenblatt des Herstellers. Die sind idr. aber auch online verfügbar, wenn die Dinger nicht zu alt sind.

Runtertaktung sollte der powerd standardmäßig übernehmen. Einfach mal in der /etc/rc.conf nach "powerd_enable="YES"" suchen, bzw. ansonsten hinzufügen. In den Ports gibts den powerdxx der, soweit ich weiß, von einem Forenmitglied hier entwickelt wird. Der liefert wohl bei Multicore CPUs unter gewissen Lastszenarien bessere Ergebnisse.
 
Zurück
Oben