为什么 robocopy 导致我的 Windows 2012 服务器昨晚挂了?

kaf*_*fka 5 storage nic robocopy windows-server-2012

我正在停用旧的 2003 服务器,它充当文件服务器,我只是尝试将文件存储库迁移到新的 Windows Storage Server 2012 机器上。我正在使用 robocopy 来复制文件,目前只是在进行一些测试运行以查看在我们进行最终更改之前需要多长时间。

我第一次运行 robocopy 时,我提供了以下开关:选项:/S /E /COPYALL /PURGE /MIR /MT:128 /R:100000 /W:30 它运行良好(虽然我不推荐 /r 和 /w 开关,因为它需要永远完成!)我第二次使用以下开关运行它(目标目录已经包含我第一次运行时源目标的副本,/MIR 将确保它已更新): Options : /S /E /COPYALL /PURGE /MIR /MT:128 /R:0 /W:0

这导致服务器在作业开始后大约 5 分钟挂起。它完全挂了,我不得不手动重启它才能重新启动它。日志并没有给我一个关于出了什么问题的巨大指示 - 想法是 /mt:128 引起了问题,但我第一次提供了那个开关,这很好。

第二次我将几个开关更改为 /r:0 和 /w:0,尽管我不认为它们会导致它挂起。

最后是我选择的 /MIR 有问题,因为目标之前已经从源复制了一次 - 我不会这么想,因为我认为镜像的唯一潜在缺点是它会删除文件不再在源中的目标。如果有人可以阐明出了什么问题,它将确保下次我尝试时不会出错。

编辑:我上面提到的开关取自 robocopy 日志文件,从某种意义上说,它们是我指定的开关的解释,它们是: /MIR /COPY:DATSOU /MT:128 /R /W

第二次编辑:有问题的服务器有一个双 NIC,使用 Windows Server 内置的 NIC 组合进行组合。我觉得这是重要的信息,我最初发布问题时没有分享。想调查这个。有问题的 NIC 是 Intel(R) 82574L 千兆网络连接。NIC 团队是“Microsoft 网络适配器多路复用器驱动程序”。

Luc*_*ius 1

听起来肯定是网卡驱动程序问题。要查看这是否是双网卡设置的错误,请将 IPG 参数调整为大约 20 毫秒并删除 /MT:128 参数(因为 /IPG 和 /MT 不兼容)。使用您原始帖子中的“我指定的开关”行,它看起来像这样。

/MIR /COPYALL /R /W /IPG:20 /Z
Run Code Online (Sandbox Code Playgroud)

/IPG:20(数据包间间隙)会大大减慢传输速度,但提供稳定性。

/Z(可重新启动模式)对于网络复制非常重要,以防网络中断(由坏卡、驱动程序或实际网络问题引起),因为它允许复制从中断的地方继续。

如果此操作成功完成,则表明您的网络驱动程序存在问题。问题是您使用的任何驱动程序都无法处理 /IPG:0 的吞吐量。

网卡驱动程序是服务器挂起的根本原因,最后的钉子是更换网卡并重新运行导致其挂起的命令。除此之外,您可能还可以拔下其中一个连接,这样就不会发生多路复用,然后运行产生错误的命令。

建议来自 technet 上的 cb42。

http://social.technet.microsoft.com/Forums/en-US/itprovistaapps/thread/9555a996-1301-4f68-b9d3-82a87fc6ba46/

...和 ​​ss64 摇滚(只是说!)http://ss64.com/nt/robocopy.html