これは私が変更する必要がある私のddコマンドです:
dd if=/tmp/nfs/image.dd of=/dev/sda bs=16k
ここで、pv
を使用して、NFSサーバーからのコピー速度を制限したいと思います。どうすればそれを達成できますか?そんなこと知ってる --rate-limit
は仕事をしますが、パイプの作り方がわかりません。
何らかの理由で必須ブロックサイズ16Kを使用してブロックデバイスを読み取る場合:
dd if=/mnt/nfs bs=16k | pv -L <rate> > /dev/sda
どこ <rate>
は、転送される1秒あたりの最大許容バイト数、またはK、M、G、[...]が指定されています。
ただし、16Kのブロックサイズを使用してファイルを実際に読み取る必要がない場合は、pv
を使用するだけで、ブロックデバイスを読み取ることができます。
pv -L <rate> /mnt/nfs > /dev/sda
ここではdd
は必要ありません。 pv
は、入力を出力にシャベルする仕事をすでに行っています。
pv -L 1m </tmp/nfs >/dev/sda
一部のWebページで読んだことがあるかもしれませんが、dd
には魔法はありません。デバイスにアクセスするために使用する必要はありません。すべての魔法は/dev/stuff
にあります。
注:このコマンドは、/tmp/nfs
がディスクイメージであり、それをディスク/dev/sda
に書き込みたい場合に意味があります。レート制限を除けば、質問のコマンドと同等です。 NFSサーバーが関与していないようです。