Linux: Welcher Prozess greift auf HDD zu?
-
Ich habe bei meinem Homeserver (linux) letztens die HDDs mal wieder umgeraeumt. Auf einer Platte liegen jetzt ein paar Ordner mit Nutzerdaten - einige samba-Freigaben, Stauraum, usw., mit mehreren Symlinks von 1. Platte verlinkt. Auf der anderen Platte liegt der ganze Rest.
Da auf die Dateien auf der 1. Platte eigentlich nicht oft zugegriffen werden sollte, schaltet sich die Platte nach 2min aus. Dumm nur, dass immer wieder irgendwas kurz auf die Platte zuzugreifen scheint, so dass die Platte ca. alle 15-20 Minuten wieder anlaeuft.Hat irgendwer nen Tipp fuer mich, wie ich ohne viel Gefrickel und Probieren herausfinden kann, was da die Platte immer wieder anwirft?
-
Mit lsof kannst du von allen Prozessen alle geöffneten Dateien sehen.
Wenn du eine Datei kennst und sehen willst welcher Prozess sie geöffnet hat, dann benutze fuser.Ist auf dieser Platte zufällig /var? Falls ja, dann könnte es syslog sein, oder ein anderer Logging-Prozess.
-
Noe, wie gesagt: Da duerfte nichts sein, worauf irgendwelche Standardprozesse/cronjobs drauf zugreifen.
Eigentlich nur Stauraum fuer samba-Freigaben, Unterordner einiger Benutzer fuer SFTP-Zugriffe (nicht die home-dirs selbst) und ein Ordner, der von /var/www/ aus verlinkt vom Apache aus aufrufbar war (darauf greift im Moment aber niemand zu).Klappt diese Art der Abfrage von Prozessen, die auf Dateien zugreifen auch fuer deren uebergeordnete Ordner? Ansonsten wuesste ich da naemlich wie gesagt keine Datei, die ich auf Verdacht ueberpruefen koennte.
-
smartdaemon? sonst würde mir auch nichts mehr einfallen
-
Ich wuerde verdaechtige Prozesse einzeln mit strace checken, damit hast du den Uebeltaeter in ein paar Minuten.
lsof bringt nichts, wenn der Prozess nur kurz stat aufruft oder so.
Viele Gruesse
Christian
-
updatedb?
-
ChrisM schrieb:
lsof bringt nichts, wenn der Prozess nur kurz stat aufruft oder so.
Schwachsinn, vielleicht solltest du dich mal informieren.
-
sothis_: Hm, die smartmontools laufen... Wo liegt da der Zusammenhang?
ChrisM: Ich bin kein Linux-H4x0r.
So auf den ersten Blick ist mir das zu viel Gefrickel, oder anders gesagt sehe ich nicht, wie ich damit "den Uebeltaeter in ein paar Minuten" feststellen kann.
-
iotop -o -d 30
-d 30 sagt ihm, dass er nur alle 30 sekunden updaten soll statt jede sekunde. Somit siehst du immer die festplattenzugriffe der letzten 30 sekunden (die zeit kannst du natürlich auch variieren :)).
-
Ist zwar nicht das "ursprüngliche" Einsatzgebiet dafür, aber lm-profler aus den laptop-mode-utils macht genau das. Er läuft eine von dir angegebene Zeitspanne und sagt dir dann, was er für die Übeltäter hält.
-
lollerchen schrieb:
ChrisM schrieb:
lsof bringt nichts, wenn der Prozess nur kurz stat aufruft oder so.
Schwachsinn, vielleicht solltest du dich mal informieren.
Könntest du das vielleicht begründen, bevor ich dich als Troll abtue? lsof liefert immer einen Momentzustand und ist daher nicht geeignet, um festzustellen, was die Festplatte aufwachen lässt.
Was Nobuo T braucht, ist eine Lösung, die einen oder alle Prozesse kontinuierlich überwacht. Die anderen hier angesprochenen Tools kenne ich allerdings nicht, vielleicht ist der Task damit einfacher. strace -e trace=file bzw. trace=stat,open würde den Zweck auf jeden Fall erfüllen.
Viele Grüße
Christian
-
iotop ist ein guter Tipp, aber ich kriege es so nicht zum Laufen, da Eisfair scheinbar kein wirklich brauchbares Python-Paket hat.
Das lm-profile laeuft auch nicht. Irgendein als unstable markiertes dmesg konnte ich zwar noch auftreiben, dafuer scheitert es jetzt an grep. Meckert wegen "invalid option -- o". Da kommt irgendwie nichts sinnvolles bei rum.
[edit]Das strace probiere ich noch aus. Danke, CrisM[/edit]
edit2: Alles was dieses Tool (Version 4.4) bei -e trace=file oder trace=open,stat zustande bringt, ist die help-Seite anzeigen...Hm, Mist. Habe jetzt aber auch keinen Nerv, nur deswegen auf eine andere Distri zu wechseln oder mir jeden Kleinkram nochmal in aktueller Version neu zu compilieren.
Die praktikabelste Loesung ist dann wahrscheinlich, die Platte einfach wieder auf Dauerbetrieb zu stellen. Laeuft nur leider auch nicht mehr ganz rund und roehrt wie ein Staubsauger.
Vielleicht kommt dann nach den Klausuren mal ein ubuntu oder sowas drauf...
-
Hallo,
schau dir vielleicht halt doch mal strace an. Es könnte unter Ubuntu schon vorinstalliert sein und wenn nicht, ist es nur ein kleines Paket ohne nervige Dependencies oder GUI.
Dann: sudo strace -t -e trace=file -p pid1,pid2,... und gibst ihm die PIDs von den verdächtigen Prozesse an.
Ich persönlich tippe ja auf was von dem Ubuntu-Müll, also vielleicht Tracker oder eine der anderen "tollen" Erfindungen wie das zehn-minütige Neuschreiben der MOTD.
Viele Grüße
Christian
-
Leider habe ich keinen Schimmer, welche Prozesse das sein koennten, ob periodisch einer neu gestartet wird, oder whatever.
BTW Laeuft da nichts von Ubuntus "tollen Erfindungen".
-
@Nobuo:
Wie wärs wenn du hier nicht rummotzen würdest, was alles nicht läuft und wie aufwendig das ist. Stattdessen solltest du mal etwas Zeit investieren und dich damit etwas beschäftigen, also einarbeiten.
-
Nobuo T schrieb:
Leider habe ich keinen Schimmer, welche Prozesse das sein koennten, ob periodisch einer neu gestartet wird, oder whatever.
BTW Laeuft da nichts von Ubuntus "tollen Erfindungen".
Dann beende doch mal sukzessive Dienste. So kannst du die Zahl der möglichen Prozesse ja schonmal eingrenzen. Am besten fängst du mit dem crond an.
Viele Grüße
Christian
-
@lolololololo:
Danke fuer diesen Vorschlag.
Wenn ich zu viel Zeit haette, mich gross in etwas einzuarbeiten, haette ich hier nicht gepostet.@ChrisM:
K, das ist dann die Holzhammermethode. Sollte aber klappen, mal sehen.
-
ChrisM schrieb:
Dann beende doch mal sukzessive Dienste. So kannst du die Zahl der möglichen Prozesse ja schonmal eingrenzen. Am besten fängst du mit dem crond an.
Oder am besten gleich alles neu installieren.