[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
- 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
Was ihr braucht:
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:
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:
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:
- Jetzt müssen wir unser autorun Skript schreiben. Dafür öffnet ihr unter Windows den Editor und erstellt eine Datei mit folgendem InhaltBash
#!/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:
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:
- 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:
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
in das verzeichnis, in das ihr im vorherigen Schritt eure Optware.qpkg gepackt habt. Anschließend setzen wir mit dem Befehl:
das Ausführungsbit und starten mit:
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
zurück ins Stammverzeichnis
- Jetzt müssen wir hdparm installieren, das tun wir mit dem Befehl:
Danach erfragen wir mit:
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 hineinBash
#!/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:
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:
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:
Für TS-201:
Für TS-439, TS-509, TS-639, TS-809, TS-809U:
- Jetzt nehmen wir wieder WinSCP und packen die autorun.sh in das verzeichnis: /tmp/config. In Putty setzen wir jetzt wieder mit dem Befehl:
das Ausführungsbit der Datei. Danach wird der config Bereich mit
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
und
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