## 几个选项对比
跨机房搬几百 GB 的数据,单条 scp 流经常连带宽的一半都吃不满,因为单条 TCP 流的吞吐受往返延迟与窗口限制,延迟越高越吃亏。可选手段三类:并行多流,把大文件拆成多块或多个文件并发传,用并发数换吞吐;先压缩再传输,换 CPU 时间省带宽;物理直传,把盘拔下来快递或用移动介质对拷,数据量特别大时反而最快。
## 各自适用面
并行多流适合文件数量多的场景,rsync 并行包装器或按目录分片起多个进程,吞吐随并发接近线性上升,直到打满带宽。单个大文件不便拆分时,分段工具可以把文件切成区间并行传,收端再拼接,属于重炮选项。压缩适合带宽贵的链路,zstd 压缩级别可调,一级到三级的压缩速度足以喂满千兆链路,同时仍能省下一半以上的传输量;但局域网内链路不缺带宽时,压缩反而是拖累,CPU 先于网卡成为瓶颈。
rsync -a --bwlimit=50000 --info=progress2 /data/src/ user@192.168.10.20:/data/dst/ tar -c -I zstd /data/src | ssh user@192.168.10.20 "tar -x -I zstd -C /data/dst"
流式打包传输省去了落临时包的磁盘空间,中途断了要重来是它的代价,重要迁移宁可先落盘再传。
## 选择建议
先测基线再选手段:单流实测能到多少,与链路标称差几倍,决定并发开几路。延迟高的跨机房链路优先并行,带宽小的专线优先压缩。顺云云服务器同机房内网传输通常单流即可跑满,直接 rsync 最省事;跨机房迁移预留校验时间,传输完成后逐文件核对大小与校验和。
传输完成只是半程,校验才是终点:分块传输的先核对每块的校验和,再校验整体;校验和文件随数据一起生成与归档,恢复时先验再解。跨机房的大批量迁移建议做小规模试点,拿一小部分数据走完全流程,测出真实的吞吐与故障率,再决定全量的窗口与并发参数,比直接全量开跑稳妥得多。
时间窗口的选择也有讲究:避开业务高峰与备份时段,与对端协商带宽配额,夜里跑白天停的分段策略在公网链路上常比一口气全量更快到达。