我使用 rsync 将大数据从主机传输到另一个主机。源路径和目标路径通过nfs挂载。
我想使用--bwlimit来限制带宽,但是我发现当使用参数-z时,--bwlimit似乎不起作用。
像这样:
$ rsync --progress -lptgoD -z -HXSR --bwlimit=1024 --numeric-ids -r /source_dir/ /dest_dir/
sending incremental file list
./
xxx/
xxx/file1
2,943,688,704 100% 7.87MB/s 0:05:56(xfr#1, to-chk=1/4)
xxx/file2
2.939,400,192 100% 7.85MB/s 0:05:56(xfr#2, to-chk=0/4)
sent 720,566,933bytes received 65bytes 1,011,322,10 bytes/sec
total size is 5,883,088,896 speedup is 8.16
在传输数据时,使用监控网络带宽的工具,都在5MB/s~10MB/s左右iotop
。nfsiostat-systat -mth 2
那么这里出了什么问题呢?
rsync 版本 3.1.2,请原谅我糟糕的英语,感谢您的帮助。
答案1
除非您正在执行网络传输,否则将忽略--bwlimit
和-z
( )选项。--compress
就您而言,就您rsync
而言,您正在进行本地传输 - 即使源或目标是已安装的网络驱动器,它仍然被视为本地文件系统的一部分,因此被视为本地。
本地到本地传输的另一个副作用是rsync
传输或跳过整个文件;不考虑像网络副本那样仅发送更改的块。实际上,它减少到仅仅只是cp