web-dev-qa-db-ja.com

/ dev / nullに書き込む仮想ブロックデバイスを作成する

セットアップでいくつかの物理リンクをテストしたい。これをテストするために使用できるソフトウェアツールでは、ブロックデバイスが読み取り/書き込みを行う必要があります。利用可能なブロックデバイスは物理リンクを飽和させることができないため、完全にテストすることはできません。

ファイルに裏打ちされた仮想ブロックデバイスをセットアップできることは知っています。したがって、私の考えは、どういうわけか/ dev/nullに仮想ブロックデバイスをセットアップすることでしたが、問題はもちろん、そこから読み取ることができないことです。/dev/nullに書き込み、読み取り時に常にゼロを返すだけの仮想ブロックデバイスをセットアップする方法はありますか?

助けてくれてありがとう!

15
John Smith

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'
33
sourcejedi

特定のサイズに制限する必要がない場合は、/dev/zeroを直接使用できます。技術的には、ブロックではなくキャラクターデバイスです。

/dev/zero/dev/nullのように書き込みを破棄しますが、EOFではなくゼロとして読み取ります。

manページ に記載されているように、Linuxでは任意の名前で独自に作成できます
mknod -m 666 /dev/zero c 1 5または、もちろん/dev/zeroへのシンボリックリンクを作成します。

5
Peter Cordes