我将通过两个 NAS 服务器之间的快速 10Gbits/s 链路传输一些非常大的文件。两种 NAS 系统均具有基于 raid6 的存储,平均写入速度约为 160 MB/s。我一直在试验,似乎 scp 实际上比 rsync 更快。以下是传输 100GB VM 映像的两个示例:
scp -p /volume1/PROXMOX/images/110/vm-110-disk-1.qcow2 [电子邮件受保护]:/volume1/PROXMOX/images/110/
rsync -v -p -o -g -r -t -D -l --numeric-ids -e ssh /volume1/PROXMOX/images/110/vm-110-disk-1.qcow2 [电子邮件受保护] :/卷1/PROXMOX/图像/110/
scp:10分52秒
rsync:23分24秒
在本例中,Rsync 是通过 ssh 运行的。因此,对于像这样的大文件,rsync 构建校验和等的开销似乎太大。 有没有人有类似的经历或者我在这里缺少什么? 是否有任何秘密 rsync 标志可以加快速度? 我
我也有类似的经历,但……并非如此。我不知道有任何秘密标志可以加速它,除了可能不使用
-z
(压缩)。不过,我没有这方面的硬数据,也许 .qcow
文件确实是可压缩的,我不知道!
InterWebs 上的一些旧技巧提到对 SSH 使用 CPU 占用较少的密码算法,例如
rc4
。看起来当前的 OpenSSH 不再支持 RC4,但有人确实比较了当前的一些,这是一场势均力敌的竞争。我无法想象您使用哪种密码进行 rsync-over-SSH 会带来天壤之别。
提到的其他一些替代方案是设置 rsync 守护进程,它在身份验证阶段之后根本不使用加密,或者通过 HPN-SSH 使用 rsync 以及 rsync 的
-e
选项。或者甚至使用 -e rsh
,如果您觉得可以在您的网站上启用 rlogin,我想这在理论上是可能的。
尽管我这么说让我感到难过,但似乎缺乏自由/开源选项来匹配您将看到的像 Aspera 这样的东西(最近被 IBM 收购)的吞吐量。它是体积庞大、令人困惑的商业软件,但一旦我最终使用
ascp
进行传输,我就可以在不同站点的两台主机之间获得超过 rsync
10 倍的传输速率。 ascp
CLI 还有一个 -T
选项可以完全禁用加密,如果我正在下载的数据已经是公开的,比如 来自 NCBI 或类似的人,我将使用该选项。
虽然对这些东西了解不多,但我可以推测 Aspera 可能在多个 CPU 核心上使用更快的加密例程,并且可能使用开销较低的传输协议(例如 UDP)(如 BitTorrent 那样)来传输数据。不过,我希望有一个了解更多的人能够对此有更好的见解。
使用 sftp、filezilla,比 rsync 更快。