Hallo Forum, ich habe hier einen Linux-Server Ubuntu 22.04.3 LTS laufen. Darin werkeln 4 Festplatten welche aus Stromspargründen und Wärme in Standby oder Sleep geschickt werden sollen. Das habe ich bislang mit hdparm gemacht. Einfach beim starten mit -S die Spindownzeit eingestellt. Das ganze hat super funktioniert bis ich letztens die grafische Oberfläche brauchte. Zuvor habe ich alles über die Konsole erledigen können. Deshalb habe ich lightdm, ubuntu-desktop, kde-plasma-desktop und konqueror installiert. Hat auch funktioniert, bis auf das Schlafen der Festplatten. Also hab ich dann kurzerhand alles wieder deinstalliert. Das Verhalten ist leider immer noch nicht zum Ursprung zurückgekehrt. Und zwar ist das jetzt so: wenn ich die Platten per Hand (hdparm -y) herunterfahre, bleiben sie auch aus, bis jemand wirklich darauf zu greift. Allerdings gehen sie nach der eingestellten Spindownzeit nicht von allein wieder aus. Auch mehrfaches schreiben der Zeit (hdparm -S 60) hat keinen Effekt. Was könnte das sein? Wie kann ich rausfallen, wer hier das Schlafen verhindert? Gibt es andere Tools außer hdparm?
Linux Server mit grafischer Oberfläche? Sowas gibt es doch eigentlich nur bei den Windows-Power-Administratoren 😂😂😂
Falls systemd direkt auf /sys/block/sda schreibt, brauchst du einen Hellseher mit magischen Fähigkeiten. Ein normaler Mensch blickt da nicht mehr durch.
Rangi J. schrieb: > Also hab ich dann kurzerhand alles wieder deinstalliert. > Das Verhalten ist leider immer noch nicht zum Ursprung zurückgekehrt. Weil damit leider nicht alles weg ist. Du hast Dir damit ein paar Updates und systemd Services eingefangen.
Hast du mit "apt-get remove" oder mit "apt-get purge", bzw. "apt-get autoremove" / "apt-get autopurge" deinstalliert? Nur die purge varianten entfernen auch die Configs, vielleicht geistert da noch eine rum. Im Internet findet man das hier zum endgültig purgen:
1 | sudo apt-get autopurge $(dpkg -l | grep '^rc' | awk '{print $2}') |
Es gibt auch irgend einen speziellen Query den man "apt-get purge" direkt mitgeben könnte, aber den hab ich vergessen. Vielleicht findest du auch in /usr/lib/udev/rules.d/ oder /etc/udev/rules.d/ noch was. Vielleicht kannst du auch mit Powertop noch was einstellen / analysieren.
Daniel A. schrieb: > Hast du mit "apt-get remove" oder mit "apt-get purge", bzw. "apt-get > autoremove" Ja, mit purge und hinterher autoremove. wenn ich mir alles mit "lsof | grep /mnt/backup" ansehe, ist hier keine Datei offen. Ist ja auch komisch, das die Platten nicht von alleine anspringen, was ja der Fall wäre, wenn irgendwer hier zyklisch zugreifen würden. Irgendwer oder was verhindert den Timer, der runterzählt. Ist dieser Timer eigentlich in Software im Linux oder läuft der in der jeweiligen Platte?
Rangi J. schrieb: > Daniel A. schrieb: >> Hast du mit "apt-get remove" oder mit "apt-get purge", bzw. "apt-get >> autoremove" > > Ja, mit purge und hinterher autoremove. Hm, autoremove statt autopurge... Rangi J. schrieb: > Ist dieser Timer eigentlich in Software im Linux oder läuft der in der > jeweiligen Platte? Es gibt Powersave Einstellungen im Kernel. z.B. /sys/block/sda/power/* so Sachen gibts für so ziemlich alles "find /sys -iname power". Darum auch der Verweis auf udev, damit kann man die auch setzen. Und Vermutlich kann man die auch mit sysctl (/etc/sysctl.d/) setzen.
Unter Umständen änderte ein Skript Eintragungen in einer Konfigurationsdatei, z.B. /boot/config-*-generic. Warning keep maintainers config y/n usw. wären Hinweise auf solche nicht so gängigen Herausforderungen.
Im Gnome Desktop von Debian gibt es das Programm "Laufwerke (Disks), da kann man so etwas einstellen. Funktioniert bei mir auch. Vielleicht gibt es dieses Programm auch in Ubuntu.
Dieter D. schrieb: > z.B. /boot/config-*-generic Ubuntu liefert normalerweise vorkompilierte Kernels. Man kann sich natürlich die Sourcen runterladen, die /boot/config mit make oldconfig kopieren, den Kernel neu bauen und installieren, und das System neu starten, um Einstellungen zu ändern, und man kann das auch mit einem Skript automatisieren. Aber die Wahrscheinlichkeit, das hier soetwas gemacht wurde, dürfte ziemlich genau 0 betragen.
:
Bearbeitet durch User
Schau dir das mal an, vielleicht ist das bei dir da konfiguriert: https://wiki.archlinux.org/title/udisks#Apply_ATA_settings
Xanthippos schrieb: > Falls systemd direkt auf /sys/block/sda schreibt, brauchst du einen > Hellseher mit magischen Fähigkeiten. Ein normaler Mensch blickt da nicht > mehr durch. Naja, Du vielleicht nicht... :-)
Daniel A. schrieb: > Es gibt Powersave Einstellungen im Kernel. z.B. /sys/block/sda/power/* Es gibt hier tatsächlich eine passende Einstellung: autosuspend_delay_ms Ich wollte das mal für eine Platte testen. Allerdings kann ich hier nicht lesen und auch nicht schreiben. sudo echo "60000" > "/sys/block/sde/power/autosuspend_delay_ms" -bash: /sys/block/sde/power/autosuspend_delay_ms: Permission denied
Rangi J. schrieb: > Was könnte das sein? Wie kann ich rausfallen, wer hier das Schlafen > verhindert? Gibt es andere Tools außer hdparm? blktrace fatrace
Lukey S. schrieb: > Schau dir das mal an, vielleicht ist das bei dir da konfiguriert: > > https://wiki.archlinux.org/title/udisks#Apply_ATA_settings Hier steht was, dass tatsächlich passen könnte: > 5.3 Broken standby timer > The udisks daemon polls S.M.A.R.T. data from drives regularly. Hard drives > with a longer standby timeout than the polling interval may fail to enter > standby. Drives that are already spun down are usually not affected. There > seems no way to disable polling or change the interval as for udisks2 by > now. See [6], [7]. > However, Standby timeout applied by udisks2 seems to be unaffected. To set > standby timeout via udisks, see #Apply ATA settings. > Other possible workarounds could be setting the timeout below the polling > interval (10 minutes) Allerding funktioniert der Workaround leider nicht. Selbst bei 5 Sekunden Spindown macht die Platte keinen Anzeichen eines Abschaltens.
Rangi J. schrieb: > Allerdings kann ich hier > nicht lesen und auch nicht schreiben. > sudo echo "60000" > "/sys/block/sde/power/autosuspend_delay_ms" > -bash: /sys/block/sde/power/autosuspend_delay_ms: Permission denied sudo bezieht sich immer nur auf einen Befehl. Du wendest sudo auf "echo 60000" an. Das Echo braucht aber keine Root-Rechte. Die Umleitung in das sysfs-device läuft mit Userrechten, bräuchte aber root. Entweder mit "sudo -i" gleich eine root-shell starten, oder
1 | echo 60000 | sudo tee /sys/block/sde/power/autosuspend_delay_ms |
Auch das funktioniert leider nicht: sudo sh -c 'echo 10000 > /sys/block/sde/power/autosuspend_delay_ms' sh: 1: echo: echo: I/O error
Εrnst B. schrieb: > Entweder mit "sudo -i" gleich eine root-shell starten root@wallie:~# echo "60000" > "/sys/block/sde/power/autosuspend_delay_ms" -bash: echo: write error: Input/output error nee, sorry, geht auch nicht
Rangi J. schrieb: > nee, sorry, geht auch nicht Ja, gut möglich dass das Attribut für SATA-Platten nicht existiert. Lässt sich evtl. auch nicht auslesen. Aber dann liegt's wenigstens nicht an fehlenden Root-Rechten.
Rangi J. schrieb: > root@wallie:~# echo "60000" > > "/sys/block/sde/power/autosuspend_delay_ms" > -bash: echo: write error: Input/output error Dann wird die Option dort wohl einfach nicht unterstützt. Irgendwo gibt es noch Ordner für usb sata etc. Controller, die auch jeweils solche Einstellungen haben, vielleicht geht es da. Mit "realpath /sys/block/sde siehst du den ganzen Pfad, mit allen Bussen un Controlern usw. drin." Steht power/control auf auto? https://www.kernel.org/doc/Documentation/usb/power-management.txt
Daniel A. schrieb: > /sys/block/sde/power/autosuspend_delay_ms Versuche mit sudo nano sys.... ob Du die Zahl über editieren ändern kannst.
:
Bearbeitet durch User
Dieter D. schrieb: > Versuche mit sudo nano sys.... ob Du die Zahl über editieren ändern > kannst. Nein, geht auch nicht, kann nicht lesen und nicht schreiben.
Rangi J. schrieb: > Nein, geht auch nicht, kann nicht lesen und nicht schreiben.
1 | sudo file /sys/block/sda/power/* |
2 | /sys/block/sda/power/autosuspend_delay_ms: ERROR: cannot read `/sys/block/sda/power/autosuspend_delay_ms' (Input/output error) |
3 | /sys/block/sda/power/control: ASCII text |
4 | /sys/block/sda/power/runtime_active_time: ASCII text |
5 | /sys/block/sda/power/runtime_status: ASCII text |
6 | /sys/block/sda/power/runtime_suspended_time: ASCII text |
Stimmt. Das geht so nicht mehr zuzugreifen.
Herbert schrieb: > hd-idle funktioniert bei mir unter Kubuntu prima. > > https://sourceforge.net/projects/hd-idle/ > > herby Das Tool scheint zu funktionieren, habs mir mit -d Debug angesehen, zählt artig runter, wenn es keine Zugriffe gibt und schaltet dann die Platten aus. Mir ist noch nicht so ganz klar, wie man es verwendet. Läuft es automatisch im Hintergrund? Ohne root-rechte geht es nicht? Wo hast du es gestartet?
Ich habs so installiert: apt install hd-idle /etc/default/hd-idle editieren Zeile unten einfügen: HD_IDLE_OPTS="-a /dev/sdb1 -i 900 -a /dev/sdc1 -i 900 -l /var/log/hd-idle.log systemctl start hd-idle.service systemctl enable hd-idle.service Ab hier läuft alles im Hintergrung, auch nach Neustart. Meine Conf-Datei hänge ich an.
Das sollte bei Ubuntu 22.04 als Paket installierbar sein. Konfiguration über /etc/default/hd-idle. Gruß, f
ja, apt-get hab ich verwendet Herbert schrieb: > Meine Conf-Datei hänge ich an. Vielen Dank Herbert, ich werde mich da mal dransetzen und das noch eintragen. Ich hab ich versucht, die symlinks (/dev/disk/by-partuuid etc.) zu verwenden. Funktioniert auch auf Anhieb. Danke für die Hilfe
Danke für die Rückmeldung. Freut mich, dass ich helfen konnte.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.