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 我们将定期推送IDC产业最新资讯

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


  • 支持

  • 高兴

  • 震惊

  • 愤怒

  • 无聊

  • 无奈

  • 谎言

  • 枪稿

  • 不解

  • 标题党
2022-05-31 16:36:40
大数据资讯 《Windows 7操作系统安全加固指引》发布 虚拟补丁技术被正式采纳收录
目前,亚信安全虚拟补丁已经被金融、医疗、制造、能源以及政府等行业广泛采纳,为全国上百万个端点提供着漏洞防护方案。 <详情>
2020-09-04 15:53:42
机房建设 41项测试一次过!宁畅八款服务器获Windows Server权威认证
近日,微软(Microsoft)官网更新服务器兼容目录,宁畅信息产业(北京)有限公司(以下简称“宁畅”)的八款服务器产品通过Windows Server 2019版本的操作系统权威认证。 <详情>
2020-07-21 15:37:20
云资讯 首个支持云上超级管理员权限,腾讯云数据库SQL Server基础版发布
7月20日,腾讯云数据库SQL Server基础版(单机)正式上线。云数据库SQL Server 基础版提供了正版授权、高可用、高安全、高性能及轻运维的全套数据库解决方案,且兼具超高性 <详情>
2017-11-24 10:40:22
云技术 微软发布预览版SQL Server跨平台开发工具
微软发布了预览版跨平台数据库开发工具SQL Operations Studio(SqlOps)。该工具是Visual Studio Code的一个分支,可以运行在Windows、MacOS和Linux上。因为SQL Server 201 <详情>
2017-10-09 09:46:20
云资讯 红帽宣布支持Azure、.Net Core 2.0和SQL Server 2017
近期,微软和红帽宣布支持在Red Hat OpenShift上运行Windows容器。此次宣布所针对的主要场景,是让Linux和Windows容器工作于同一集群中。这将使具有混杂环境的企业无需分别 <详情>