PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : tmpfs RAM Disk


Micha80
2013-09-06, 10:11:52
Folgende Situation. Ich verwende eine RAM Disk (tmpfs) um Log Dateien zu speichern. Mit Systemstart wird das existierende Verzeichnis '/xyz/log' (SD Karte) nach '/xyz/log_tmp' (SD Karte) kopiert. Eine RAM Disk '/xyz/log' (RAM Disk) erstellt und '/xyz/log_tmp' (SD Karte) zurück kopiert. Beim Herunterfahren geschieht das ganze in umgekehrter Reihenfolge. Weil die Log Dateien sonst futsch wären.
Nun läuft das System mit unter einige Wochen durch und bei einem Absturz oder Stromausfall wären alle Log Dateien seit dem letzten Systemstart verloren. Die Idee wäre z.B. stündlich diese auf die SD Karte zu schreiben. Und zwar nach '/xyz/log' (SD Karte). Nur ist dieses Verzeichnis gerade von der RAM Disk in Verwendung! Komme ich noch auf die SD Karte ('/xyz/log') ohne umount RAM Disk?

Ganon
2013-09-06, 10:31:19
Ich nehme an, du willst die Log-Daten im tmpfs haben, damit du die SD-Karte schonst?

Weil dann macht die ganze Sache keinen Sinn, da du die Daten so oder so auf die SD-Karte speicherst. Log-Daten sind ja Daten die ständig _wachsen_ und sich nicht in sich selbst verändern (im Gegensatz zu Caches).

Ob du nun die ganzen Bytes Stück für Stück auf die SD Karte schreibst (ohne tmpfs) oder alle Stunde lang in einem Rutsch...

Letztes ist sogar möglicherweise schädlicher, da du ja immer wieder die ganze Log-Datei überschreibst und invalidierst, statt diese nur erweiterst. Von der ganzen Kopiererei beim Boot und Shutdown abgesehen.

Nimm lieber ein passendes Dateisystem wie das neue f2fs, statt sowas.

Micha80
2013-09-06, 12:27:30
Ja, richtig möchte die SD Karte vom Raspberry Pi schonen. Da werden sekündlich ca. 60 Temperaturwerte in eine Log Datei geschrieben.

Aktuell kopiere ich mit rsync. Das sollte doch nur die Veränderungen kopieren?

Aber irgendwie hast du recht, so recht sinnvoll erscheint das nicht. Macht den f2fs überhaupt Sinn? Und wie bekomme ich das auf dem RPi + Debian zum laufen?

Ganon
2013-09-06, 19:00:16
Aktuell kopiere ich mit rsync. Das sollte doch nur die Veränderungen kopieren?Aber irgendwie hast du recht, so recht sinnvoll erscheint das nicht.


Ich weiß nicht, ob rsync Daten anhängen kann (bzw. ob das überhaupt geht). rsync überträgt prinzipiell nur den diff, aber ob er auch nur den diff _schreibt_ weiß ich nicht. Ändert aber nichts daran, dass du trotzdem minimal die gleiche Anzahl an Schreibvorgängen auf der SD Card hast. Ich denke eher du hast damit eher noch mehr.

Macht den f2fs überhaupt Sinn? Und wie bekomme ich das auf dem RPi + Debian zum laufen?

Ja, f2fs macht schon Sinn. Heißt nicht umsonst Flash-Friendly Filesystem. ;) Ich weiß gerade nicht wie weit Debian mit dem Kernel ist, aber für f2fs braucht man mindestens Kernel 3.8. Hast du den nicht brauchst du es auch gar nicht versuchen und dir vllt. mal jffs2 oder andere logbasierte Dateisysteme angucken. Aber hier halt gucken, ob Debian das zur Verfügung stellt.

Lokadamus
2013-09-06, 20:32:47
Nun läuft das System mit unter einige Wochen durch und bei einem Absturz oder Stromausfall wären alle Log Dateien seit dem letzten Systemstart verloren. Die Idee wäre z.B. stündlich ...Und ab dort macht es eh nur noch bedingt Sinn, da du dein System lieber von einem externen System überwachen solltest.
Mit Glück kannst du anhand der gesicherten Logfiles was anfangen, mit Pech stürzt dir das System aber innerhalb von ein paar Sekunden ab und du hast das Logfile so oder so verloren.
Klemm lieber eine normale HDD oder USB Stick ran und lass darüber das Logfile laufen.