• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

HDDs wachen ungewollt auf

winkl2

Newbie
Hallo zusammen,

in meinem neuen openSUSE 12.3 (x86_64) (Kernel 3.7.10-1.16-desktop) Rechner sind zwei SSDs (sda, sdb) und zwei ST4000DM000 HHDs (sdc, sdd) installiert.
Die HHDs möchte ich in den Schlaf schicken, wenn sie nach einer Stunde nicht mehr verwendet wurden.

Ein simpler Test mit
Code:
sudo /sbin/hdparm -Y /dev/sdc 
sudo /sbin/hdparm -Y /dev/sdd

schickt die Platten zwar in den Schlaf, allerdings wachen sie nach einigen Minuten wieder auf, obwohl das System von mir nicht weiter bedient wurde.

Ein Blick in /var/log/messages zeigt mir folgendes:
Code:
2013-11-09T08:54:28.108294+01:00 computer sudo: pam_unix(sudo:session): session closed for user root
2013-11-09T08:57:00.405300+01:00 computer kernel: [ 1812.093503] ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
2013-11-09T08:57:00.405316+01:00 computer kernel: [ 1812.093506] ata4.00: waking up from sleep
2013-11-09T08:57:00.405318+01:00 computer kernel: [ 1812.093509] ata4: hard resetting link
2013-11-09T08:57:00.710250+01:00 computer kernel: [ 1812.397940] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
2013-11-09T08:57:00.713245+01:00 computer kernel: [ 1812.401661] ata4.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
2013-11-09T08:57:00.713257+01:00 computer kernel: [ 1812.401668] ata4.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
2013-11-09T08:57:00.713259+01:00 computer kernel: [ 1812.401671] ata4.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
2013-11-09T08:57:05.717237+01:00 computer kernel: [ 1817.402017] ata4.00: qc timeout (cmd 0xef)
2013-11-09T08:57:05.717253+01:00 computer kernel: [ 1817.402025] ata4.00: failed to enable AA (error_mask=0x4)
2013-11-09T08:57:05.717254+01:00 computer kernel: [ 1817.402026] ata4.00: revalidation failed (errno=-5)
2013-11-09T08:57:05.717255+01:00 computer kernel: [ 1817.402029] ata4: hard resetting link
2013-11-09T08:57:09.898256+01:00 computer kernel: [ 1821.580581] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
2013-11-09T08:57:09.900265+01:00 computer kernel: [ 1821.582677] ata4.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
2013-11-09T08:57:09.900279+01:00 computer kernel: [ 1821.582686] ata4.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
2013-11-09T08:57:09.900283+01:00 computer kernel: [ 1821.582691] ata4.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
2013-11-09T08:57:09.901245+01:00 computer kernel: [ 1821.584385] ata4.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
2013-11-09T08:57:09.901256+01:00 computer kernel: [ 1821.584390] ata4.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
2013-11-09T08:57:09.901258+01:00 computer kernel: [ 1821.584394] ata4.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
2013-11-09T08:57:09.902058+01:00 computer udisksd[1554]: Error performing housekeeping for drive /org/freedesktop/UDisks2/drives/ST4000DM000_1F2168_Z300GE6L: Error updating SMART data: sk_disk_smart_read_data: Operation not supported (udisks-error-quark, 0)
2013-11-09T08:57:09.902251+01:00 computer kernel: [ 1821.584978] ata4.00: configured for UDMA/133
2013-11-09T08:57:09.902263+01:00 computer kernel: [ 1821.585002] ata4: EH complete
2013-11-09T08:57:09.936251+01:00 computer kernel: [ 1821.619115] ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
2013-11-09T08:57:09.936261+01:00 computer kernel: [ 1821.619117] ata3.00: waking up from sleep
2013-11-09T08:57:09.936263+01:00 computer kernel: [ 1821.619120] ata3: hard resetting link
2013-11-09T08:57:10.241258+01:00 computer kernel: [ 1821.923386] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
2013-11-09T08:57:10.244240+01:00 computer kernel: [ 1821.927108] ata3.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
2013-11-09T08:57:10.244251+01:00 computer kernel: [ 1821.927114] ata3.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
2013-11-09T08:57:10.244253+01:00 computer kernel: [ 1821.927117] ata3.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
2013-11-09T08:57:15.248254+01:00 computer kernel: [ 1826.927416] ata3.00: qc timeout (cmd 0xec)
2013-11-09T08:57:15.248270+01:00 computer kernel: [ 1826.927427] ata3.00: failed to IDENTIFY (I/O error, err_mask=0x4)
2013-11-09T08:57:15.248272+01:00 computer kernel: [ 1826.927430] ata3.00: revalidation failed (errno=-5)
2013-11-09T08:57:15.248273+01:00 computer kernel: [ 1826.927435] ata3: hard resetting link
2013-11-09T08:57:19.429251+01:00 computer kernel: [ 1831.105986] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
2013-11-09T08:57:19.438238+01:00 computer kernel: [ 1831.115096] ata3.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
2013-11-09T08:57:19.438247+01:00 computer kernel: [ 1831.115101] ata3.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
2013-11-09T08:57:19.438249+01:00 computer kernel: [ 1831.115104] ata3.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
2013-11-09T08:57:19.439241+01:00 computer kernel: [ 1831.116763] ata3.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
2013-11-09T08:57:19.439251+01:00 computer kernel: [ 1831.116768] ata3.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
2013-11-09T08:57:19.439253+01:00 computer kernel: [ 1831.116771] ata3.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
2013-11-09T08:57:19.440097+01:00 computer udisksd[1554]: Error performing housekeeping for drive /org/freedesktop/UDisks2/drives/ST4000DM000_1F2168_Z300GZ7P: Error updating SMART data: sk_disk_smart_read_data: Operation not supported (udisks-error-quark, 0)
2013-11-09T08:57:19.440248+01:00 computer kernel: [ 1831.117346] ata3.00: configured for UDMA/133
2013-11-09T08:57:19.440257+01:00 computer kernel: [ 1831.117369] ata3: EH complete
2013-11-09T09:00:01.382004+01:00 computer /usr/sbin/cron[5382]: pam_unix(crond:session): session opened for user root by (uid=0)
2013-11-09T09:00:01.382756+01:00 computer /usr/sbin/cron[5381]: pam_unix(crond:session): session opened for user root by (uid=0)

Kann mir hier jemand weiterhelfen?
Nepomuk ist deaktiviert.
Und smartd / hddtemp habe ich testweise erst mal deinstalliert um dies als Ursache auszuschließen.

smartd zeigte keine Fehler bei allen (neuen) SSDs/HDDs an!

Vielen Dank für jegliche Hilfe!
winkl
 
A

Anonymous

Gast
winkl2 schrieb:
Die HHDs möchte ich in den Schlaf schicken, wenn sie nach einer Stunde nicht mehr verwendet wurden.

Wie ist das zu verstehen, Platten einschlafen lassen obwohl die Filesysteme noch gemountet sind, bzw LVM oder Raids darauf noch aktiv sind ?

robi
 
OP
W

winkl2

Newbie
Ja, die Platten bleiben im Filesystem (mit LVM, kein RAID) eingebunden - mit "Schlafen schicken" meine ich ganz simpel den Energiesparmodus inkl. spin down.
 
A

Anonymous

Gast
Entsprechend deiner Filesysteme die du dort drauf hast und den Mountoptionen, den derzeit offenen Dateien auf diesem Filesystem wird das eventuell schwer bis unmöglich werden.

Schau dir mal mit "lsof Mountpoint" an, was dort alles für offene Dateien drauf sind. Wenn auf den Filesystemen noch dirsync und async gesetzt sind, reichts schon wenn ein Hintergrundprozess irgend etwas an einer offenen Datei macht, bzw eine Datei oder Verzeichnis anfasst wird, die nicht mal neu gelesen werden braucht, da sie derzeit noch im Cache rumliegt. Trotzdem würde nach kurzer Zeit die Platte wieder geweckt werden.


"obwohl das System von mir nicht weiter bedient wurde" kann ganz schön trügerisch sein:
zB wenn du nur die beiden hdparam Befehle abgesetzt hast, dann hast du damit gleichzeitig schon mal das aktuelle Verzeichnis und das HOME-Verzeichnis ausgelesen (beim ermitteln der env-Umgebung für den Start des Subprozesses), die ~/.bash_history geändert, /sbin ausgelesen, /sbin/hdparm und eventuell noch zusätzliche Librarys und /usr/lib gelesen, eventuell noch einige Dateien in /etc ..., usw. das können durchaus 20-30 Dateien sein die so ein winiziger Befehl anfasst oder ausgelöst durch das Starten desselben von der aktuellen Bash erst noch angefasst werden müssen, passiert das Ganze dann auch noch auf der grafischen Oberfläche, dann passiert im Hintergrund von viel mehr. Zum einen Teil sind solche Dateien jedoch Sockets und Kernelinteren Pipes oder temporäre Dateisysteme wie proc sys oder dev, aber alle richtigen Dateien oder Verzeichnisse die dort involviert sind, würden jetzt bei einem ext3/ext4 Dateisystem im Normalfall einen neuen A-Time Zeitstempel bekommen und desshalb würden jetzt im Speicher einige Cacheseiten auf "Dirty" gesetzt sein, weil die Inodetabellen der entsprechenden Dateisysteme neu geschrieben werden müssen.
Deine Platten gehen schlafen und wenn nur eine einzige dieser angefassten Dateien in einem Dateisystem ist, das irgend etwas mit diesen Platten zu tun hat, dann wird innerhalb der nächsten 2 bis 4 Minuten der automatische Sync des Dateisystems die Platte wieder wecken.

Besser ist wohl das bei Tests "natürlich" herbeizuführen, in dem man das System absolut in Ruhe lässt und schaut ob die Platten irgendwann überhaupt mal offline gehen, das Wecken sollte man in den Logs dann später finden können.

Ich hab sowas ähnliches mal vor Jahren mit mehreren Backupplatten gemacht und bin schier verzweifelt. Die Platten sollten zwischen den Backups komplett schlafen, obwohl normal mit der Kiste weitergearbeitet wurde.
Aber selbst nachdem alles umountet war, haben dennoch bestimmte Aktionen oder undefinierbare Kernelaltivitäten die Platten immer wieder geweckt. Da der damalige verwendete Plattentype auch nicht wirklich selbsttändig einschlafen wollte, waren die Platten dann dennoch mehr an als aus. Letztlich habe ich dann den großen Holzhammer genommen und nach dem Backup die Platten komplett aus dem SCSI-Bus auskonfiguriert und crongesteuert erst unmittelbar vor dem nächsten Backup wieder durch rescan-scsi-bus.sh dazugenommen. In Summe waren das ein einige Scripte die als Startscripte und Cronjobs dann immer den aktuellen Status ermittelt haben und dann die Platten entsprechend in den richtigen Status geschickt haben. Ob das heute besser oder gar automatisch auch gemountet gehen würde ?????, das reine Betriebsystem wohl ehr gar nicht, Exportierte FS und reine Datenpartitionen müsste man eventuell doch experimentieren und bei Homeverzeichnissen wäre ich da schon ziemlich skeptisch bei dem ganzen Kram der da bei KDE4 im Hintergrund abgeht.

robi
 
OP
W

winkl2

Newbie
Hallo robi,

vielen Dank für deine ausführliche Antwort!

Ich habe gleich mal den Tipp mit
Code:
computer:/home # lsof /data/LG_Data/
als root versucht und bekomme dabei leider folgende Fehlermeldung:
Code:
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /var/run/user/1000/gvfs
      Output information may be incomplete.

Als normaler User ausgeführt kommt keine Fehlermeldung - zeigt aber auch keine offenen Dateien an.
Code:
user@computer:~> lsof /data/LG_Data/
Selbst nach dem manuellen "Schlafen legen" und Abwarten bis die Platten wieder hoch fahren sehe ich im Repeat-Modus per
Code:
user@computer:~> lsof -r1 /data/LG_Data/
keine offenen Dateien.

Im /var/log/messages taucht wieder folgendes im Moment des Wake Ups auf:
Code:
2013-11-10T11:26:11.514581+01:00 computer sudo: pam_unix(sudo:session): session closed for user root
2013-11-10T11:27:00.220867+01:00 computer kernel: [97156.433803] ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
2013-11-10T11:27:00.220888+01:00 computer kernel: [97156.433808] ata4.00: waking up from sleep
2013-11-10T11:27:00.220891+01:00 computer kernel: [97156.433814] ata4: hard resetting link
2013-11-10T11:27:00.525871+01:00 computer kernel: [97156.737987] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
2013-11-10T11:27:00.528858+01:00 computer kernel: [97156.741722] ata4.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
2013-11-10T11:27:00.528868+01:00 computer kernel: [97156.741728] ata4.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
2013-11-10T11:27:00.528869+01:00 computer kernel: [97156.741731] ata4.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
2013-11-10T11:27:05.533877+01:00 computer kernel: [97161.743012] ata4.00: qc timeout (cmd 0xec)
2013-11-10T11:27:05.533897+01:00 computer kernel: [97161.743024] ata4.00: failed to IDENTIFY (I/O error, err_mask=0x4)
2013-11-10T11:27:05.533898+01:00 computer kernel: [97161.743026] ata4.00: revalidation failed (errno=-5)
2013-11-10T11:27:05.533900+01:00 computer kernel: [97161.743032] ata4: hard resetting link
2013-11-10T11:27:09.663873+01:00 computer kernel: [97165.870626] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
2013-11-10T11:27:09.675859+01:00 computer kernel: [97165.883014] ata4.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
2013-11-10T11:27:09.675873+01:00 computer kernel: [97165.883022] ata4.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
2013-11-10T11:27:09.675876+01:00 computer kernel: [97165.883027] ata4.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
2013-11-10T11:27:09.677886+01:00 computer kernel: [97165.884994] ata4.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
2013-11-10T11:27:09.677902+01:00 computer kernel: [97165.885000] ata4.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
2013-11-10T11:27:09.677904+01:00 computer kernel: [97165.885005] ata4.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
2013-11-10T11:27:09.677905+01:00 computer kernel: [97165.885541] ata4.00: configured for UDMA/133
2013-11-10T11:27:09.677907+01:00 computer kernel: [97165.885576] ata4: EH complete
2013-11-10T11:27:09.678272+01:00 computer udisksd[1554]: Error performing housekeeping for drive /org/freedesktop/UDisks2/drives/ST4000DM000_1F2168_Z300GE6L: Error updating SMART data: sk_disk_smart_read_data: Operation not supported (udisks-error-quark, 0)
2013-11-10T11:27:09.715851+01:00 computer kernel: [97165.922951] ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
2013-11-10T11:27:09.715861+01:00 computer kernel: [97165.922954] ata3.00: waking up from sleep
2013-11-10T11:27:09.715862+01:00 computer kernel: [97165.922959] ata3: hard resetting link
2013-11-10T11:27:10.020866+01:00 computer kernel: [97166.227388] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
2013-11-10T11:27:10.023856+01:00 computer kernel: [97166.231084] ata3.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
2013-11-10T11:27:10.023864+01:00 computer kernel: [97166.231089] ata3.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
2013-11-10T11:27:10.023866+01:00 computer kernel: [97166.231092] ata3.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
2013-11-10T11:27:15.024866+01:00 computer kernel: [97171.228450] ata3.00: qc timeout (cmd 0xef)
2013-11-10T11:27:15.024887+01:00 computer kernel: [97171.228464] ata3.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) failed (Emask=0x4 Stat=0x50 Err=0x00)
2013-11-10T11:27:15.024889+01:00 computer kernel: [97171.228468] ata3.00: revalidation failed (errno=-5)
2013-11-10T11:27:15.024890+01:00 computer kernel: [97171.228473] ata3: hard resetting link
2013-11-10T11:27:19.205871+01:00 computer kernel: [97175.407029] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
2013-11-10T11:27:19.271867+01:00 computer kernel: [97175.473640] ata3.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
2013-11-10T11:27:19.271886+01:00 computer kernel: [97175.473647] ata3.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
2013-11-10T11:27:19.271889+01:00 computer kernel: [97175.473650] ata3.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
2013-11-10T11:27:19.273894+01:00 computer kernel: [97175.475380] ata3.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
2013-11-10T11:27:19.273911+01:00 computer kernel: [97175.475384] ata3.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
2013-11-10T11:27:19.273917+01:00 computer kernel: [97175.475386] ata3.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
2013-11-10T11:27:19.273920+01:00 computer kernel: [97175.475943] ata3.00: configured for UDMA/133
2013-11-10T11:27:19.273923+01:00 computer kernel: [97175.475964] ata3: EH complete
2013-11-10T11:27:19.274258+01:00 computer udisksd[1554]: Error performing housekeeping for drive /org/freedesktop/UDisks2/drives/ST4000DM000_1F2168_Z300GZ7P: Error updating SMART data: sk_disk_smart_read_data: Operation not supported (udisks-error-quark, 0)
2013-11-10T11:30:01.403758+01:00 computer /usr/sbin/cron[16011]: pam_unix(crond:session): session opened for user root by (uid=0)

Hier noch ein paar Ergänzungen:
/data/LG_Data sollte ein vom System relativ abgekoppelter Bereich sein. Es handelt sich dabei um eine Volume Group (ext4, einziger mount point) bestehend aus den beiden HDDs. Das eigentliche openSUSE-System liegt auf den beiden SSDs. Mit anderen Worten, dass auf die SSDs ständig von Hintergrundprozessen zugegriffen wird ist klar, aber bei den HDDs (reines Daten-Grab) sehe ich momentan keinen Grund. Lediglich bei smartd oder sonstigen Monitoring-Tools hätte ich es verstanden. smartd ist ja aber deinstalliert.

Gruß
winkl
 
A

Anonymous

Gast
Wenn wie es aussieht bei dir keine Dateien offen sind, und auch keine Applikation vom Hintergrund her dort aktiv wird, solltest du eine reelle Chance haben.

Ich habe mal kurz folgendes getestet um festzustellen und komplett auszuschließen das vom Dateisystem oder von LVM2 permanet auf die Disk gepollt wird.

  • Virtuelle Maschine zusätzliche Platte (sdb) versehen und partitioniert in 2 Teile.
    über die beiden Partitionen ein Logisches Volume gelegt und mit ext4 Dateisystem versehen.
    Rechner in Runlevel 2 gefahren.
    Filesystem gemountet.
    "sync" ausgeführt.
    den SCSI-Loglevel hochgedreht. "echo 9411 > /proc/sys/dev/scsi/logging_level"
    das System jetzt 15 Minuten laufen lassen ohne irgend etwas daran zu machen
    SCSI-Logging wieder ausgeschalten, "echo 0 > /proc/........."
    danach in der /var/log/messages nach scsi-logging Einträgen von "[sdb]" gesucht.

gefunden hab ich dort nichts, das scheint auszuschließen das von ext4 und lvm selbst dort regelmäßig zugegriffen wird, und sind bessere Vorraussetzungen als jenes was ich vor Jahren bei Raid5 bemerkt hatte.
(Vorsicht wenn du selbst mit SCSI-Logging experementieren willst, das haut dir die Logdateien messages und warn gut voll, und du solltest wenn du das länger laufen lassen willst im Vorfeld da einen speziellen Filter in das Syslog einbauen.)

An deiner Stelle würde ich mal folgendermaßen weitertesten:
  • erst nur mal die Applikation beenden die dort normalerweise zugreifen würde, testen ob die Platten jetzt längere Zeit aus bleiben.
    dann umounten und wieder testen.
    wenn noch immer die Platten nach kurzer Zeit aufwachen, auch noch das Logische Volume anhalten.
Bringt das immer noch nichts, und sind sonst alle offensichtlichen Störenfriede ausgeschalten, dann gehts an Eingemachte ;) Stichworte könnten sein udisks und hal
die Daemons dieser Prozesse sollten deine Platte besstems kennen. und diese Daemons müssten/sollten normalerweise auch Bescheid wissen wenn eine Platte aktuell spindown ist.
Code:
udisks --dump
lshal
sollten dir schon mal einen kleinen Überblick verschaffen, was die so alles sehen.
Insbesonder udisks und die Manpage könnten eventuell weiterhelfen. Versuche mal mitttels udisks und nicht mittels hdparm deiner Platte zu sagen das sie schlafen darf wenn nichts los ist.
udisks hat auch einen Monitor, der Aktivitägen dort anzeigt, wahrscheinlich auch genau den Prozess der deine Platten bisher immer wieder weckt.
Aber in dieser Ecke spiele ich auch nur selten herum, hab also auch keine großen Erfahrungen dort.

robi
 

josef-wien

Ultimate Guru
hal gibt es bei 12.3 nicht einmal mehr im Repo. udisks wird wahrscheinlich auch nicht installiert sein, sondern nur mehr udisks2, also:
Code:
udisksctl dump
 
A

Anonymous

Gast
josef-wien schrieb:
hal gibt es bei 12.3 nicht einmal mehr im Repo. udisks wird wahrscheinlich auch nicht installiert sein, sondern nur mehr udisks2,
und schon haben wir den Spezialisten gefunden, ;) ;) ;)
ist immer schwierig mit anderen Linuxversionen solche Probleme lösen zu wollen, wenn man ganz andere Hintergrund Tools am laufen hat und seit Jahren systematisch alle Abwärtskompatibilitäten gebrochen werden, und ausreichende Dokumentation für neue revolutionäge Methoden schon gar nicht mehr wirklich erstellt wird. Man begnügt sich oft schon mit sochen Sätzen wie "Typically, users or administrators will never need to edit drive configuration files as they are effectively managed through graphical applications ......" :D

bin ja mal gespannt wie die Lösung bei udisks2 aussieht, bei udisks hätte wahrscheinlich eine neue Rule-datei in /etc/udev/rules.d Ruhe in ein vermutetes Polling gebracht, von dem niemand so recht versteht wofür es eigentlich gut ist.


robi
 

josef-wien

Ultimate Guru
/usr/lib/udev/rules.d/60-persistent-storage.rules schrieb:
# enable in-kernel media-presence polling
ACTION=="add", SUBSYSTEM=="module", KERNEL=="block", ATTR{parameters/events_dfl_poll_msecs}=="0", ATTR{parameters/events_dfl_poll_msecs}="2000"
Bei den einzelnen devices wird wohl auch bei Dir -1 (use system setting) stehen:
Code:
find /sys -name *poll_msecs | while read dateiname ; do grep -H . $dateiname ; done
Meine Englisch-Nichtkenntnisse vermuten nach einigen Internet-Beiträgen, daß dies vor allem für Wechseldatenträger wichtig ist. Welche Auswirkungen Änderungen auf interne Datenträger haben, müssen andere Leute herausfinden. Vielleicht ist /usr/src/linux/block/genhd.c hilfreich. Vielleicht ist aber die ganze Spur falsch.

_____

Regel für /etc/udev/rules.d/99-local.rules zur Benutzung auf eigene Gefahr ("sd[a-d]" ist anzupassen):
Code:
KERNEL=="sd[a-d]", ACTION=="add", SUBSYSTEM=="block", ATTR{events_poll_msecs}=="-1", ATTR{events_poll_msecs}="0"
 
A

Anonymous

Gast
genau dort scheint irgendwo das Problem zu sein, und zwar schon längere Zeit, und bei mehreren Distris. Aber wenn ich mir so die unterschiedlichen Lösungen und Syntax anschaue und nach Doku suche, wird mir schlecht. josef-wien hat irgend was gefunden was aus dem Kernel selbst pollt, in den Systemen die ich mir jetzt angeschaut habe, scheint udisks das pollen zu steuern..
Ich habe in verschiedenen Foren mehrfach sowas hier an Syntax dafür gefunden, ein bischen zu global weil es eventuell zu viel Platten beschreibt aber sieht von der Logic der Optionen einigermaßen schlüssig aus, aber ganz schwer zu sagen für welche Distribution, Kernel und udisks Version was wirklich genau passt..
Code:
KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="ata", ENV{DEVTYPE}=="disk", ENV{UDISKS_DISABLE_POLLING}="1"
KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="scsi", ENV{DEVTYPE}=="disk", ENV{ID_VENDOR}=="ATA", ENV{UDISKS_DISABLE_POLLING}="1"

Soweit ich den Sinn dahinter verstanden haben, müsste man das individuell so abändern/einstellen, das zwar die internen "Fest"Platten (die auch schlafen oder auf niedrigesten Energielevel laufen sollen) nicht gepollt werden, aber CD/DVD und alles was über USB kommt sowie eventuell genutzte Wechelplatten, sollen gepollt werden ( SSD ???).
Wenn das wirklich funktioniert wie sich irgendwelche Entwickler das mal ausgedacht haben, dann sollte sogar SMART aktiv bleiben dürfen, das sollte dann jeweils solange warten bis die Platte wieder voll rennt.

Ganz schlechte Ecke für Experimente, und vernünftige Howtos scheint es nicht wirklich zu geben, wird wohl auch niemand schreiben, solange das in jeder Distri und jeder Version durch irgendwelche Änderungen wieder anders wird, ob nach Änderungen der Rules im laufenden System ein "reload" reicht oder ein "force-reload" notwendig wird? und ob bei systemd das auch noch in die initrd müsste ????

Ich habe hier auch mehr Fragen als Antworten.


robi
 

josef-wien

Ultimate Guru
Damit es für winkl2 noch etwas schwieriger wird: Ich muß das polling sowohl beim Kernel als auch bei udisks deaktivieren, damit eine im ständig angeschlossenen (und damit von udev bereits beim Systemstart eingerichteten) USB-Kartenleser neu eingeschobene Karte nicht erkannt wird; wird nur ein polling deaktiviert, wird die Karte sofort erkannt. Ein neu eingeschobener USB-Stick wird immer erkannt (die Variable für udisks wird ja erst angelegt, nachdem udev das Medium erkannt und eingerichtet hat).

Die Auswirkungen auf interne Platten wird winkl2 selbst erforschen müssen, sofern ihm die Lust dazu noch nicht vergangen ist. Ich beobachte hier nur noch.

P. S.
robi schrieb:
ob bei systemd das auch noch in die initrd müsste
Die Datei 60-persistent-storage.rules ist drinnen, aber man kann "2000" auch nachträglich wieder auf "0" zurückändern.
 
Oben