假设我有三台联网计算机:A、B 和 C。
A 从 B 和 C 挂载目录。
A/mnt/im-on-B/
A/mnt/im-on-C/
然后A复制一个文件:
cp /mnt/im-on-B/file ../im-on-C/
数据会发生什么情况——它是通过 A 从 B 传递到 C 吗?
cp
这是否比直接将文件从 B 到 C 的效率低得多?
答案1
这两个问题都是肯定的。 B 将数据传输到 A,A 将数据重新传输到 C。这意味着网络上的活动量是从 B 到 C 的直接副本所产生的活动量的两倍。它的重要性取决于网络的拓扑结构以及存在的其他流量。
标准解决方法是通过 SSH 连接到 B 或 C,然后从那里开始复制(使用 NFS 安装或 scp 或 rsync 或其他)。这样,数据就直接从 B 到 C,不需要经过 A 或被 A 复制。