Ich bin der Besitzer eines NAS und verwende eine Linux-Distribution. Es wird mit einem Webadministrations-Frontend geliefert, in dem ich verschiedene Dienste, Benutzerrechte und auch den Zeitpunkt für den Ruhezustand verwalten kann. Mein Problem ist aus irgendeinem Grund, dass sich die Festplatte nach einigen Minuten wieder einschaltet, wenn der NAS in den Ruhezustand versetzt wurde. Dann dreht es sich einige Zeit und schläft dann wieder. Dies geht auf unbestimmte Zeit weiter.
Wie kann ich versuchen, die Ursache dafür zu ermitteln? Ich bin sehr neu in Linux, aber ich habe Root-Zugriff erhalten und habe jetzt eine SSH-Verbindung.
Antworten:
Inotify-Tools ist eine einfache Möglichkeit, dies zu tun. Es gibt mehrere Beispiele auf ihrer Website, die in der Lage sind, das zu tun, was Sie wollen (siehe das inotifywatch-Beispiel für ein wirklich einfaches Beispiel).
quelle
Versuchen Sie
iotop
vielleicht zu laufen ? Ich habe es in der Vergangenheit nützlich gefunden.quelle
Ein weiterer Tipp: Verwenden Sie Systemtap. Auf der Website von systemtap gibt es eine Reihe von Prüfskripten, die nützlich genug sind, um den Schuldigen zu finden.
In einem anderen Fall insgesamt
Wenn Sie herausfinden möchten, durch welchen Prozess die Festplatte hochgefahren wurde, können Sie Informationen sammeln, indem Sie das Flag setzen
/proc/sys/vm/block_dump
. Wenn dieses Flag gesetzt ist, meldet Linux alle Lese- und Schreibvorgänge auf der Festplatte und alle Blockverschmutzungen an Dateien. Auf diese Weise können Sie debuggen, warum eine Festplatte hochgefahren werden muss, und die Akkulaufzeit noch weiter verlängern. Die Ausgabe von block_dump wird in die Kernelausgabe geschrieben und kann mit "dmesg" abgerufen werden oder in Ihrer Syslog-Kernfunktion nach dem Ziel der Debug-Nachrichten suchen. Im Allgemeinen sollte es sein/var/log/debug
. Wenn Sie block_dump verwenden und Ihre Kernel-Protokollierungsstufe auch Kernel-Debugging-Meldungen enthält, möchten Sie wahrscheinlich klogd deaktivieren. Andernfalls wird die Ausgabe von block_dump protokolliert, was zu Festplattenaktivitäten führt, die normalerweise nicht vorhanden sind.quelle
Sie müssen den Kernel anweisen, Sie über alle Lese- / Schreibvorgänge auf Datenträgern zu informieren. Anschließend müssen Sie sich diese Informationen ansehen.
So:
sync
Leert alle ausstehenden Schreibvorgänge auf Datenträger, sodass nur neue Lese- oder Schreibvorgänge angezeigt werden.dmesg -c
zeigt Ihnen die Kernel-Nachrichten und löscht sie (andernfalls sehen Sie bei jedem Ausführen von dmesg auch die alten).grep
filtert die Ausgabe von dmesg nach Aktivität für die Festplatte, an der Sie interessiert sind. Ersetzen Sie / dev / sda durch Ihr tatsächliches Gerät.Normalerweise verwende ich so etwas, um die Festplatte herunterzufahren, und überprüfe dann, ob sie sich wieder dreht:
Die
while
Schleife überprüft alle 10 Minuten den Aktiv / Leerlauf-Status der Festplatte. Wenn Sie sehen, dass es sich einschaltet, führen Sie diedmesg
obige Linie aus, um zu sehen, wer nicht.quelle