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

标签 linux testing filesystems fault-tolerance ext3

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

因为我非常了解文件树不同部分的数据修改频率以及敏感数据的存储位置。我想在特定区域而不是随机地注入(inject)错误。

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

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

最佳答案

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

要找出写入位置,e2fsprogs 包中的 debugfs 可以帮助您。

关于linux - 我如何模拟 ext3 文件系统损坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/140253/

相关文章:

php - 苹果推送通知 PHP 服务器带宽

linux - 无法在 Amazon Linux 实例上运行后台进程,但在 MAC OS X 上运行

linux - 删除第一个冒号和第一个制表符之间的所有内容

testing - 如何在不创建新关键字的情况下在 Robot Framework 中进行多行测试设置和拆卸?

c++ - 如何判断是使用<filesystem>还是<experimental/filesystem>?

windows - 如何在没有管理员权限的情况下在 Windows XP 上复制锁定的文件(设备或资源繁忙错误)

linux - 从文件中读取字符串并使用 bash 将它们存储在多个变量中

Javascript 日期测试工具

java - 关于DBUNIT和Junit的问题

linux - Linux下的特殊文件?