创建写入 /dev/null 的虚拟块设备

创建写入 /dev/null 的虚拟块设备

我想测试设置中的一些物理链路。我可以用来测试这一点的软件工具需要一个块设备来读取/写入。我可用的块设备无法使物理链路饱和,因此我无法对其进行全面测试。

我知道我可以设置一个由文件支持的虚拟块设备。所以我的想法是以某种方式将虚拟块设备设置为 /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

相关内容