ddをpvにリダイレクトする方法は? [コピー]

ddをpvにリダイレクトする方法は? [コピー]

変更する必要があるddコマンドは次のとおりです。

dd if=/tmp/nfs/image.dd of=/dev/sda bs=16k

pvこれで、NFSサーバーでコピー速度を制限するために使用したいと思います。どうすればいいですか?これにより、作業が完了することがわかりますが、--rate-limitパイプラインをどのように構成するのかわかりません。

答え1

何らかの理由で〜しなければならない16Kサイズのブロックを使用してブロックデバイスを読み込みます。

dd if=/mnt/nfs bs=16k | pv -L <rate> > /dev/sda

1秒あたりの転送が許可される最大バイト数はどこ<rate>ですか?または、K、M、G、[...]が指定されている場合、1秒あたりの転送が許可される最大キロバイト、ミリバイト、ギガバイト数、[...]数。

ただし、実際にファイルを読み取るために16Kブロックサイズを使用する必要がない場合は、pvブロックデバイスを読み取ることができます。

pv -L <rate> /mnt/nfs > /dev/sda

答え2

ここでは必要ありませんddpv入力から出力へのシャベルはすでに完了しています。

pv -L 1m </tmp/nfs >/dev/sda

一部のWebページでこのコンテンツを読んでも、ddデバイスにアクセスするためにそれを使用する必要はありません。すべての魔法がそこにあります/dev/stuff

/tmp/nfs注:このコマンドはディスクイメージであり、それをディスクに書き込む場合に適しています/dev/sda。比率制限を除いて、質問のコマンドと同じです。関連するNFSサーバーがないようです。

関連情報