首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >频繁地重装分区rw/ro是否很危险?

频繁地重装分区rw/ro是否很危险?
EN

Unix & Linux用户
提问于 2014-03-05 11:13:10
回答 3查看 1.9K关注 0票数 2

我正在开发一个运行在SD卡上的嵌入式linux系统。

为了防止SD损坏,我使用了只读根文件系统以及安装/home的额外分区,也使用了只读模式。在/home中,程序运行并执行读写操作.

当软件需要在磁盘上写入一些数据时,它会回显这两个命令并保存它们之间的数据:

代码语言:javascript
复制
mount -o remount,rw /dev/mmcblk0p3 /home
mount -o remount,ro /dev/mmcblk0p3 /home

我这样做是为了确保在权力下降的情况下最大限度地防止腐败。但是,我不知道治愈方法是否会比疾病更糟糕。

每当我想保存一些数据时,执行如此频繁的分区重装对于文件系统或SD卡来说是否危险?

另一个问题。在程序运行的地方重装分区是否危险?我的意思是,不是在磁盘上写数据,而是用自己的程序变量运行。

EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2014-03-05 12:02:56

重新装载本身应该是相当安全的,当然,它在内核中的测试路径比write(2)更少。您可能会导致一些额外的写入(标记文件系统脏/干净,等等)。您可以使用块转储功能(/proc/sys/vm/block_dump)来确定是否导致了额外的写操作。

如果你经常这样做的话,也有可能是你强迫的写量比其他情况下要小(例如,不可能在两个rw-ro循环中组合一个写)。这可能意味着你会在闪光灯上造成更多的擦除。(当然,如果你经常这样做,那么fs就不会是滚滚而来的,它也毫无意义)。

这假设您需要担心这些写操作带来的损坏--如果您的闪存控制器在磨损时处理电源故障(等等)。没错,那你就不需要了。日志文件系统将防止损坏,只要您使用它支持的更新语义。当然,日志记录放大了写作。

票数 2
EN

Unix & Linux用户

发布于 2014-03-05 11:20:39

为了防止损坏,只需调用sync将所有更改提交到磁盘(必要时)。而且,日志文件系统是相当有弹性的,您真的不需要这样做。

否则,这并不危险(它同步和更改内核中的标志,对驱动器本身没有多大作用),但是总是这样做是很烦人的,而且并不是真正必要的。

票数 1
EN

Unix & Linux用户

发布于 2014-03-05 18:14:14

我觉得你想太多了。我已经使用Linux 20年了,Unix系统也使用了更多。在这段时间里,我只看到过一两个损坏的文件系统(而且我是一个UNIX管理员,所以我每天要处理几十个系统)。

现在,如果你说的是保安,那是有意义的。

系统的大部分只读是一个很好的保护方案。但是,在您的场景中,您在哪里登录呢?您必须有一个可用的可写日志分区。

使/home成为只读,并迫使应用程序在只读和可写之间切换,看起来确实是过度消耗和开销。

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

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

复制
相关文章

相似问题

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