[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: platten io minimieren



Gerhard Brauer schrieb:
Gruesse!
* Thomas <jade@ares.dyndns.biz> schrieb am [01.12.06 00:36]:
Besten Dank für Grüße und dafür, daß du dir die Zeit genommen hast deine für mich sehr interessanten Gedanken hier zu verfassen.
Vorweg: Ich stehe dem eher skeptisch gegenüber. Warum?
Das höre ich sehr gern.
Wenn ich (nebem reinem Experimentieren) bei dir einen Nutzen aus deinen
Überlegeungen rauszulesen versuche, dann komme ich auf
Lautstärke- oder Stromkosten-Reduzierung.
Ja, die Grundidee ist tatäschlich Strom / Plattenabnutzug zu reduzieren, da mein Router/Server, welcher für studentische und private Zwecke genutzt wird permanent läuft und alle Zeiteinheit seine Festplatte verschleißt. Ich möchte hautsächlich die Lebensdauer der Festplatte erhöhen.

<OT>
Nach meiner privaten Erfahrung wählt der Plattencrashteufel genau den Zeitpunkt, wenn am nächsten Tag eine Hausarbeit abgegeben werden muss, die auf diesem System entwickelt wurde. Dies würde uns zum Thema Backup Strategien führen, welches ich auch gern in einem anderen Thread besprechen möchte sobald ich Zeit finde.
</OT>
Außerdem steigt die Gefahr eines Hardware-Ausfalls. "Warmes" Aufwachen
ist AFAIK nicht ganz so abnutzend wie "kaltes" Anfahren, aber nach m.E.
ist es so: wenn Platten kaputt gehen passiert es immer nach einem
Reboot/PowerOn.
OK, nach erneutem Überlegen schließe ich mich da deiner Meinung nun an. Meine subjektive Erfahrung zeigt ebenfalls, daß sich ein Plattenversagen vor allem beim erneuten Anfahren der Platte äußert.
Was kannst du IMHO trotzdem machen bzw. wo kannst du ansetzen?

Angenommen, du möchtest die IO nachts (00:00 bis 08:00) verringern, da
niemand *und* nichts den Server nutzt (auch der Server muß "nichts"
machen):

a) RAM kaufen und einbauen. Mehr RAM kaufen und einbauen. Noch mehr
RAM...
Diese "500 MB", die du oben anführst wird vom Kernel schon durch Caching
(sowohl lesend als auch schreibend) bewerkstelligt. Es gibt Parameter
über /proc bzw. sysctl, mit denen du die Effizienz des Cachings
beeinflussen kannst (wieviel, wie lange). Genau kann ich es dir momentan
nicht sagen, ich komme an keine Kernel-Doku ran.
OK, da kann ich mal nachlesen.
b) Die Platten einfach in den Sleep-Modus stellen. Um Kernel bzw.
Server-bedingte Lese/Schreib-Zugriffe und somiz Aufwachen aus diesem zu
minimieren bieten sich an:

b1) Die Dateisysteme mit noatime mounten. Dadurch verringerst du
Schreib-Zugriffe, da die Veränderung eines der drei Zeitstempel für
jede Datei wegfällt. Privat IMHO durchweg vertretbar, im Firmen-Umfeld
evtl nicht gewünscht da eine Log-Funktion wegfällt.

b2) Dienst in diesem Zeitraum deaktivieren (Datenbanken, Webserver, cron,
etc)

b3) Verzeichnisse wie /var, auf die trotzdem geschrieben werden muß, in
eine RAM-Disk verlagern. Wenn der rechner allerdings abstürzt ist der
Schaden evtl. größer als durch ein (teil)korruptes Dateisystem.

Klingt nach einer Option. Ich muss es mir nochmals durch den Kopf gehen lassen, da ein permanentes Anfahren / Ausschalten der Platte evtl. noch schädlicher / lauter / langsamer wird. Ich werde mich wohl für weniger extreme Maßnahmen entscheiden.

Dank dem Hinweis von Thomas Marke werde ich noflushd in Betracht ziehen.

Es bleibt allerdings die Beobachtung, daß das System ca. alle 5 sek. kleine Schreiboperationen auf der Platte durchführt, auch wenn das System praktisch "nichts" tut. Das verhindert natürlich, daß die Platte in den Sleep Mode fällt, auch wenn sich längere Zeit kein User auf dem System befindet. Ich nehme an, das sind Logeinträge, verursacht durch die üblichen Attacken aus dem Internet. Allerdings würde ich schrecklich gern *genau* feststellen, in welche Datei(en) da regelmäßig geschrieben wird. Hat jemand einen Tipp, wie ich soetwas herausfinden kann?

Ich nutze als Dateisystem ext3. Meines Halbwissens nach gibt es da ein commit intervall für das Journal. Könnte es das sein?

Beste Grüße und nochmals Danke für all die Tipps,

Thomas






Reply to: