Hej!
seit einiger Zeit verwende ich CF-Karten als Festplatte für kleinere Systeme
- an sich eine gute Idee (man spart Platz, Strom und Geräusche), aber
jetzt ist es mir auf die Füße gefallen: der erste Chip ist ausgefallen. Flash- Speicher mag es bekanntlich nicht viele Schreibzyklen durchzumachen (z.B. wie in /var/log - jedenfalls habe ich dort die meisten Fehler).
Hat jemand Erfahrungen/Ideen wie man die Lebensdauer von Flashspeicher verlängern kann?
Lazy write back: Änderungen lange im RAM belassen und erst spät zurückschreiben. Das sollte über eine /proc-Datei steuerbar sein.
physische Verteilung: wieviel Platz brauchst du auf /home resp. /var (wie lange müssen die Logs zurückgehen)? Ggf. billig-USB-Stick/CF-Card als Logspeicher verwenden. Alternativ mehrere kleine Partitionen auf Flashspeicher anlegen und per LVM zusammenschalten. Wenn eine Partition Schreibfehler bringt, dann aus dem LVM rausnehmen (bringt natürlich ggf. den Verlust einer geringen Datenmenge und den "Gewinn" von zu tätigender Arbeit mit sich).
Logs: wozu überhaupt? Für die aktute HW-Problem-Diagnose reicht meist ein /var/ in einer RAM-Disk. Angriffsvektoren bietet ein Desktopsystem ohne remote services in erster Linie von Desktop-Applikationsseite. Diese loggen ohnehin nichts ins Syslog.
Welche Teile des Dateisystems haben nach Eurer Erfahrung die meisten Schreibzyklen?
Für ein Desktop-System dürften /var und /home um den ersten Platz konkurrieren. Die /etc/mtab 'sollte' sich per Hand wegoptimieren lassen (wenngleich eine Hand voll Tools auf diese angewiesen ist). Wenn du nicht gerade unter knappem RAM leidest sollten wohl auch /tmp und /var/tmp in einer RAM-Disk gut aufgehoben sein.
Gedanke: Für /etc und ein paar Unterverzeichnisse von /var eine RAM-Disk als oberste Stackebene eines stackable FS drübermounten => alle Tools funktionieren wie gewohnt, wenig Handarbeit (nur jedesmal bei gewünscht dauerhaften Änderungen), keine unnötigerweise persistenten Schreibzyklen (ala Live-CDs).
Beste Grüße Fabian