代码之家  ›  专栏  ›  技术社区  ›  David Holm

如何模拟ext3文件系统损坏?

  •  17
  • David Holm  · 技术社区  · 17 年前

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

    因为我对文件树不同部分的数据修改频率以及敏感数据的存储位置有很好的了解。我想在特定领域注入错误,而不仅仅是随机的。

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

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

    2 回复  |  直到 14 年前
        1
  •  2
  •   Nicolas    17 年前

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

    要想知道在哪里写,e2fsprogs包中的debugfs可以帮助您。