我正在创建一个新的嵌入式系统,它在闪存上使用ext4。这些系统将在没有本地sysadmin的情况下远程部署,因此任何诊断都必须通过网络远程完成。
ext4的默认挂载选项是将FS设置为仅在遇到错误时读取。我认为这对我的情况来说太严重了,因为它会导致许多操作停止工作并阻止远程登录。
我更愿意保持系统运行(并且容忍一些FS错误)。因此,就我的情况而言,挂载选项"errors=continue“似乎更合适。但是,我希望在出现任何FS错误时通知我的应用程序,这样它就可以将这些问题记录为高优先级的问题并发送这些信息。回到我们的服务器。
有谁知道这是否可以用股票Linux内核(x86_64上的4.8.1)来完成呢?
发布于 2016-12-17 18:44:17
我更愿意保持系统运行(并且容忍一些FS错误)。
这在术语上是矛盾的。当您收到FS错误时,您的系统将不会运行很长时间。事实上,使用errors=continue运行很可能会进一步破坏损坏的文件系统,直到没有任何恢复的希望。
如果您希望您的应用程序能够最好地继续操作,即使存在FS错误,它也应该有一个脚本来检测/何时变为只读,并使用强制fsck重新启动。
总有一天一切都会崩溃。这是熵增加的规律。除了坚持坚实的工程原理和为关键任务的用例获取高质量的部件之外,没有什么是你能真正做到的。
https://unix.stackexchange.com/questions/331093
复制相似问题