[HowTo] (Optware) APM der Festplatten ausschalten um die Lebensdauer

  • [HowTo] APM der Festplatten ausschalten um die Lebensdauer zu verlängern - Behebung des "Load-Cycle-Problems"

    Eine neue Anleitung für Entware-NG gibt es hier: [HowTo] (Entware-NG) APM der Festplatten ausschalten um die Lebensdauer zu verlängern - Behebung des "Load-Cycle-Problems"



    Inhaltsverzeichnis

    • Grundlegendes
    • Vorbereitungen
    • APM ausschalten ab FW 3.8.2 und neuer
    • APM ausschalten vor FW 3.8.2



    1. Grundlegendes



      Was ist APM?
      APM bedeutet Advanced Power Management und bezeichnet eine Funktion der Festplatte Energie zu sparen. Grundsätzlich spricht nichts dagegen, allerdings fährt der Schreib-/Lesekopf der Festplatte dabei immer in eine Art "Parkposition". Sobald ein zugriff auf das NAS erfolgt, wird der Schreib-/Lesekopf aus dieser Position geholt. Diesen Prozess nennt man Load-Cycle. Nun ist es so, dass eine Festplatte nicht beliebig viele solcher Load-Cylce verkraftet (je nach Festplatte etwa 300.000 bis 600.000). Abhängig von der "Aggressivität" des APM kommt es in einem NAS vor, dass eine Festplatte schon nach wenigen Sekunden in die Parkposition fährt, beim kleinsten Zugriff, jedoch sofort wieder erwacht. So können innerhalb weniger Stunden Hunderte oder gar tausende unnütze Load-Cycle zusammenkommen.


      Ist meine Festplatte betroffen?
      Das lässt sich schwer sagen. Die Festplatten der Seagate STX000DM001 - Reihe aber auch viele andere Festplatten von Western Digital und anderen Marken sind teilweise betroffen. Meißt hört man im Betrieb schon ein leises "Knacken" wenn der Schreib-/Lesekopf aus oder in die Parkposition fährt. Wenn Ihr auf Nummer sicher gehen wollt, schaut ihr in die Smart Werte eurer festplatte (im Webinterface des NAS). Dort findet ihr recht weit unten einen Eintrag "Load-Cycle-Count". Die zahl daneben verrät euch, wie viele eure festplatten(n) schon hinter sich hat.


      Wie löst man das Problem?
      Arbeitet einfach dieses Tutorium durch und schaltet das APM der Festplatte ab. Der Ruhemodus bzw. Standby bleibt davon unberührt.




    2. Vorbereitungen


      Was ihr braucht:


      • WinSCP
      • Putty
      • Optware QPKG von der Qnap Homepage (nur für FW vor 3.8.2)
      • Webserver aktivieren
      • Telnet Verbindung aktivieren
      • SSH Verbindungen aktivieren
      • Administratorzugriff auf das NAS
      • die IP Adresse eures NAS im netzwerk



    3. APM ausschalten ab FW 3.8.2 und neuer


    • Als erstes installieren wir im App Bereich das kleine Programm "Optware"
    • Danach verbinden wir uns mittels Putty mit dem NAS. Bei der Passworteingabe dürft ihr euch nicht wundern. Das Passwort erscheint beim eingeben nicht am Bildschirm. Einfach zu Ende tippen und Enter drücken ;)
    • Installation von hdparm wie folgt:

      Code
      ipkg install hdparm


      Es kann durchaus ein paar Sekunden Dauern, bis das abgeschlossen ist. Aussehen sollte es dann so:

    • Jetzt erfragen wir in welchem Ordner hdparm-hdparm installiert ist:

      Code
      which hdparm-hdparm


      Normalerweise sollt der Pfad "/opt/sbin/hdparm-hdparm" lauten. falls dem nicht so ist, ist es auch nicht so tragisch. Merkt es euch dann aber auf jeden Fall.

    • Nun erstellen wir ein neues verzeichnis für unsere autorun Datei. Dafür gebt ihr folgendes ein:

      Code
      mkdir /share/MD0_DATA/.qpkg/autorun
    • Jetzt müssen wir unser autorun Skript schreiben. Dafür öffnet ihr unter Windows den Editor und erstellt eine Datei mit folgendem Inhalt

      Bash
      #!/bin/sh/opt/sbin/hdparm-hdparm -B255 /dev/sda/opt/sbin/hdparm-hdparm -B255 /dev/sdb/opt/sbin/hdparm-hdparm -B255 /dev/sdc


      Solltet ihr vorher für den Pfad von hdparm-hdparm ein paar Schritte zuvor einen anderen ausgegeben bekommen haben, dann müsst ihr den hier anstelle von "/opt/sbin/hdparm-hdparm" hineinschreiben. Diese Autorun funktioniert für 3 Festplatten. Wenn ihr mehr oder weniger habt, müsst ihr Zeilen hinzufügen oder entfernen (je nach zahl der Festplatten). Achtet dabei darauf, dass der letzte Buchstabe der Zeile hochgezählt wird, beginnend bei "a". Wenn ihr nur eine Festplatte im Qnap habt, sollte der Code in der Autorun also wie folgt aussehen:

      Bash
      #!/bin/sh/opt/sbin/hdparm-hdparm -B255 /dev/sda


      Klickt im Editor nun auf "Speichern unter...", wählt bei Dateityp "alle Dateien" aus, nennt die Datei "autorun.sh" und speichert sie auf dem Desktop.

    • Jetzt verbinden wir uns mit WinSCP mit dem NAs und kopieren die autorun.sh in den Ordner: /share/MD0_DATA/.qpkg/autorun/
    • Damit die Datei ausführbar wird, müssen wir in Putty nun noch das Ausführungbit der Datei setzen:

      Code
      chmod +x /share/MD0_DATA/.qpkg/autorun/autorun.sh
    • Beendet Putty und WinSCP und schaltet das NAS kurz ab, ein Neustart reicht an dieser Stelle nicht.
    • Wenn das NAS wieder hochgefahren ist öffnen wir Putty und überprüfen ob die Autorun korrekt gestartet wurde:

      Code
      hdparm-hdparm -B /dev/sda


      Für jeder weitere Festplatte müsst ihr die zeile nochmal eingeben und den letzten Buchstaben hochzählen, also a,b,c,d ...(siehe Bild)


      Wenn wie auf dem Bild für jede Festplatte "APM = off" steht, habt ihr alles richtig gemacht. Sollte dort "APM = 128" o.ä. stehen, habt ihr etwas falsch gemacht. Bei einem meiner beiden NAS hatte ich dieses Problem aber auch. Bei mir hat es dann geholfen das Ausführungsbit erneut zu setzen (siehe oben) und das NAS noch einmal herunter zufahren und den Stromstecker für etwa 10 Sekunden herauszuziehen.

    • Telnet, SSH und der Webserver können jetzt wieder deaktiviert werden.




    3. APM ausschalten vor FW 3.8.2



    • Zu allererst schalten wir den Webserver, Telnet und SSH am NAS ein und installieren im Webinterface der Qnap das QPKG namens "Optware"
    • Nun entpackt ihr die Optware.zip, die ihr von der Qnap Hoempage gedownloadet habt und bennennt die Datei in "Optware.qpkg" um.
    • Wir verbinden uns mit WinSCP mit dem NAS und kopieren die "Optware.qpkg" in das Verzeichnis: "share/MD0_DATA/Public" (wenn ihr nur eine Festplatte im QNap habt ist es auch möglich, dass der Ordner "Public" im Pfad: "share/HDA_DATA/Public" zu finden ist)
    • Wir verbinden uns mit Puty mit dem NAS und wechseln mit dem Befehl
      Code
      cd /share/MD0_DATA/Public

      in das verzeichnis, in das ihr im vorherigen Schritt eure Optware.qpkg gepackt habt. Anschließend setzen wir mit dem Befehl:

      Code
      chmod +x Optware.qpkg

      das Ausführungsbit und starten mit:

      Code
      ./Optware.qpkg

      die Installation. Da wir Optware ja vorher schon im Webinterface installiert haben, wird es hier quasi nur aktualisiert, das ist aber äußerst wichtig! Jetzt gehen wir mit

      Code
      cd /root

      zurück ins Stammverzeichnis

    • Jetzt müssen wir hdparm installieren, das tun wir mit dem Befehl:
      Code
      ipkg install hdparm

      Danach erfragen wir mit:

      Code
      which hdparm

      den Pfad zur hdparm Installation. Das sollte in den allermeißten Fällen: "/sbin/hdparm" sein. Wenn der Pfad bei euch ein anderer ist, merkt ihn euch.

    • Jetzt öffnet ihr den Editor in Windows und schreibt dort folgendes hinein
      Bash
      #!/bin/sh/share/MD0_DATA/.qpkg/Optware/sbin/hdparm-hdparm -B255 /dev/sda/share/MD0_DATA/.qpkg/Optware/sbin/hdparm-hdparm -B255 /dev/sdb


      Falls ihr nur eine Festplatte habt benutzt ihr:

      Bash
      #!/bin/sh/share/MD0_DATA/.qpkg/Optware/sbin/hdparm-hdparm -B255 /dev/sda


      bei drei also entsprechend

      Bash
      #!/bin/sh/share/MD0_DATA/.qpkg/Optware/sbin/hdparm-hdparm -B255 /dev/sda/share/MD0_DATA/.qpkg/Optware/sbin/hdparm-hdparm -B255 /dev/sdb/share/MD0_DATA/.qpkg/Optware/sbin/hdparm-hdparm -B255 /dev/sdc


      Für jede Festplatte also immer eine Zeile mehr und am Ende der Zeile bei "sda" immer hochzählen, also "sda", "sdb",sdc" usw.


      Solltet ihr nur eine Festplatte haben und den anderen oben genannten Pfad genutzt haben dann müsst ihr "MD0_DATA" natürlich durch "HDA_DATA" ersetzen. gleiches gilt für das "sbin" falls euch which hdparm wider erwartend einen anderen Pfad ausgespuckt hat.



      Klickt im Editor nun auf "Speichern unter...", wählt bei Dateityp "alle Dateien" aus, nennt die Datei "autorun.sh" und speichert sie auf dem Desktop.

    • Jetzt öffnen wir wieder Putty und mounten mit dem Befehl:
      Code
      mount /dev/mtdblock5 /tmp/config

      den config Bereich für unsere gebastelte autorun.sh


      Der Befehl mtdblock5 ist Modellabhängig. Je nach Qnap NAS muss dieser Befehl durch einen anderen ersetzt werden. Hier eine Auflistung welcher Befehl genutzt werden muss:


      Für TS-109, TS-109P, TS-110, TS-119, TS-209, TS-209P, TS-219, TS-409, TS-412, TS-419P nehmt ihr:

      Code
      mtdblock5


      Für TS-201:

      Code
      mtdblock4


      Für TS-439, TS-509, TS-639, TS-809, TS-809U:

      Code
      sdx6
    • Jetzt nehmen wir wieder WinSCP und packen die autorun.sh in das verzeichnis: /tmp/config. In Putty setzen wir jetzt wieder mit dem Befehl:
      Code
      chmod +x /tmp/config/autorun.sh

      das Ausführungsbit der Datei. Danach wird der config Bereich mit

      Code
      umount /dev/mtdblock5

      wieder geunmounted. Wenn Ihr oben in Schritt 8 einen anderen Bereich gemounted habt, müsst ihr diesen natürlich auch unmounten. Die Codezeile muss also entsprechend angepasst werden.

    • Jetzt könnt ihr alles schließen und das NAS einmal ausschalten, gerne auch einmal Strom rausziehen usw. Wie ihr wollt. Nach dem Hochfahren überprüfen wir mit Putty nochmal, ob alles geklappt hat. Dafür öffnen wir Putty und geben
      Code
      hdparm-hdparm -B /dev/sda

      und

      Code
      hdparm-hdparm -B /dev/sdb

      ein. Nun sollte als Antwort beidemale "APM=off" erscheinen. APM ist also für beide Festplattend deaktiviert. Glückwunsch ;) Wenn ihr nur eine Festplatte habt, benutzt ihr natürlich nur den ersten Befehl, bei mehr als zwei setzt ihr das wieder fort mit "sdc", sdd" usw.

    • Der Webserver, Telnet und SSH können jetzt wieder deaktiviert werden. Wer möchte löscht auch die Optware.qpkg im "Public"-Ordner
  • VielenDank!! Ich habe noch die 4.02 Version. Damals noch mit einem anderen aber ähnlichen Verfahren gelöst. Muss ich das Ganze nochmals durchführen wenn ich Upgrade beispielsweise auf 4.07?

  • Das sollte ziemlich sicher erhalten bleiben. Zumindest diese Variante ist nix anderes als eine manuell installierte App (ist demzufolge auch bei den installierten Apps zu sehen). Da alle anderen Apps nach einer Aktualisierung auch noch vorhanden sind, schätze ich wird sich auch an dem kleinen Fix nichts ändern

  • Ohje, ich sehe gerade, dass ich bei der Anleitung für FW 3.8.2 und höher das wichtigste vergessen habe.


    Schritt 2 sollte eigentlich folgendes sein:
    Wir verbinden uns mittels WinSCP mit dem NAS und gehen in den Ordner: /etc/config/ und öffnen dort die Datei qpkg.conf Dort geht ihr ganz ans Ende der Datei und fügt folgendes ein:


    Code
    [autorun]
    Name = autorun
    Version = 1.0
    Author = LittleJonny
    Date = 2014-05-05
    Shell = /share/MD0_DATA/.qpkg/autorun/autorun.sh
    Install_Path = /share/MD0_DATA/.qpkg/autorun
    QPKG_File = autorun.qpkg
    Enable = TRUE



    Wenn Ihr nur eine Festplatte habt, ist der Ordner .qpkg eventuell unter dem Pfad "share/HDA_DATA" zu finden. Dementsprechend muss dann auch der Pfad in dem Text, den ihr einfügt geändert werden.





    Kann das eventuell ein Admin ändern? Bearbeiten kann ich den Text irgendwie nicht mehr...Oo

  • Den Schritt 2 gibt es oben mehrmals und imho willst Du eigentlich den Schritt 3 austauschen ?


    Daher, um Missverständnisse zu vermeiden:
    Bitte in einem neuen Beitrag den Originalpost nochmals genau so erstellen, wie er eigentlich sein sollte. Ich tausche dann den ganzen Originalbeitrag durch den neuen Beitrag aus.


    Zum Erstellen des geänderten Originalbeitrags zitierst Du den Originalbeitrag und nimmst dann die Steuerzeichen (alle eckigen Klammern, die "Quote" enthalten) raus.


    Bitte PN an mich, wenn fertig zum Austausch.


    GLG GBD

  • Bekomme es mit dieser Anleitung einfach nicht hin das APM auf Off gestellt wird. Ich habe eine TS-569 Pro v4.1.3


    Das erste Problem ist das Verzeichnis „/share/MD0_DATA/.qpkg/autorun“
    Dies wir nach jedem Neustart der NAS einfach gelöscht alles ab MD0_DATA


    Des Weiteren ist ein Ordner mit der Bezeichnung „.qpkg“ bei mir unter „/share/CACHEDEV1_DATA“ zu finden dort wurden auch Optware hin installiert.
    Habe auch schon versuch alle Parament auf diesen Ordner zu wechseln aber leider auch alles ohne Erfolg.


    Wenn ich „hdparm-hdparm -B255 /dev/sda“ manuell ausführe klappt alles wunderbar aber nach einem Neustart ist alles weg.
    Wenn ich die autorun.sh manuell starte kommt auch immer irgendwie eine nicht erwarte Antwort siehe Bild


    Ich weiß einfach nicht was ich noch alles machen soll.

  • Zitat von "tester9977"

    Ich weiß einfach nicht was ich noch alles machen soll.


    Unter Anderem den Befehl korrekt eingeben. Bei dir ist zwischen './' und 'autorun.sh' ein Leerzeichen welches da nicht hingehört.

  • Die autorun.sh wurde mit einem Windowseditor erstellt und enthält keine Unix-konformen Zeilenschaltungen. (lf vs. crlf)

  • Ich dank dir vielmals klappe jetzt prima.
    Hab es über Putty direkt mit dem Befehl „vi autorun.sh“ erzeugt und jetzt läuft es.
    Danke Danke Danke :thumb: :thumb: :thumb:

  • Hallo,


    wie lautet der mtdblock5 für eine TS-453?


    Und unter "Vorbereitung" das man Optware nur vor 3.8.2 braucht, gleich darunter steht dann aber für FW ab 3.8.2: Als erstes Optware installieren.


    Was ist jetzt richtig?

  • Keiner? Wo sind denn die ganzen Fachleute hier? Und Optware finde ich unter Apps auch nicht...

  • Zitat von "tasar"

    Und Optware finde ich unter Apps auch nicht...


    ...das mag wohl daran liegen, dass die Zeiten von Optware vorüber sind... such mal hier im Forum danach (müsste ich sonst jetzt auch): Wird sehr ausführlich erklärt, wieso und weshalb.

  • Eigentlich interessiert es mich nicht besonders, warum und wieso Optware nicht mehr angeboten wird... ich hätte gern gewusst wie man das Head Parking der Seagate abschaltet bzw. verhindert und diese Anleitung hier ist wohl etwas überholt.

  • Du weisst, dass Desktopplatten nicht für NAS und ganz speziell nicht im RAID geeignet sind?


    Welchen Wert hat der LoadCycleCount bei den Platten?