VHD网络文件传输始终失败,容量为4GB


16

这个问题使我们非常沮丧:从网络上的Windows 7计算机通过网络将大的VHD(虚拟硬盘)文件传输到我们数据中心的物理Windows Server 2008计算机时,Windows文件传输始终无法以4 GB的速度失败。从总部到数据中心,我们直接建立了100兆位的连接。

传输失败时,我们收到的错误消息是:

There is a problem accessing \\server-name\d$ Make sure you are connected to the network and try again.

它是唯一超过4 GB的失败更大的VHD文件。如果我们发送任何其他文件类型,则可以正常工作。如果我们压缩VHD,那也可以。而且,我们可以将VHD发送到另一个方向(从数据中心到总公司)没有问题。只是那个方向上的VHD文件。

重要笔记:

  • 所有分区都是NTFS !!
  • 工作站和服务器之间没有防火墙
  • 我们尝试禁用工作站上的防病毒软件(服务器上没有防病毒软件)
  • 我们尝试从不在域中的计算机传输文件
  • 我们已经尝试从Ubuntu机器传输文件(仍然失败,但是大约是450MB而不是4GB)
  • 传输失败时,Wireshark捕获显示40个DUP ACK
  • Xcopy和Robocopy(带有重新启动标志)都失败(相同点)
  • FTP传输失败于4,14X,XXX,XXX字节,并且此时无法重新启动
  • 在发送文件扩展名之前,我们尝试将文件扩展名(愚蠢但是不得已的方法)更改为vhd以外的其他文件,但仍然失败
  • 连接如下:Dell工作站(主办公室)-> Dell PowerConnect 5448管理型交换机(MO)-> HP Procurve 2910al-24G第3层路由器(MO)-> 100Mb TLS链接-> HP Procurve 2910al-24G第3层路由器(数据中心)-> Dell PowerConnect 5448管理型交换机(DC)-> Dell服务器(DC)

因此,从总公司到我们的数据中心,从根本上来说,仅vhd文件> 4GB就会失败。这一切都还没有加起来……至此,我认为这是我们网络硬件设置的问题,但是我不明白传输大型VHD(4GB失败)与传输VHD之间有什么区别。大型视频文件(始终有效)。


您尝试过CIFS / SMB之后的其他协议吗?
巴特·德沃斯

不,我没有;我会尝试一下
Isaac Butt 2012年

1
我再说一下,哪种类型的网络设备可以处理100Mb连接?
SpacemanSpiff'5

2
大概应该归咎于深度数据包检查(这似乎很可能),使用诸如SFTP或SCP的加密传输机制可以解决此问题。或者,您可以使用Windows内置的IPSec。还是路由器具有某种加密隧道支持?
哈里·约翰斯顿

2
@HarryJohnston设置SFTP后,VHD文件成功传输,因此您似乎对TLS上的DPI是正确的。我将与我们的提供者联系,看看他们是否可以做一些事情:)
Isaac Butt

Answers:


3

经过数小时的故障排除(并尝试了此处发布的所有建议)后,问题出在我们总公司和数据中心之间的TLS链接上。我给我们的TLS提供者打电话,在与几位NOC技术人员交谈之后,其中一位曾听说过确切的问题。事实证明,他们的某些第2层设备较旧,并且VHD数据存在问题。

解决方案是升级这些设备上的固件,这是由TLS提供程序执行的。现在,我们可以轻松传输大型VHD。对于那些感兴趣的人,我们的TLS提供商是加拿大维多利亚的Shaw Communications。


1

尝试使用Xcopy或Robocopy;至少一个或两个都有“恢复”开关。Rsync也可能有帮助。

出于好奇,其中一台机器是32位的,而另一台是64位的吗?如果是这样,您可以暂时在64位计算机上尝试复制吗?


Robocopy和Xcopy在同一点上也会失败,即使使用恢复开关(和缓冲/非缓冲)也是如此。服务器和工作站均为64位。
艾萨克·巴特

野蛮。我想到的唯一补救方法是检查ESX中的2GB VHD选项。节哀顺变。
gWaldo

没问题,感谢您的帮助:)(我们使用的是Hyper-V,而不是VMWare)
Isaac Butt 2012年

好点子; 我已经使用了一堆虚拟化平台,所以我在心理上将它们解析为$ disk_file或$ config_file等...
gWaldo 2012年

0

在google中搜索大型文件网络复制失败,您会发现一些线程在谈论类似问题,而不仅仅是vhd。通常链接此KB,以查看调整NIC设置是否有帮助。TCP卸载,烟囱设置等

http://support.microsoft.com/kb/951037


感谢您的建议。我可以毫无问题地传输其他大文件,但我会研究一下其中的一些设置。禁用烟囱卸载无效。
艾萨克·巴特

0

Mmmmhhhh ...我看到了上面的各种答案,但我意识到我仍然无法确定您是否真的尝试使用64位复制程序进行复制。(xcopy,robocopy和大多数FTP客户端都是32位,即使在64位Windows上也是如此。)

您可以尝试使用64位版本的TotalCommander V8.0吗?(它仍然是一个候选版本,但是非常稳定。)那实际上只是64位。

如果服务器启用了IPV6(通常在W2K8上启用),请尝试另一件事:在工作站上完全禁用IPV4,因此副本必须使用IPV6。看看是否会有所作为将很有趣。

如果以上两种方法都不能缓解问题……,您可以始终使用HJSplit(或TotalCommander的split函数)将文件分成1GB的块,但是当然您必须有一种在服务器上重新加入文件的方法。这取决于您是否有权在服务器本身上运行程序。(如果不允许您在服务器端安装其他软件,则只需执行“复制/ b chunk1 + chunk2 + chunk3 total.vhd”即可。)


尝试使用TotalCommander 8,甚至在4GB内存之前传输失败,并报告“请删除写保护!” 但我不认为这实际上表示写保护错误。
艾萨克·巴特

我们还有其他方式可以移动数据。我可以只将文件RAR并传输过来(甚至不需要将其分割成小块),但这是我们确实不必做的额外步骤。不过,感谢您的建议,感谢您的帮助。
艾萨克·巴特

0

只是一个想法:虚拟机管理程序正在使用VHD还是已安装VHD?

由于部分VHD已锁定并且无法从文件系统读取,因此可能会失败。这就是为什么压缩文件有效的原因,并且为什么同样大小的视频文件也有效但VHD文件却无效的原因。

在Windows中寻找文件锁:

  1. 下载过程资源管理器(直接链接到live.sysinternals.com)
  2. 选择查找菜单,选择查找句柄或DLL ...
  3. 输入文件名,然后选择搜索。

似乎有一个类似问题的专家交流站。但是答案中没有解决方案。


好点子。有时您甚至需要重新启动工作站才能真正解锁文件。它可能看起来是免费的,但您永远无法真正分辨出来。
托尼2012年

@Tonny您可以肯定地说,您只需要正确的工具。用建议的方法更新了我的答案。
约瑟夫·科恩

是的,我看到了专家交流的文章,听起来很像。进程浏览器对该文件不显示任何内容。而且,我可以对其进行复制,并且尝试传输该副本仍然失败,因此似乎没有锁。Total Commander 8 RC(64位)最早在传输到2GB时发生故障,并显示消息“请删除写保护!”。尽管这可能只是库存错误响应。
艾萨克·巴特

1
TC响应实际上很有用。如果确实有某些东西阻止了尝试的写操作,它将仅在复制过程的一半提供该消息。它必须在服务器端,或者与LAN / WAN有关。您确定局域网确实是透明的吗?我会寻找进行状态全面数据包检查的路由器,或者某种会对此某种特定类型的数据感到困惑的网络加速器设备(例如Cisco WAAS设备)。
托尼

嗯,这条线应该是透明的。我可以打电话给我们的提供者并告诉他们发生了什么,尽管我敢打赌他们会把责任推到其他地方。
艾萨克·巴特2012年

0

听起来这甚至可能是权限问题,当您尝试将文件复制到网络位置时,该文件将停止或出现故障,也许您可​​以尝试创建一个网络文件夹以使其完全打开,这意味着共享给“所有人”组并在“安全性”标签中进行设置。如果这样可以解决问题,则看上去就像是权限问题,实际上,因为您提到过Linux复制很快就失败了,所以看来权限可能是问题所在。确保未使用VHD中的文件,并且您具有访问这些文件的适当权限。

另外,请确保要复制的文件夹具有打开权限。请记住,这只是为了查看权限是否受到阻碍,一旦您看到副本正常工作后,便可以随时将其收紧。

另一件事可能很远,但是您是否尝试过更新NIC驱动程序?您的计算机的最新驱动程序中可能存在修复程序。

我希望这会有所帮助,干杯


感谢您的建议,但这并不能解释为什么如果加密了数据,文件传输会成功。我仍然认为问题出在TLS线路上;目前,我正在与他们的支持进行对话
Isaac Butt 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.