PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Linux im Dauerbetrieb auf SD Karte?



xplod
05.04.13, 10:11
Guten Morgen.

Ich scheine da in ein sehr untypisches Problem gelaufen zu sein:
Ich muss einen RaspberryPi im 24/7 Dauerbetrieb fahren, und möchte die Schreibzugriffe auf die SD Karte minimieren, um die Lebensdauer zu maximieren.

Wer hat sich schon mal mit einem solchen Thema beschäftigt, und könnte mir Tipps geben?
Reicht es, wenn man z.B. /tmp, /proc und /var/run/ per mount in eine RamDisk auslagert? Oder kommt man nicht drum herum, das ganze OS für eine Ausführung in einer RamDisk zu kompilieren?

Gruß,
Dirk

nopes
05.04.13, 10:21
Hallo,

musst du ja wissen, was wo wie oft geschrieben wird ;), /var ansich ist ein Kandidat für viel Schreibzugriffe, proc ist kein klassisches Dateisystem, also nicht drum kümmern.
Versuch Logs möglichst nicht lokal laufen zu lassen, am besten syslog abschalten, oder auf eine andere "Maschine" (alternativ NAS bzw. SAN [gilt ja eigentlich generell, daher wohl keine Option]) auslagern.

Zu guter letzt, kauf dir SD-Karten in Industriequalität (SLC), kosten zwar viel (ca. 100€ für 2GB) und sind recht klein, halten aber wesentlich länger (Faktor 10 bis 100), s.a http://de.wikipedia.org/wiki/NAND-Flash.

xplod
05.04.13, 13:11
Zu guter letzt, kauf dir SD-Karten in Industriequalität (SLC), kosten zwar viel (ca. 100€ für 2GB) und sind recht klein, halten aber wesentlich länger (Faktor 10 bis 100), s.a http://de.wikipedia.org/wiki/NAND-Flash.
Da macht es eher Sinn, eine USB-Fesplatte zu verwenden, als eine sauteure SLC-SD.
Ich denke, dass werde ich mal /var/ auslagern, wahrscheinlich muss ich dann noch ein wenig tricksen, um die Speichermonster dann doch zurück auf die SD zu verbannen...

Also Kurzform: /tmp und /var auf eine ramdisk auslagern. Und per Logrotate dafür sorgen, dass die Logs nicht den Speicher sprengen...

Iluminat23
05.04.13, 13:26
Hi,

wenn der UseCase für dein System sehr speziell ist, könnte es sich lohnen ein entsprechendes System selbst zu erstellen. Dann könntest du auch das root Dateisystem ro gemountet werden.

Gruß
iluminat23

zyrusthc
05.04.13, 14:21
Was spricht gegen eine SSD? Habe ich seid fast 2 Jahren schon als Systemplatte am laufen und da hab ich als einziges die fstab modifiziert mit "defaults,noatime,nodiratime,discard,acl,relatime"

Greeez Oli

xplod
05.04.13, 14:50
wenn der UseCase für dein System sehr speziell ist, könnte es sich lohnen ein entsprechendes System selbst zu erstellen. Dann könntest du auch das root Dateisystem ro gemountet werden.

Zum Usecase:
Der RaspberryPi (ein 800MHz ARM Rechner im Checkkartenformat) meldet sich per LAN/WLAN Stick/UMTS Stick in einem VPN Netzwerk an, und soll per I2C Kommandos an eine andere Hardware weiterleiten. Zusätzlich stellt er alle gelesenen Werte auf einer Webseite (per NGINX, Mysql und PHP) dar.

Er soll somit "nicht viel" tun, aber ich möchte nicht für jede unterschiedlichen WLAN- oder UMTS Stick eine neue Version bauen...

Danke und Gruß,
_X_

xplod
05.04.13, 14:53
Was spricht gegen eine SSD? Habe ich seid fast 2 Jahren schon als Systemplatte am laufen und da hab ich als einziges die fstab modifiziert mit "defaults,noatime,nodiratime,discard,acl,relatime"
Greeez Oli
Der Preis. Das System soll im Ganzen keine 50€ kosten, und verbraucht aktuell keine 3 Watt...
Nur die SD Karte stirb leider recht schnell...

zyrusthc
05.04.13, 15:44
Der Preis. Das System soll im Ganzen keine 50€ kosten, und verbraucht aktuell keine 3 Watt...
Nur die SD Karte stirb leider recht schnell...
Und? Ne SSD bekommste schon fürn 20er für so einen Zweck
http://www.ebay.de/itm/Kingspec-SSD-1-8-8GB-SATA-II-22Pin-MLC-SSD-For-Laptop-/280656541705?pt=DE_Elektronik_Computer_Computer_Fe stplatten&hash=item41586ef809


Greeez Oli

tictactux
05.04.13, 23:30
Hallo,

das Dateisystem wäre imho auch noch relevant, eines ohne journaling (ext2) dürfte die Anzahl der Schreibzugriffe geringer halten, dazu die bereits erwähnte mount-Option noatime (*oder* ralatime) falls da nicht z.b. mailing-tools laufen die dadurch Probleme kriegen.

Falls genug RAM da ist würd ich neben /tmp ggf. noch /var als tmpfs einrichten (aber je nach Distribution Vorsicht bei updates wegen /var/cache)

Obiges hat sich bei mir mit einem grml auf µSD-card bewährt, das allerdings nicht im Dauerbetrieb läuft.

roadracer
06.04.13, 16:31
Ich werfe hier auch noch mal http://en.wikipedia.org/wiki/Flash_file_system ein

FM_81
09.04.13, 04:39
Schau mal hier: http://raspberrycenter.de/forum/umruestung-raspberry-pi-read-only-root-filesystem
Ansonsten kann man das auch so manuell konfigurieren (ohne UNIONFS), die Grundideen 'ro' und 'EXT2' wurden ja schon erwähnt.

MfG, FM_81

Iluminat23
09.04.13, 19:42
Ich werfe hier auch noch mal http://en.wikipedia.org/wiki/Flash_file_system ein

ausser f2fs und eventuell (aber absolut nicht optimal) noch LogFS sind für SD-Karten geeignet.

F2FS würde ich aktuell sicher nicht auf einem System einsetzen welches ich auch produktiv verwenden will.

LogFS scheint noch genau so wenig getestet zu sein.