嵌入式linux node -v10移植,在嵌入式Linux上安全地写入紧凑型闪存

本文探讨了在嵌入式环境中使用ext4文件系统时的安全挑战,尤其是面对闪存设备的不稳定性。作者建议使用日志文件系统如jffs2或yaffs,通过翻转缓冲策略提高数据一致性,并提出通过守护进程管理umount/remount以降低风险。

使ext4安全

ext4对此并不是很理想;最糟糕的情况是,当你的分区是RW并破坏文件系统时,电源会出现故障.

尽管它们是为原始NAND设备设计的,但像jffs2或yaffs这样的日志文件系统可能仍然有用.它们具有有用的特性,即它们的磁盘格式看起来更像是列表而不是树,因此更新的数据往往更紧密地打包,因此不太可能丢弃文件系统的相对静态部分.

在这种情况下,我无法评论如何使ext4’安全’;文件系统结构和fsck都不知道闪存设备的常见故障模式(特别是,在任何写入期间,整个数据块无效的时间很长.)这种行为当然是特定于控制器上的CF卡,所以无论如何它都不是很可预测的.

我能想到的最安全,最可预测的方法是在较小的嵌入式设备中使用相同的翻转缓冲数据布局.也就是说,您有两个可写区域(两个分区).在任何给定时间,它们中至少有一个必须一致.当你想写时,选择两者中较老的一个.如果启动并检测缓冲区A中的不一致,请复制缓冲区B的内容(同时不允许对B进行任何写入.)

管理mount / remount

我会写一个代表系统上所有进程管理unmount / remount的守护进程.这有许多优点:

>你将umount / remount逻辑分开,只需实现一次>想要写入的进程不需要root权限>你可以构建某种看门狗,以确保分区不会长时间留在RW.如果是,您可以终止违规流程(可能会回滚)和重新安装RO.>您可以测量您安装RW的时间长度,这可以让您了解每次更新所涉及的风险

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值