Troubleshoot Windows Server file copy errors
Copying large files to a Windows Server file share
can sometimes fail. Performance Monitor or PowerShell commands can help find
and fix file copy errors.
Server
Message Block file shares have existed for long enough that they are generally
stable and reliable. However, some administrators have found that copying large
files from a Windows 7 or Windows 8 client computer to a Windows Server file
share can result in erratic -- and sometimes problematic -- behavior.
The
first step in resolving file copy errors is to recognize what type of behavior
occurs by design and what behavior indicates a problem. In Windows 7, it is
usually easy to distinguish between normal file-copy behavior and problematic
behavior. But due to the way the Windows 8 buffering process works, it can
sometimes appear as though there are problems when none exist.
When
copying a file to a remote file share, Windows 8 uses a memory buffer. It reads a portion of the
file into memory, and then writes it to the file share. With smaller files, this
technique results in very fast file copy operations. With larger files, the
file copy process initially goes very quickly and then slows to a crawl (Figure
A).
Figure A: When copying a large file in Windows 8 to a file share on the
network, the transfer will start fast then slow significantly.
If
the file being copied is not excessively large, then the behavior in Figure A
will continue until the copy finishes. For larger files -- or computers with
smaller buffers -- the copy operation will occur in spurts. Large chunks of
data will be copied, with periods of little to no activity in between. These
slowdowns occur as the operating system flushes and then repopulates the buffer
(Figure B).
Figure B: In some cases, the file copy process may vary in speed.
Neither
of the conditions shown in Figure A and Figure B indicates a problem. This is
normal behavior for Windows 8.1. However, in some cases, the file copy process may
time out, resulting in an error message (Figure C).
Figure C: In some cases, the copy will fail when the time-out period
expires.
This
problem only seems to occur when copying very large -- 10 GB and larger --
files. The error message in Figure C is "Error 0x80070079: The semaphore
timeout period has expired." This general error can be hard to diagnose.
The error can occur with Windows 7, Windows 8 and possibly other versions of
Windows. It can be caused by the Windows desktop, Windows Server or the network
connecting the two.
Check the server logs
Begin
the troubleshooting process by checking the server's event logs. While this error may not generate an event in the
log, you may spot something else that could contribute to the time-out.
Next,
check if the server or the workstation is causing the problem. Although the Performance Monitor can help, subjective tests are just
as effective. Start a large file copy that is likely to produce an error, and
then test the responsiveness of the server and the desktop. Can you play a
video on the desktop? Can you write files from another desktop to the server
while the file copy process is going on? In most cases, you will probably find that
the desktop remains responsive, but that the server's performance decreases
dramatically.
Use PowerShell for a further diagnosis
If you
isolate the problem to the server, then you will need to work to find the exact
cause of the problem. The issue is almost always related to a storage
bottleneck or network bottleneck. These bottlenecks can be the result of a
poorly designed configuration or a health problem. Run the following twoPowerShell commands on your file server:
Get-PhysicalDisk
Get-PhysicalDisk
| Get-StorageReliabilityCounter | Select-Object ReadErrorsTotal,
WriteErrorsTotal, Temperature
These
commands will show whether the disks in your server are healthy, and whether or
not any read or write errors are occurring. Sometimes, the file-copy time-out
error occurs because of an unhealthy disk that cannot keep pace with the I/O
requests.
It is
also a good idea to review how the server's physical network adapters are being
used, especially if the file server is a virtual machine. Imagine that a host
server has a single NIC team that it uses for all traffic.
Virtualization-related operations, such as live migrations and replication
operations, can steal bandwidth from user sessions and cause file copy
operations to time out.
If you
are not immediately able to solve the file copy errors, then you might be able to temporarily work
around the issue by using a dedicated file-copy utility, such as Robocopy, rather than the operating system's built-in copy
functionality.
No comments:
Post a Comment