我想测试设置中的一些物理链路。我可以用来测试这一点的软件工具需要一个块设备来读取/写入。我可用的块设备无法使物理链路饱和,因此我无法对其进行全面测试。
我知道我可以设置一个由文件支持的虚拟块设备。所以我的想法是以某种方式将虚拟块设备设置为 /dev/null 但问题当然是我无法从中读取。有没有一种方法可以设置一个写入 /dev/null 但在读取时始终返回零的虚拟块设备?
感谢您的任何帮助!
答案1
https://wiki.gentoo.org/wiki/Device-mapper#Zero
有关用法,请参阅 Documentation/device-mapper/zero.txt。该目标没有特定于目标的参数。
“零”目标创建的功能与 /dev/zero 类似:所有读取都返回二进制零,并且所有写入都被丢弃。通常用于测试 [...]
这将创建一个 1GB(1953125 扇区)零目标:
root# dmsetup create 1gb-zero --table '0 1953125 zero'
答案2
如果你不需要它有特定的限制大小,你可以直接使用/dev/zero
。从技术上讲,它是一个字符设备,而不是块。
/dev/zero
丢弃类似的写入/dev/null
,但读取为零而不是 EOF。
如记录在手册页,在 Linux 上,您可以使用任何名称创建自己的文件,
mknod -m 666 /dev/zero c 1 5
或者当然可以创建一个符号链接到/dev/zero
。