高效的并行远程文件复制

高效的并行远程文件复制

我正在寻找一种方法将一个大文件夹(约 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也可能是一个解决方案。

相关内容