Jump to content

Spindown für bestimmten Zeitraum deaktivieren


Patty92

Recommended Posts

Ich habe das Script jetzt minütlich laufen lassen.

Der "Gelesen" Wert bleibt unverändert.

 

Interessant ist, dass das Script den, ich nenne es mal "Timer" das die Platte nach 15 Minuten Inaktivität in den SpinDown versetzen soll nicht zurücksetzt,

die Platte aber "aufwecken" tut.

 

Beispiel:

 

11:30:01 - Script

11:30:03 - Platte "wird wach"

11:31:01 - Script

11:32:01 - Script

11:33:01 - Script

...

11:42:01 - Script

11:43:01 - Script

11:44:01 - Script

11:45:01 - Script

11:45:04 - Platte "SpinDown"

11:46:01 - Script

11:46:03 - Platte "wird wach"

Link to comment
44 minutes ago, mgutt said:

Verstehe ich nicht. @ich777 Was genau erhöht den Zähler, der im Dashboard pro Platte zu sehen ist? Muss man dafür über /mnt/diskX auf Dateien zugreifen und das geht gar nicht über /dev/sdX?!

Kannst du mir eine kurze Zusammenfassung geben?

 

Was macht ihr hier genau? Sorry bin momentan im echten Leben ziemlich eingespannt.

Link to comment

Hey @ich777

 

ich hatte mal die blöde Idee :P für einen bestimmten Zeitraum das Spindown einer HDD zu deaktivieren.

  • Grund:
    • "Unnütze" Spindowns tagsüber verhindern
  • Beispiel:
    • Spindown 1h
    • Eltern nutzen Plex bis 12.00
    • Spindown 13.00
    • Ich nutze Plex von 15.00 bis 17.00
    • 18.00 Spindown
    • Ich nutze Plex ab 20.00
  • Ideen:
    • Spindown Wert von einer HDD von z.B. 1 Stunde auf Nie setzen (durch Script).
      • /boot/config/disk.cfg

      • diskSpindownDelay.1="1"

      • diesen Wert abändern bringt kein Erfolg

      • @mgutt hat das ganze tiefgründiger untersucht, mehr herausgefunden aber auch "stecken" geblieben

      • also zurück zur 2. Idee

    • @mgutt hatte die Idee auf der Platte vor Ablauf der Spindown Zeit zufällige Sektoren zu lesen um die Spindown Zeit "zurückzusetzen"
      • verschiedene Befehle probiert, kein Erfolg
        • dd if=/dev/sde of=/dev/null bs=512 count=1
        • dd if=/dev/sde of=/dev/null bs=512 count=1 iflag=direct
        • dd if="$(find /mnt/disk1 -type f 2>/dev/null | head -n 1)" of=/dev/null count=1 iflag=direct

        • block_count=$(blockdev --getsize /dev/sdd)
          block_random=$(shuf -i 0-$block_count -n 1)
          dd if=/dev/sdd of=/dev/null skip=$block_random count=1 2>/dev/null
      • Leider bringt keiner dieser Befehle das gewünschte Ziel und die Platte geht immer wieder in den Standby
Link to comment
1 hour ago, Patty92 said:

"Unnütze" Spindowns tagsüber verhindern

Warum? Heutzutage sollte der Spindown den HDDs fast nichts mehr ausmachen.

 

Selbst wenn ich mit 20 Spindowns pro Tag rechne das mit 365 Tagen Multipliziere und dann auf 20 Jahre aufrechne bin ich auf 146.000 Spindowns, ich brauche dir wohl nicht zu sagen das keiner bzw. fast keiner mehr eine Festplatte für 20 Jahre verwendet und moderne Festplatten heutzuage auf ca 100.000 bzw. 200.000+ Spindowns ausgelegt sind.

 

Ich hab zB auf meiner WD Red 4.610 Starts/Stops bis jetzt drauf und zeigt mir an das noch 96% der Start/Stop Kapazität vorhanden sind (sprich 4% sind Verbraucht):

grafik.thumb.png.716a77569ad9936f0ef98cc1c8928fcc.png

Rechne dir jetzt mal aus was die dann Spindowns kann... :D

 

Wie gesagt, wir brauchen wohl nicht darüber reden das keiner eine Festplatte 20 Jahre verwendet schon alleine unter der Betrachtung wie schnell sich heutzutage die Kapazitäten der HDDs entwickeln bzw. wie "relativ" schnell der Preis dann fällt.

 

Ich kann mir dein Problem aber gerne mal ansehen wenn ich Zeit habe aber ich verstehe eben den Ansatz nicht wirklich speziell mit dem Strom spar Gedanken der in der heutigen Zeit forciert werden sollte.

 

Du müsstest hier auch mal die Start/Stop counts von deinen Festplatten einstellen weil du sicher nicht jeden Tag das gleich Verhalten im bezug auf Spindowns hast, interessant wäre dann auch noch wie alt diese platten sind bzw. wie lange die schon laufen (übrigens meine Festplatte von oben hat schon 5 Jahre und 4 Monate am Buckel).

Link to comment
55 minutes ago, ich777 said:

Rechne dir jetzt mal aus was die dann Spindowns kann

 

Meine älteste Platte zeigt bei einem 50% höherem Wert immer noch 100% an:

 

image.thumb.png.06f1c7cd2af1b2a35c7508229c59604b.png

 

image.thumb.png.1d537c485d2ccd93b8c04b4056f88f7f.png

 

Stromsparen kann ich, gerade in der aktuellen Zeit, verstehen. Aber eine Matrix für Spin-Up/-Down Zeiten aufzubauen? Ist das nicht eher ein esoterisches Problem ...

 

Edited by hawihoney
Link to comment
1 minute ago, hawihoney said:

Meine älteste Platte zeigt bei doppelt so hohen Werten immer noch 100% an:

Genau, das kommt eben immer drauf an welche Platte man hat und was der Hersteller dort eingegeben hat.

 

2 minutes ago, hawihoney said:

Ist das nicht eher ein esoterisches Problem ...

Heutzutage vermultich, außer man hat vor die Platte wirklich lange zu verwenden aber das trifft vermutlich nur in den wenigsten Fällen zu.

Link to comment
1 hour ago, ich777 said:

Ich kann mir dein Problem aber gerne mal ansehen wenn ich Zeit habe

Das ist nicht notwendig, ich wollte jetzt keine Welle damit auslösen.

 

Ich habe an sich kein Problem mit den Spindowns und "weiter oben (Seite 1)" wurde ja auch schon mal eine Rechnung gemacht und erläutert.

 

Mir kam mal die Idee und dachte das wäre für andere vielleicht auch ganz interessant, sollte ja in der Theorie "recht einfach sein".

  • Cronjob 8-22
    • Wenn HDD inaktiv (mit hdparm schon soweit gehabt)
      • dann mach nichts - weil Platte nicht genutzt wird
    • Sonst
      • lese zufälligen Sektor um Spindown zu verhindern

Wie gesagt, in der Theorie war es halt recht einfach gedacht und deshalb dachte ich probier ich es.

Dass dann der "Sonst-Teil" diese Probleme macht hätte ich nicht gedacht.

 

Im Großen und ganzen

Definitiv kein Must-Have sondern Nice-to-have - aber die Mühe dann eher nicht Wert.

Ich danke allen beteiligten für die Zeit.

 

Grüße Patty

 

Link to comment
31 minutes ago, Patty92 said:

Definitiv kein Must-Have sondern Nice-to-have - aber die Mühe dann eher nicht Wert.

Ich würde dir eher raten das du eine Datei, von mir aus auch Leer auf die Festplatte schreibst.

touch > /pfad/zur/disk/.prevent_spindown
sleep 1
rm -f /pfad/zur/disk/.prevent_spindown

 

Mit dieser Methode sollte die Disk nicht schlafen gehen.

Link to comment

  

On 8/8/2022 at 4:32 PM, Patty92 said:

Ich dachte mir noch, man könnte ja versuchen eine Datei zu lesen:

 

cat "/mnt/disks/xxxxxxxx/Dokumente/Beispiel.txt"

 

Das hatten wir damals mit als erstes probiert.

Da war glaube ich das Problem, dass das beim ersten lesen funktioniert hat und bei der 2. Ausführung ignoriert wurde und wahrscheinlich im Cache war.

Link to comment
17 minutes ago, Patty92 said:

Da war glaube ich das Problem, dass das beim ersten lesen funktioniert hat und bei der 2. Ausführung ignoriert wurde und wahrscheinlich im Cache war.

Genau, weil das in den Cache gelegt wird, du müsstest danach den cache leeren bzw. vorher den Cache leeren damit sichergestellt wird das es neu gelesen wird:

sync
echo 1 > /proc/sys/vm/drop_caches
cat /pfad/zur/disk/.prevent_spindown

 

BTW dich selbst quoten ist immer doof weil da bekomm ich keine Benachrichtigung. ;)

Link to comment
1 hour ago, ich777 said:
sync
echo 1 > /proc/sys/vm/drop_caches
cat /pfad/zur/disk/.prevent_spindown

Hat nicht funktioniert.

Platte ging wieder in den Spindown.

 

Der Counter der HDD hat nach Ausführung des Scripts auch nicht "hoch gezählt".

Weiß nicht ob es damit zusammenhängen könnte.

 

1 hour ago, ich777 said:

BTW dich selbst quoten ist immer doof weil da bekomm ich keine Benachrichtigung. ;)

Ahhh, wieder etwas gelernt 😊

Link to comment
4 minutes ago, Patty92 said:

Der Counter der HDD hat nach Ausführung des Scripts auch nicht "hoch gezählt".

Weiß nicht ob es damit zusammenhängen könnte.

Ist es ein leeres file? Probier sonst mal was rein zu schreiben damit cat was augibt. Weiß nicht genau wie es sich verhält wenn die Datei leer ist. Bei so kleinen files wird der counter auch nicht hoch zählen wenn ich mich nicht täusche.

Link to comment
echo 1 > /proc/sys/vm/drop_caches
dd if=/dev/sd? of=/dev/null count=512


Das führt schon mal aus der Console heraus zum gewünschten Ergebnis.

Aber was wird eigentlich über die Web-GUI ausgeführt?
Dort lässt sich das doch auch mit einem Klick erledigen...

Edited by Archonw
Link to comment
1 hour ago, Patty92 said:

Gleiches Ergebnis.

Dann kann ich dir auch nicht helfen, bau vielleicht noch ein sleep ein, du kannst auch versuchen das du:

echo 2 > /proc/sys/vm/drop_caches

machst, vielleicht ist das die Lösung (auf 3 würd ich nicht gehen...).

 

21 minutes ago, Archonw said:

Dort lässt sich das doch auch mit einem Klick erledigen...

Ich versteh die ganze Problematik hier auch nicht wirklich und das ist nur ein first world problem das hier diskutiert wird... :D

Link to comment

Ich würde das Thema jetzt erneut abschließen.

  • 2 hours ago, Archonw said:
    echo 1 > /proc/sys/vm/drop_caches
    dd if=/dev/sd? of=/dev/null count=512

    Hat nicht funktioniert... Aufwecken-ja, wach halten-nein.

 

  • 1 hour ago, ich777 said:
    echo 2 > /proc/sys/vm/drop_caches

    Habe ich nicht weiter probiert.

 

  • es war eine blöde Idee
  • zu viel "Aufmerksamkeit" auf evtl. Spindowns gelegt
  • OK
  • Am Ende mehr oder weniger nur getestet weil sich Zeit genommen wurde und immer wieder Vorschläge eingebracht wurden.
    • wollte dann nicht Abstoßend sein und sagen "Nein, ich probiere nicht weiter."

 

  • Danke an alle, die sich  Zeit genommen haben / Lösungsvorschläge eingebracht haben.

Grüße Patty

Link to comment
37 minutes ago, ich777 said:

Aber das will er doch. 😉

Äh nein? Caches leeren passiert global und er will ja nur temporär eine Platte laufen lassen.

 

Und blödsinnig finde ich das gar nicht. Wenn man einen Share einer HDD dauerhaft mit höchster Geschwindigkeit im Zugriff halten will, während der Rest dauerhaft schlafen soll, ist das doch keine schlechte Idee.

 

Los raus. Patty und ich kriegen das schon hin 😂

  • Like 1
  • Haha 1
Link to comment
37 minutes ago, mgutt said:

Und blödsinnig finde ich das gar nicht. Wenn man einen Share einer HDD dauerhaft mit höchster Geschwindigkeit im Zugriff halten will, während der Rest dauerhaft schlafen soll, ist das doch keine schlechte Idee.

Ja das schon, aber das kann man doch einstellen individuell für die Platten.

Ich verstehe einfach den gedanken dahinter nicht mehr, einmal Strom sparen, dann wieder nicht... Ihr wisst doch alle nicht was ihr wollt... :D

Link to comment

Ich muss das vielleicht nochmal richtig stellen.

Natürlich ist das zum heutigen Zeitpunkt nicht richtig :D aber mir ging es hier nie um Strom sparen.

Hier lag mir das Augenmerk wirklich auf HDD schonen mit "Geh an" / "Geh aus".

 

 

Ich fand es irgendwo blöd, wenn es so eine unglückliche Situation gab, wie z.B.

Platte 14.30 aus

Platte 14.45 an

Platte 16.30 aus

Platte 17.05 an

usw..

 

das war der ganze Hintergedanke.

 

Ich stimme natürlich vollkommen zu, das gerade heute die Platte "viel schlafen" soll um Strom zu sparen und das ich mich nicht so verrückt machen soll an den Spinup-/down Zähler - wurde mir ja hier schon bestens erläutert / errechnet. 🙂 

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...