Windows Server到Server复制,远程执行,过程概述

好的,在这个例子中我有3台服务器

Server_A,Server_B,Server_C

我想通过在Server_C上执行批处理脚本将数据通过networking从Server_A移动到Server_B,这将是这样的。

robocopy "\\Server_A\Share\" "\\Server_B\Share\" 

1.)实际写入Server_B的数据是如何从Server_A复制到Server_C的临时文件夹或内存然后写入Server_B的? 或者Server_C以某种方式实际上告诉Server_A直接将文件复制到Server_B。

我的想法是数据必须读取到Server_C上的临时文件夹或内存,然后才能写入到Server_B,这意味着您有效地使用Server_C传输的数据量翻倍另外一跳?

2.)假设两台服务器的所有方面都相同,在server_A上运行这个数据拷贝比在Server_B上运行更快吗? 即:当您从一台服务器复制到另一台服务器时,pipe理源服务器与目标服务器上的副本是否有实际影响?

我猜猜从源服务器运行副本更快,因为它具有最快的访问文件分配表,因为它们存储在本地,与查询远程服务器。

预先感谢您提供的任何input。

运行您在“Server_C”问题中显示的robocopy命令会导致数据从“Server_A”通过线路读取,并通过“Server_C”发送到“Server_B”。 所有的数据都通过“Server_C”上的networking接口。 数据通过RAM中的缓冲区移动 – 没有“临时文件夹”或其他 – 它比这更短暂。

不过,你是正确的,因为你正在创build一个“跳跃”,导致更多的stream量生成整体。 如果“Server_A”和“Server_B”能够直接通信,“Server_C”没有特别需要该数据在其中移动。

在这种情况下,在“Server_A”或“Server_B”上运行robocopy命令会更快。 你不会创build一个“跳跃”,stream量不必要的移动。 这绝对是“真实的世界影响”,但它是否会在可见的速度上产生任何实际的差异取决于您移动的数据量和networking拓扑结构。

在源服务器和目标服务器上运行命令没有特别的区别,因为将从磁盘读取相同的数据并通过networking传输。 没有任何关于“访问文件分配表”对于源和目的地来说更快的速度 – 无论在哪种情况下启动副本,相同的数据都在移动。