我正在寻找一种方法将一个大文件夹(约 40-60g)分发到多个服务器(4 个或更多)。scp
循环中的简单命令已经可以正常工作。我希望有一种更快的方法,但只需使用command &
and wait
(或GNU并行) 不会有太大改善,因为带宽有限。另外,我想要一种简单的方法,不需要涉及分布式文件系统设置。
我已经读过这nfs
将比scp
或更快特殊 rsync,这一切都很好,但我认为如果有超过 3 个目标服务器,则可以使用更快的版本,即“树复制”机制:从源复制到服务器 A 和 B,然后从 A 复制到 C 和 D,并行从 B 复制到 E 和 F,依此类推。
C ...
/
A
/ \ D ...
/
source -- E ...
\ /
B
\ F ...
有没有一种工具,我只需提供 IP 或主机名,它就能高效地复制“树”?或者有没有一种简单的脚本,可以通过 scp、pssh、sshfs 或类似工具来执行此操作?
答案1
BitTorrent 或其他点对点文件共享。设置跟踪器可能需要一些工作,但它将使用每个主机的上传。
您需要进行测试来了解在您的环境中哪个速度更快。
答案2
如果服务器遍布全球(即不在你的本地 10 Gbps 网络上),那么https://storj.io也可能是一个解决方案。