GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wahl des Dateisystems für GNU/Linux auf einer SD-Karte

Hervorragender Artikel über Flash-Dateisysteme.

Wichtige Frage, wenn es um Flash-Dateisysteme geht, lautet:Was ist Wear Leveling? Wikipedia-Artikel. Grundsätzlich können Sie auf Flash-Disks eine begrenzte Anzahl von Malen schreiben, bis der Block schlecht wird. Danach muss das Dateisystem (wenn auf der Hardware kein integriertes Wear-Leveling-Management vorhanden ist, wie es bei SSDs normalerweise der Fall ist) diesen Block als ungültig markieren und die Verwendung vermeiden.

Typische Dateisysteme (z. B. ReiserFS, NTFS, ext3 usw.) sind für Festplatten ausgelegt, die solche Einschränkungen nicht haben.

JFFS2

Inklusive Kompression und elegantem Wear-Leveling-Schutz.

YAFFS2

  • Eine Sache, die den Unterschied ausmacht:kurze Mountzeiten, nach erfolgreichem umount.
  • Implementiert die Write-Once-Eigenschaft:Sobald Daten in einen Block geschrieben wurden, besteht keine Notwendigkeit, sie neu zu schreiben. Dies ist wichtig, da es den Verschleiß reduziert.

LogFS

  • Nicht sehr ausgereift, aber bereits im Linux-Kernelbaum enthalten.
  • Unterstützt problemlos größere Dateisysteme als JFFS2/YAFFS2.

UBIFS

  • Ausgereifter als LogFS
  • Schreib-Caching-Unterstützung
  • Zur Skalierbarkeit:Artikel. Auf großen Festplatten bessere Performance als mit JFFS2

ext4

Wenn kein Treiber oder keine Karte (z. B. SSD-Laufwerke haben zumindest normalerweise ein internes Wear-Leveling) das Wear-Leveling handhabt, dann ist ext4 nicht die beste Idee, da es nicht für die Verwendung von Raw-Flash gedacht ist.

Welches ist das Beste?

Natürlich hängt es von der Nutzung und dem Support ab. Nach dem, was ich im Internet gelesen habe, würde ich UBIFS empfehlen. Gute Unterstützung für große Dateisysteme, ausgereifte Entwicklungsphase, angemessene Performance und keine großen Nachteile.


Ich stand vor dem gleichen Problem und habe auch etwas recherchiert. Schließlich entschied ich mich für ext2.

Es scheint, dass einige SDHC-Karten ihr eigenes Wear-Leveling auf der Hardwareebene implementieren. Wenn Sie SDHC-Karten mit eingebautem Wear-Leveling bekommen können.

Dateisysteme, die Wear-Leveling bereitstellen, können das Flash-Level-Wear-Leveling stören, sodass es für den Flash tatsächlich schlecht sein kann, sie zu verwenden (der oben zitierte IBM-Artikel spricht darüber, wie JFFS dies tut, daher ist klar, dass das nicht funktionieren wird mit Blitzstufe WL). Ich entschied, dass ich das Journaling von ext3 nicht benötige, da ich darauf keine kritischen Daten speichere und normalerweise sowieso regelmäßig Backups mache (cron).

Ich habe auch /tmp und /var als tmpfs gemountet, um die Dinge zu beschleunigen. Wenn Sie über genügend RAM verfügen, sollten Sie dies tun (aber achten Sie darauf, Ihre Protokolle regelmäßig zu rotieren oder zu löschen)

TIPP:Mounten Sie Ihre externen SD-Karten mit der Option "noatime"


Linux
  1. Linux-Tipps zur Verwendung von GNU Screen

  2. Depends.exe für GNU/Linux

  3. Felsenstabiles Dateisystem für große Dateien (Backups) für Linux

  4. Ideale Hardware für GNU/Linux-Laptops

  5. Korruptionssicheres SD-Karten-Dateisystem für Embedded Linux?

4 Linux-Distributionen für Spiele

Eine Einführung in bpftrace für Linux

Auswählen eines Druckers für Linux

Linux-Dateisysteme verstehen:ext4 und darüber hinaus

Eine schnelle Einführung in das Linux-Dateisystem für Windows-Benutzer.

Unterschiede zwischen nobootwait und nofail in Linux-Dateisystemen