【问题标题】:How can I simulate ext3 filesystem corruption?如何模拟 ext3 文件系统损坏?
【发布时间】:2008-09-26 15:32:48
【问题描述】:

我想模拟文件系统损坏,以测试我们的嵌入式系统如何对其做出反应,并最终让它们尽可能优雅地失败。我们使用不同类型的块设备模拟闪存来存储经常修改且不适合存储在 NAND/NOR 中的数据。

因为我非常清楚文件树不同部分中数据的修改频率以及敏感数据的存储位置。我想在特定区域注入错误,而不仅仅是随机注入。

在紧急情况下,我们使用fsck -y 作为最后的手段,以便尝试启动系统并报告处于非常糟糕的状态。我非常想引起错误,触发 fsck 尝试修复,以研究对系统恢复能力的影响。

dd if=/dev/random 对于我的目的来说不够精确,因为它不能轻易地用于注入受控错误。是否有任何其他工具或方法更适合我的需求,还是我必须自己发明?

【问题讨论】:

  • 很好的问题,但我会标记这个容错而不是优雅降级。

标签: linux testing filesystems fault-tolerance ext3


【解决方案1】:

如果您已经知道要修改什么,dd 可以读取包含您要写入的字节的文件,并告诉它在哪里写入。

要弄清楚在哪里编写,e2fsprogs 包中的 debugfs 可以帮助您。

【讨论】:

    【解决方案2】:

    应该可以使用 Linux 文件系统映像模糊器来导致损坏:

    https://unix.stackexchange.com/a/144200 中描述的一种 Linux 磁盘故障注入技术(例如损坏模式下的 dm-flakey)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多