Ste*_*veG 14 linux device device-emulation
我正在寻找一种更简单的方法来测试我的应用程序,以防止在读取某些块时产生i/o读取错误的错误块设备.尝试使用已知坏块的物理硬盘很痛苦,我想找到一个软件解决方案(如果存在的话).
我确实找到了Linux磁盘故障模拟驱动程序,它允许创建一个接口,可以配置为在读取某些范围的块时生成错误,但它适用于2.4 Linux内核并且尚未针对2.6进行更新.
什么是完美的将是一个losetup和循环驱动程序,它还允许您配置它以在尝试从给定的一组块读取时返回读取错误.
Pet*_*des 24
它不是您正在寻找的环回设备,而是设备映射器.
使用dmsetup
创建的"错误"目标支持的设备.它会出现在/dev/mapper/<name>
.
设备映射器演示文稿(PDF)的第7页正是您所需要的:
dmsetup create bad_disk << EOF
0 8 linear /dev/sdb1 0
8 1 error
9 204791 linear /dev/sdb1 9
EOF
Run Code Online (Sandbox Code Playgroud)
或者将sdb1
部分省略并将"错误"目标作为块0 - 8(而不是sdb1
)的设备来制作纯错误磁盘.
另请参阅"RHEL 5逻辑卷管理器管理"中的" 设备映射器"附录.
看起来Linux的内置故障注入功能是一个好主意.
博客:http://blog.wpkg.org/2007/11/08/using-fault-injection/
参考:https://www.kernel.org/doc/Documentation/fault-injection/fault-injection.txt
归档时间: |
|
查看次数: |
9748 次 |
最近记录: |