首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux嵌入式系统中文件系统腐败的防范

Linux嵌入式系统中文件系统腐败的防范
EN

Unix & Linux用户
提问于 2016-08-26 06:08:44
回答 1查看 1.6K关注 0票数 5

这些天我在研究嵌入式系统。它需要在没有适当关闭的情况下关闭。我们正在考虑像只读文件系统这样的Aufs。但问题是应用程序中存在一些可更新的数据,并且允许用户更改IP、日期时间等,因此,系统需要额外的R/W分区。

我有几个问题要澄清。

  1. 如何在突然停电的情况下保护系统腐败?
  2. 我想知道,这样的嵌入式系统最好的文件系统是什么?
  3. ext4 3/ext4 4是否像日志文件系统一样可以自动恢复一个不完整的文件以始终备份一个文件?
  4. RAID1中的BTRFS是目前最好的解决方案吗?
  5. 在嵌入式系统中是否有其他广泛使用的解决方案来避免系统损坏?
EN

回答 1

Unix & Linux用户

发布于 2016-08-27 03:17:29

从文件系统的角度来看,使用带有默认选项的ext3或ext4通常会为您提供足够的崩溃一致性。当然,您不会遭受文件系统丢失或任何文件在断电之前未被写入的损坏。

对于如何处理任何文件系统上的崩溃一致性,有许多考虑因素。如果您的应用程序只创建新文件,或者通过创建临时文件覆盖现有文件并使用重命名进行原子覆盖,那么默认的data=ordered模式ext4将很好。尽管在文件和目录条目上对fsync()的调用完成之前,或者OS刷新了它的缓存,但无法保证在停电后数据会出现在那里。这也假设您的存储设备遵守fsync()。

如果应用程序需要确保文件元数据和数据之间的一致性,而不关心性能,则可以使用data=journal,以便记录对文件和文件系统元数据的所有更改,而不仅仅是记录元数据。这将避免不完整的写入情况,比如文件大小越来越大,但是附加的数据会丢失并被空字符替换。

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/305860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档