[译]对Windows Server文件拷贝错误的排错

  有的时候向Windows Server共享拷贝大文件会出现错误。Performance Monitor或者PowerShell命令可以帮助你找到并且修复这些文件拷贝的错误。

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

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

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

sWS-Fig1-CopyFilesNetwork_desktop

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

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

sWS-Fig2-InconsistentFileCopy_desktop

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

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

sWS-Fig3-CopyTimeoutPeriod_desktop

图C:有的时候,有效期超时也会导致复制出错

  这个问题只会出现在拷贝非常大的文件(10GB甚至更大)的时候出现。在图C中出现的错误代码是”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来替代操作系统自带的拷贝功能。

原文来自:http://searchwindowsserver.techtarget.com/tip/Troubleshoot-Windows-Server-file-copy-errors



 
 » 除非注明,本博客文章均为挨踢小茶原创,转载请以链接形式标明本文地址
该日志由 挨踢小茶 于2015年11月14日发表在 操作系统, 译文 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: [译]对Windows Server文件拷贝错误的排错 | 挨踢茶馆
关键字: , ,

[译]对Windows Server文件拷贝错误的排错:等您坐沙发呢!

发表评论



快捷键:Ctrl+Enter

无觅相关文章插件,快速提升流量