嵌入式设备、日志分区、哪种文件系统更有弹性并且使用更少的读/写?

嵌入式设备、日志分区、哪种文件系统更有弹性并且使用更少的读/写?

我有一个带有只读文件系统的嵌入式 Linux 设备。我有另一个分区用于存储日志存档。

这个分区会被写入很多。我应该使用什么 Linux 分区来确保寿命和稳定性?

我听说 ext2-ext4 文件系统使用大量的读/写来记录日志。 vfat呢?意外断电怎么办?

答案1

您可以安全地使用ext3选项noatime:然后只有实际的文件写入才会在写入模式下触及您的闪存设备。如果嵌入式系统突然断电,ext3fs 日志是个好东西。

我个人以这种方式运行了一些配备简单 SD 存储卡的 Raspberry PI 几年(24/7,没有 UPS 备份,并且突然断电),而且我不需要更换这些卡,也没有任何卡。电源恢复后启动问题。

至于vfat,正如我提到的,写日记是一个优势。

编辑:此外,我使用 rw-mounted root fs 运行它们

答案2

Ext4 不是为闪存媒体设计的。它可以工作,并且由于其使用范围极其广泛,因此它是一个安全值,但它不一定是最佳选择,特别是在不进行磨损均衡的闪存介质上。

UBIFS专为原始 NAND 闪存而设计。它不适用于任意块设备,它需要底层 MTD 存储设备(而不是进行自己的块映射的设备,例如 MMC 和 SD)。它通常具有良好的性能,并且可能是原始 NAND 闪存的最佳选择,但调试和测试可能很烦人,因为您不能只安装磁盘映像。

日志文件系统可能是另一个竞争者。它对于大多数操作都有良好的性能,但它有历史稳定性问题,我认为它没有维护。在一个东芝2009年的演讲,它因腐败错误而受到猛烈抨击,我不确定从那时起它们是否已完全解决。

雅夫斯JFFS2是较旧的文件系统,目前已基本被取代。我认为 JFFS2 仍然适合小型文件系统(例如配置数据),但不适用于“大型”文件系统 - 如果您有超过几 MB 的日志,请避免使用它。

F2FS是一个相对较新的人。它专为更大的闪存文件系统而设计(最小大小为 10MB!)。我不确定它是否可以被认为是成熟的。

(注意:我对这些文件系统没有任何实际的行业经验。)

相关内容