Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a few datastores on my ESXi server, as seen below. I am moving files from one datastore to another. It is just taking too long. I have done io testing on the hard disks, and I know they can perform much better than this.

What really is going on?

Why is it so slow?

What can I do to speed this up?

enter image description here

share|improve this question
How is RAID on the server configured? Forget that it's ESXi for now, consider that you're reading and writing from the same disk. It's going to be slow, especially if it's busy servicing other requests. – SpacemanSpiff Mar 19 '12 at 21:21
What's the file system block size of the datastore you're trying to move it to? – RomeNYRR Mar 19 '12 at 22:48
File system block size is 1MB. There is nothing going on on the server except the file transfer. Copying from a single drive, to a RAID 1. – cmaduro Mar 20 '12 at 1:48

I never got any official confirmation for this, but I believe the I/O is capped (or at least de-prioritized) for datastore copy/move operations from the GUI as I have seen rather similar behaviour in different ESXi environments on from version 3.5. That being said, the actual performance numbers do scale with your storage backend's capabilities.

You might be getting higher transfer rates when using "dd" from within the ESXi SSH shell (available after activating the remote Tech Support Mode) instead of the GUI copy mechanisms. Example:

dd if=/vmfs/volumes/datastore1/your_vm/your_vm-flat.vmdk of=/vmfs/volumes/datastore2/your_vm/your_vm-flat.vmdk bs=1M

Also, check if you have enabled write caching with your RAID controller. ESXi storage operations involve a lot of syncs - if your controller does not have the write cache enabled you will see a serious performance hit for storage I/O. Note that a write cache should be backed by a battery or persistent storage (flash) to be transaction-safe.

share|improve this answer
I have the onboard LSI2008 controller as well as a LSI 9211 8i. Neither of which have a write cache :( I'll try the copy from SSH – cmaduro Mar 20 '12 at 13:13
If you are after performance, consider replacing them with BBWC-equipped models. Also, virtualization loads typically benefit from a feature LSI calls CacheCade - a 2nd level of SSD cache you can have by adding SSD disks to a RAID array. – the-wabbit Mar 21 '12 at 7:22

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.