Server Message Block文件共享已经存在了很长一段时间,一般来说是稳定和可靠的。但是一些管理员发现如果从Windows 7或Windows 8客户端向Windows Server文件共享传输大文件的时候会出现一些古怪的问题。

解决文件复制错误的第一步是识别哪些行为是本来设计之初就有的,哪些行为代表出现了问题。在Windows 7中,通常来说区分正常文件复制行为和有问题行为非常简单。不过基于Windows 8有缓存进程工作的方式,有的时候看起来是问题的实际上却没有任何问题。

当使用Windows 8来拷贝一个文件到远程文件共享系统的时候,会用到内存缓存机制。它会将文件的一部分写入内存中,然后将它拷贝到文件共享系统。传输小文件的时候,这种机制可以让传输的速度变得非常快,但是传输大文件的时候,文件传输进程在开始的时候非常快,但是到后来就缓慢的进行了(如图1所示)。

图1. 在Windows 8传输大文件到网络文件共享时,文件传输进程在开始的时候非常快,然后速度会明显下降

图1. 在Windows 8传输大文件到网络文件共享时,文件传输进程在开始的时候非常快,然后速度会明显下降

如果传输的文件不是非常的大,那么图1中显示的这种现象会一直持续到拷贝结束为止。如果是更大的文件——或者使用的是很小缓存的计算机——的话,复制的过程会出现抖动。一大块的数据会被复制,然后会在一段时间内没有任何动静。在这段减速的过程中,操作系统会清空缓存然后将新的内容注入内存中去(如图2所示)。

图2. 在有些时候,文件复制过程中速度会发生变化

图2. 在有些时候,文件复制过程中速度会发生变化

图1和图2中的这些情况都没有表明任何问题。因为这是在Windows 8.1中正常的行为。但是,有的时候文件复制过程中出现了超时,导致错误信息出现(如图3所示)。

图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来替代操作系统自带的拷贝功能。

关注中国IDC圈官方微信:idc-quan或微信号:821496803 我们将定期推送IDC产业最新资讯

查看心情排行你看到此篇文章的感受是:


  • 支持

  • 高兴

  • 震惊

  • 愤怒

  • 无聊

  • 无奈

  • 谎言

  • 枪稿

  • 不解

  • 标题党
2017-07-18 09:49:54
云资讯 微软发布SQL Server 2017 RC1 推出7个社区预览版
微软推出了首个公共预览版本,并持续带来更新和改进。而今天,微软同时向 Windows、Linux、macOS、以及 Docker 容器推出了 SQL Server 2017 RC1 的公共访问。截至目前,该 <详情>
2017-04-24 18:03:50
云资讯 华为技术有限公司社区经理 林旅强:开发者生态建设、开源社区运营和治理
最早在PG时代,其实在Windows这个领域大获全胜,我并没有说它是开源还是弊源,用户拿到很多是有关,我们也知道在有些情况来讲,在国外我们可以看到谷歌,Facebook,国内的 <详情>
2017-04-13 10:17:50
互联网 为什么越来越多的Mac用户开始爱上Windows?
微软不久前推出了“Windows 10创意者更新”(Windows 10 Creators Update),并在其中内置了许多全新功能。 <详情>
2017-04-07 14:14:32
互联网 Android超越Windows成互联网用户最常用操作系统
据外媒报道,互联网监测公司Statcounter的一项研究显示,谷歌Android已经超过微软Windows成为互联网用户最常用的操作系统。 <详情>
2017-01-20 09:53:07
互联网 被亲爹抛弃 《我的世界》宣布不再更新Windows手机版
据国外媒体报道称,近年来一直倍受批评的Windows Mobile平台恐怕很快就要迎来又一个致命打击了,因为有消息称全球最受欢迎的沙盒游戏《我的世界》(Minecraft)开发商已经决 <详情>