这是我需要修改的 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
其中<rate>
是每秒允许传输的最大字节数,或者如果指定了 K、M、G、[...],则每秒允许传输的最大千字节数、毫字节数、千兆字节数、[...] 数。
但是,如果您确实不需要使用 16K 块大小来读取文件,只需使用pv
,它可以读取块设备:
pv -L <rate> /mnt/nfs > /dev/sda
答案2
你不需要dd
这里。pv
已经完成了将输入铲到输出的工作。
pv -L 1m </tmp/nfs >/dev/sda
尽管您可能在某些网页上读过这些内容,但dd
.您不需要使用它来访问设备。所有的魔力都在/dev/stuff
.
/tmp/nfs
注意:如果是磁盘映像并且您想将其写入磁盘,则此命令有意义/dev/sda
。除了速率限制之外,它相当于您问题中的命令。似乎不涉及 NFS 服务器。