Server Message Block文件共享已经存在了很长一段时间,一般来说是稳定和可靠的。但是一些管理员发现如果从Windows 7或Windows 8客户端向Windows Server文件共享传输大文件的时候会出现一些古怪的问题。(桌面支持服务)
解决文件复制错误的第一步是识别哪些行为是本来设计之初就有的,哪些行为代表出现了问题。在Windows 7中,通常来说区分正常文件复制行为和有问题行为非常简单。不过基于Windows 8有缓存进程工作的方式,有的时候看起来是问题的实际上却没有任何问题。
当使用Windows 8来拷贝一个文件到远程文件共享系统的时候,会用到内存缓存机制。它会将文件的一部分写入内存中,然后将它拷贝到文件共享系统。传输小文件的时候,这种机制可以让传输的速度变得非常快,但是传输大文件的时候,文件传输进程在开始的时候非常快,但是到后来就缓慢的进行了(如图1所示)。
图1. 在Windows 8传输大文件到网络文件共享时,文件传输进程在开始的时候非常快,然后速度会明显下降
如果传输的文件不是非常的大,那么图1中显示的这种现象会一直持续到拷贝结束为止。如果是更大的文件——或者使用的是很小缓存的计算机——的话,复制的过程会出现抖动。一大块的数据会被复制,然后会在一段时间内没有任何动静。在这段减速的过程中,操作系统会清空缓存然后将新的内容注入内存中去(如图2所示)。
图2. 在有些时候,文件复制过程中速度会发生变化
图1和图2中的这些情况都没有表明任何问题。因为这是在Windows 8.1中正常的行为。但是,有的时候文件复制过程中出现了超时,导致错误信息出现(如图3所示)。
图3. 有的时候,有效期超时也会导致复制出错
这个问题只会出现在拷贝非常大的文件(10GB甚至更大)的时候出现。在图3中出现的错误代码是"Error 0x80070079: The semaphore timeout period has expired."。这样笼统的报错信息很难诊断问题所在。这种错误可能出现在Windows 7、Windows 8和其他Windows版本。这个问题可能是因为Windows桌面、Windows Server或者连接它们之间的网络导致的。(网络维护公司)
检查服务器日志
从检查服务器的事件日志来开始排错吧。虽然报错信息可能不会在日志中产生一个事件,但是你有可能可以从中找到一些关于导致超时的线索。
然后,检查一下是服务器还是终端导致的问题。尽管Performance Monitor可以帮到你,但主观的测试也可以是很有效的。开始传输一个可能会导致错误的文件,然后测试服务器和客户端的响应能力。比如你能否在客户端上播放视频?你能否在复制过程中,用另一台客户端向这台服务器写入文件?在大多数的情况下,你可能会发现客户端持续响应,但是服务器的性能在显著地下降。
使用PowerShell来进行进一步诊断
如果你将问题定位到了服务器端后,你还需要找到导致这个问题的真正原因。问题有很大的可能性是因为存储设备的瓶颈或者网络的瓶颈。这些瓶颈可能是因为设计的缺陷或者设备健康问题。在你的文件服务器上执行以下两个PowerShell命令吧。
Get-PhysicalDisk
Get-PhysicalDisk | Get-StorageReliabilityCounter | Select-Object ReadErrorsTotal, WriteErrorsTotal, Temperature
这些命令会显示你服务器上的磁盘是否是健康的状态,以及是否正在发生任何读写错误。有的时候文件拷贝超时错误的出现是因为有一块不健康的磁盘,它不能跟上I/O请求的速度。(计算机网络维护外包)
检查服务器使用的物理网卡状态也是一个好的方法,特别如果文件服务器是一台虚拟机的话。想象一下一台只有单网卡的宿主机如果使用了它所有的带宽这种情况。虚拟化相关的操作,例如实时迁移和同步操作都可以占用用户的带宽并且导致文件复制操作超时。
如果你不能马上解决文件共享错误的问题,那么你可能需要用到专业的文件拷贝工具来作为短期内的解决方案,例如使用Robocopy来替代操作系统自带的拷贝功能。
艾锑无限是中国领先IT外包服务商,专业为企业提供IT运维外包、电脑维护、网络维护、网络布线、办公设备维护、服务器维护、数据备份恢复、门禁监控、网站建设等多项IT服务外包,服务热线:400-650-7820 联系电话:010-62684652 咨询QQ2050684097;1548853602 地址:北京市海淀区北京科技会展2号楼16D,用心服务每一天,为企业的发展提升更高的效率,创造更大的价值。
更多的IT外包信息尽在艾锑无限http://www.itbmw.com
相关文章