Minimieren von „Leerlauf“-Schreibvorgängen in einem Dateisystem

Minimieren von „Leerlauf“-Schreibvorgängen in einem Dateisystem

Ohne viele Details zu nennen: Ich muss auf einem Gerät ein Lese-/Schreibdateisystem mit den folgenden Hauptzielen erstellen:

  • Eliminieren Sie alle Schreibvorgänge, während Daten nicht explizit geschrieben werden.
  • Reduzieren Sie alle indirekten Schreibvorgänge, wenn DatenIstgeschrieben.
  • Führen Sie fsck beim Booten nach einem unsauberen Unmounten aus.

Derzeit verwende ich ext3, gemountet mit noatime. Ich kenne mich mit den Details von ext3 nicht aus. Werden insbesondere während der Leerlaufzeit, wenn keine Programme explizit Daten schreiben (insbesondere denke ich an kjournald und die Mount-Option commit=), Daten auf ein ext3-System geschrieben?

Wenn ich auf ext2 umsteige, erfüllt das dann alle oben genannten Anforderungen? Muss ich insbesondere etwas einrichten, um nach einem plötzlichen Stromausfall ein fsck zu erzwingen?

Meine Optionen sind fat32, ext, ext2 und ext3 sowie alle über Mount verfügbaren Einstellungen. Die Leistung ist nicht kritisch, ebenso wenig wie die Robustheit gegenüber mit der Zeit entstehenden fehlerhaften Sektoren.

Antwort1

Sie müssen nicht auf ext2 umsteigen, Sie können ext3 optimieren.

  • Sie können die fsck-Anforderungen eines Dateisystems mit ändern tune2fs. Ein kurzer Blick verrät mir, dass der richtige Befehl lautet tune2fs -c <mount-count>, aber die Details finden Sie auf der Manpage.
  • Sie können ändern, wie Daten beim Mounten in das Dateisystem geschrieben werden ext3. Sie möchten entweder data=journaloder data=ordered. Sie können Journal-Commits über andere Optionen weiter optimieren. Bitte lesen Siediese Seite.

Und nicht zuletzt fsckkann die Verwendung von auf großen Laufwerken sehr lange dauern ext3. Warum ziehen Sie das nicht ext4als Option in Betracht?

Bitte kommentieren Sie diese Antwort, wenn ich etwas im Dunkeln gelassen habe.

verwandte Informationen