Ein Provisorium
Wieder einmal vorweg muss ich erwähnen, dass ich mir hier eine Notlösung notiere. Es geht sicherlich eleganter, wahrscheinlich liegt es an mir, die Aufgabe nicht sauberer zu lösen. Zumindest zum jetzigen Zeitpunkt
Das Problem
Ich habe an meinem Pi-2B+ eine 3TB-USB-Festplatte im 3,5 Zoll-Format in Betrieb. Da der Raspi eigentlich als NAS fungiert, soll diese über größere Zeiträume der Inaktivität in den Standby-Modus wechseln, was sie aber von alleine leider nicht erledigt. Am DVD-Player und Windows-PC schon, am Pi aber blöderweise eben nicht.
Versuche
Ich habe mittlerweile hadparm, sdparm, tlp und hd-idle durchgetestet, niemals hat sich der gewünschte Erfolg eingestellt.
Notlösung
Lediglich mit dem Komando „haparm -Y /dev/sda schaltet sie unverzüglich ab. Egal mit welchem -B oder -S, für den Powerlevel bzw. die Spindownzeit ich ansonsten in der hdparm.config arbeite, das Ding bleibt an.
Bei allen anderen Tools außer hdparm, erreiche ich gar nichts. Da ich nach knapp 3 Tagen herumfummeln einfach im Augenblick keine weitere Zeit in diese Geschichte stecken kann und will, lasse ich die Festplatte nun alle drei Stunden via hdparm und crontab in den Standby-Modus wechseln. Das funktioniert gut und scheint(!) auch keine Probleme zu bereiten, wenn gerade Aktivität auf dem Laufwerk herrscht. Es fährt dann allerdings herunter und startet unverzüglich neu. Mehr brauche ich aber eigentlich nicht, also belasse ich es vorerst dabei.
Was vorher noch zu erledigen ist:
Natürlich muss hdparm installiert sein, was mit
sudo apt-get install hdparm -y
schnell zu erledigen ist.
Ein kleines Script sollte erstellt werden, in welchem „hdparm“ aufgerufen wird. Anders als per Script habe ich es gar nicht versucht, da ich mir immer die Möglichkeit offen halten möchte, solche Vorgänge zu erweitern.
In meinem Fall heißt das Script „runcron.sh„, liegt in /bin/, wurde vom User „root“ angelegt und enthält die Zeilen:
#!/bin/bash
sudo /sbin/hdparm -Y /dev/sda
Daran denken, die Datei mit
sudo chmod +x /bin/runcron.sh
ausführbar zu machen
Ein Cronjob muss eingerichtet werden.
Per
crontab -e
die Tabelle einrichten bzw. die folgende Zeile hinzufügen:
0 */3 * * * /bin/runcron.sh
Der Dateiname ist natürlich Ermessenssache.
Für die Vorarbeiten sind oben zusätzlich Links hinterlegt, hier geht es ja gerade eher nur um Ruhepausen für die HDD.