USB Festplatte mit hd-idle in den Standby

  • Eine meiner Festplatten lasst sich nur schwer in den Standby versetzen. Mit dem Befehl hd-idle -t sdd funktioniert das ganze zwar manuell aber automatisch per hd-idle config klappt das nicht.


    Das steht in der config

    Code
    START_HD_IDLE=true
    HD_IDLE_OPTS="-a /dev/sdc -i 1800 -a /dev/sdd -i 1800"


    und das sagt die Statusabfrage

    Code
    ● hd-idle.service - hd-idle - spin down idle hard disks
         Loaded: loaded (/lib/systemd/system/hd-idle.service; enabled; vendor preset: enabled)
         Active: active (running) since Tue 2022-02-08 17:11:20 CET; 12h ago
           Docs: man:hd-idle(1)
       Main PID: 724 (hd-idle)
          Tasks: 1 (limit: 3969)
         Memory: 568.0K
         CGroup: /system.slice/hd-idle.service
                 └─724 /usr/sbin/hd-idle -a /dev/sdc -i 1800 -a /dev/sdd -i 1800

    Hat wer eine Idee warum sich die HDD nicht per service in den Standby versetzen lässt?

  • Systemd ist ein hassobjekt fuer mich, da krieg ich nix debugged, weil das alles so total kompliziert ist.
    Denke aber mal nicht, das der jetzt ursaechlich fuer das Problem ist, bloss mein "systemd delenda est".

    Disable halt mal hd-idle in systemd und starte das manuell mit denselben daemon parametern um systemd als problemquelle auszuschliessen.

    Ich wuerde mal vermuten, das hd-idle als daemon gestartet nicht feststellen wird, das die platte idle ist, also nicht vom linux angefasst wird. Und deswegen die Platte nicht automatisch runterfaehrt.

    Dasselbe solltest Du allerdings auch feststellen koennen wenn kein hd-idle laeuft, Du das so wie du das gemacht hast als one-time-trigger startest ... und dann wartest. Wenn da irgendwas im Linux die Platte anspricht, dann wird die ja wieder anlaufen.

    Bei mir war das dann das komplexe Desktopsystem, was ja gerne USB Platten mit huebschen icons anzeigt, und die deswegen regelmaessig aufweckt. Hab das feate irgendwann mal abgeschaltet, frag mich aber nicht, wie. Auf jeden Fall leicht zu testen: Wenn platte immer wieder anlaeuft, einfach mal desktop stoppen und nur per CLI gucken was dann die platte macht.

  • Es hängen zwei USB HDDs am System und eine von beiden fährt herunter. Die andere lässt sich nur per manuellen Eingriff herunterfahren. Wenn sie dann aus ist, schaltet sie sich irgendwann wieder ein, auch ohne mein zutun..

  • sagen wir mal das sdf die problematische platte ist.

    while true ; do grep "sdf " /proc/diskstats; sleep 1 ; done

    Das ist so ungefaehr was hd-idle macht um festzustellen, ob da irgenwas im Linux auf die Platte zugreift, und es legt die Platte bloss still, wenn das lange nicht passiert. Wuerde also mal ohne desktop und ohne laufendes hd-idle folgendes machen:

    a) manuel mit hd-idle platte lahmlegen
    b) script oben starten.

    Jetzt gucken, ob sich die ausgabe aendert. Wenn ja, dann hat irgendwas im Linux an der platte was gemacht. Und dann ist es zu erwarten, das die aufwacht und das hd-idle die dann nicht wieder stilllegt.
    Dann waere die schwierigere Aktion die Suche nach dem Uebeltaeter im Linux.

    Wenn sich da nix tut, aber die Platte trotzdem aufwacht dann ist das USB gehaeuse Moppelkotze.

    Wasn das fuer ein USB Gehaeuse ?

  • Dann waere die schwierigere Aktion die Suche nach dem Uebeltaeter im Linux.

    iotop in Kombination mit lsof (grep auf mount-Point) waren in der Vergangenheit meine Mittel der Wahl (und geschicktes Greppen des /proc-Filesystems, wie bei dir)

    smbd ist ein typischer Kandidat. Wenn noch irgendwo ein Client eine App offen hat, das ein directory-Listing überwacht.

    Kodi 21.1, 17.6, 21.1, 16, 20.5 on Windows 11 Pro, Android 6, Android 12, FireTV Box 2nd Gen, FireTV 4k Max 2nd Gen
    Media on NAS, OpenMediaVault 6 (Debian Linux).

  • Ist die Platte denn überhaupt dafür eingestellt, in den Ruhezustand zu gehen?
    Ich hatte mir vor kurzem 2 externe Seagate geholt, beide waren so eingestellt, dass sie gar nicht erst in den Ruhezustand gehen konnten. Ich musste erst mit einem (von vier) bestimmten Seagate-Tool den idle-Modus aktivieren, und erst dann klappte das mit dem Ruhezustand. Der String dafür ist auf der HDD selber, NICHT dem Controller des externen Gehäuses abgelegt.
    Vielleicht musste das bei deiner WD auch machen ?
    Oder rede ich grade komlett am Thema vorbei ?

    Gruß Gz

    2x Android TV-Box Amlogic t95zPlus,1x Andriot TV-Box Amlogic t95zPlus 6K, 2x Qnap 1x Synology NAS, LG 55" 3D-TV + 40", Surround

  • Die idle-Time konnte man mit den Tool auch auswählen bzw einstellen, 5min 10,15min usw... k.A. ob das mit nem Tool von WD auch geht bzw überhaupt eines gibt. Such doch mal nach sowas.

    Gruß Gz

    2x Android TV-Box Amlogic t95zPlus,1x Andriot TV-Box Amlogic t95zPlus 6K, 2x Qnap 1x Synology NAS, LG 55" 3D-TV + 40", Surround

  • Ich habe nun alles mal getestet und mittlerweile fährt die Platte, auch herunter wenn der Desktop mit startet aber irgendwas greift dann wieder auf die Festplatte zu und startet diese wieder. Wie bekomme ich raus welches Programm darauf zugreift?

  • Ich habe DEVICESCAN testweise in /etc/smartd.conf auskommentiert und lasse nun iotop -o -b -d10 -n330 >io.txt laufen. Mal sehen on ich später noch einen Prozess finde der das auslösen könnte..

    edit

    in der Ausgabe taucht immer wieder diese Zeile auf

    Code
    2901 be/4 root       22.11 K/s    0.00 B/s  0.00 %  0.01 % mount.ntfs /dev/sdc1 /mnt/ExterneHDD1 -o rw,nosuid,nodev,nofail
    
    
       1212 be/4 root      404.66 B/s    0.00 B/s  0.00 %  0.00 % mount.ntfs /dev/sdd1 /mnt/ExterneHDD3 -o rw,nosuid,nodev,nofail

    Hat jemand eine Ahnung was das ist?

  • Vielleicht hast du auch das gleiche Problem wie ich...
    Seit dem Kernel größer 5.X wird vom System alle (ziemlich genau) 10min über den Dienst udisks2 ein Schreib-/Lesebefehl ausgestzt.
    Deinstalliert man udisk2, funktioniert ein hd-idle Eintrag von mehr als 600sek wieder.
    Auch die Verwendung von einem älteren kernel (z.B. http://4.19.XX/4.20.XX) trägt zur Lösung bei.
    Habe auch schon einen Eintrag dazu auf github dazu gemacht und alles zugmal unter Debian Bullseye und Ubuntu 21.04 getestet.

    Asrock J5040 powered by Ubuntu 22.04 and KODI

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!