Apache verhindert spindown trotz auslagerung auf USBStick

  • Hallihallo,


    Ich muss mal wieder ein leidiges Thema herbeizitieren.


    Auf meiner Qnap 569L habe ich Owncloud und Tiny Tiny RSS mit SSL installiert und alle benötigten Daten dafür auf ein USB Stick ausgelagert und nur mit Symlinks im System verankert.
    Dadruch dachte ich, dass meine HDDs nicht mehr anlaufen müssen wenn ich auf Owncloud oder TTRSS zugreife.
    Für TTRSS stimmt das soweit auch, d.h. da gehen die HDDs in den Standby und wachen nicht auf, beim synchronisieren mit Owncloud werden bleiben diese jedoch so lange wach bis der Client auf meinem PC aus ist.


    Auf dem USB Stick habe ich:
    - Die owncloud Data
    - die apache binaries, also den kompletten /mnt/ext/opt/apache Ordner inkl der php-executable und den config files meiner vhosts (und ja ich weiß dass der nicht auf den Platten sondern irgendwo im RAM lag, aber jetzt ist er schon verschoben...)
    - die kompletten apache logfiles (accesslog, errorlog, ssl-request log)
    - die komplette mysql binaries inkl dem .@mysql ordner mit den Datenbankfiles
    - der komplette Web ordner von /share/Web (bzw /share/MD0_DATA/Web)


    Mit dem Qnap Skript (blkdevMonitor.sh), das herausfinden soll warum die HDDs nicht in den Standby gehen bekomme ich nur eine "dirtied inode" Meldung des Apache Servers, jedoch ohne irgendwelche weiteren Angaben die mir nützen würden.
    Der Vergleich mit lsof (über ipkg installiert) bringt auch nichts. (Vorgehensweise war: lsof ausführen und Ausgabe in Datei umleiten, OWncloud Sync anwerfen und Ausgabe wieder in Datei, dann die Dateien vergleichen.) Die lsof zeigt auch keine geöffnete Datei auf /share/MD0_DATA, nur säckeweise geöffnete Dateien von /usr und /mnt/ext/opt blabla ...


    Wie kriege ich nun raus was meine HDDs anlaufen lässt?


    Grüße,


    Acid


    P.S. ja ich weiß, dass diese Angelegenheit ziemlich intensiv ins System greift, aber ich kann mit apache ziemlich gut umgehen und habe den Aufbau des embedded Linux auf der NAS mittlerweile ziemlich gut verstanden. Der USB Stick wird auch täglich gebackupt inkl. eines mysqldumps.

  • Hi,
    ich möchte dich bitten, den Titel zu konkretisieren.
    In deinem Fall geht es um spez. Software und nicht wie allgemein um "unerklärliches" NichtSpinDown. Dafür gibt es bei uns einen Megathread.

  • Gesagt getan.


    Die Lösung habe ich auch gleich noch dazu gefunden. Da ich kein Depp sein will, der die Lösung für sich behält, ist hier meine vorgehensweise.
    Das Problem lag am Ordner .php_session im ROOT der Festplatte (bei mir /share/MD0_DATA). Also Apache Stoppen, Ordner löschen und danach mit einem leeren Ordner auf dem USBStick verlinkten.

    Code
    ln -s /share/external/sdq1/phpsession /share/MD0_DATA/.php_session


    Achtung: sdq1 ist der Mountpoint meines USBSticks und MD0_DATA der Mountpoint meines RAIDS, wo Ihr USB Stick steckt und wie Ihre Festplatten heißen sollten Sie bei solchen tiefen Systemeingriffen selbst wissen.




    etwas detaillierter, damit auch "nicht mehr ganz so blutjunge"-anfänger verstehen, wie ich das via inotifywait rausgefunden habe:
    - wir benötigen die inotify-tools und den editor nano. beides sollte eigentlich schon auf der NAS sein, bei mir war nano seltsamerweise nicht drauf. also installieren wir zuerst das programm.
    Dazu das Paket OptWare im Reiter Anwendungen/QPKG und starten die NAS neu.


    - Zuerst muss man sich nun per SSH in die NAS einloggen, unter windows am besten mit dem Programm Putty, weiteres steht hier bestimmt im Forum. mal nach SSH suchen.


    - eingeloggt steht uns nun der befehl ipkg zur verfügung. Da wir nano wollen geben wir einfach "ipkg install nano" ein (ohne ") und die NAS macht den Rest selbst.


    - jetzt müssen wir die Limits des Dateisystem-Scanners erhöhen, damit dieser unsere Befehle ausführ, dazu geben wir ein nano /proc/sys/fs/inotify/max_user_watches [ENTER]


    - nano öffnet sich mit der entsprechenden Datei. Diese enthält bei meiner TS 569L die Zahl 8192. Da wir aber mehr Watches benötigen, habe ich einfach eine 0 angehängt, also 81920. dazu drücken wir einmal die taste "Ende", dann die 0 und nun drücken wir STRG+X, einmal y und enter. schon ist die datei überschrieben mit dem neuen Limit.


    - jetzt können wir unsere Dateisystembeobachtung starten. Dazu müssen wir zuerst wissen, welcher Ordner der ROOT Ordner der Festplatten mit unseren Daten ist. Bei einem RAID ist das üblicherweise der Ordner /share/MD0_DATA. Damit wir das bestätigen, geben wir cd /share ein gefolgt von ls -lah.
    Nun steht auf dem Bildschirm eine Liste an Ordnern. Uns interessiert aber nur eine Zeile, nämlich diese:

    Code
    lrwxrwxrwx    1 admin    administ       19 Apr 23 20:00 Multimedia -> MD0_DATA/Multimedia/


    Hier steht unter anderem, dass der Ordner Multimedia in MD0_DATA/Multimedia liegt. Je nach Konfiguration der NAS kann das MD0_DATA auch anders lauten, dann ist der entsprechende Pfad ihrer Festplatten im NAS /share/"ORDNERNAME-OHNE-/Multimedia"


    - Der Befehl um diesen kompletten Ordner zu überwachen lautet nun:

    Code
    inotifywait -rm /share/"ORDNERNAME VON OBEN"/
    In meinem Fall: inotifywait -rm /share/MD0_DATA/


    - Das erstellen der Beobachtung kann etwas Zeit in Anspruch nehmen. Diese Zeit können Sie nutzen um in der Webadministration die HDDSpindown Zeit auf 5Min zu setzen, da wir nicht ewig warten wollen. (Punkt: Systemadministration->Hardwareeinstellungen->"Bereitschaftsmodus der Festplatte aktivieren, wenn kein Zugriff innerhalb des angegebenen Zeitraums erfolgt")


    - Ist die Erstellung abgeschlossen, zeigt Putty Ihnen ab sofort JEDEN lese,schreib,lösch oder sonstigen Vorgang auf dieser Festplatte an. Das Erstellen hat bei mir mit 5*3TB RAID5 (ca 50% voll) ungefähr 3-4 Minuten gedauert. Damit Sie den Überblick nicht verlieren und "falsche" Ursachen direkt ausschließen, ist es Ratsam ABSOLUT NICHTS an der NAS zu machen. Also keine Veränderungen im Admin Webmenü oder sonstiges. Nach 5 Minuten sollten sich dann die Festplatten ausschalten und Sie müssen nurnoch warten bis diese wieder angehen und dann schauen an welcher Datei es liegt. Diese Datei gibt dann meist Aufschluss über die Ursache des Aufwachens. (Kleiner Tipp: *.tdb Dateien weisen auf einen Zugriff via Samba-Share hin, die kommt daher, dass Sie die Festplatten in Windows irgendwo offen haben.)



    Ich hoffe ich konnte helfen. Bei Fragen einfach eine PN schreiben oder hier entsprechend Fragen. (Sorry für die Rechtschreibung, aber ist ein ewiges Getippe....)


    Grüße,


    Acid