Slow Clones? Deploying from Template Slow?
Before we dive into the tips do yourself a favor checkout these VMware KB Articles first:
- VMware KB 1004002 - Diagnosing slow deployment of templates or clones from vCenter Server
- VMware KB 1004028 - Deploying a single template is slow
- VMware KB 1003469 - Tuning ESX for better storage performance by modifying the maximum I/O block size
Use a dedicated datastore for templates
You should put your templates on their own dedicated datastore, I also use my dedicated "template" datastore for OS ISOs, and other tools (like gParted). If you don't dedicate a datastore to templates you can run into the possibility of reading/writing to the same datastore when you clone or deploy from template. This ensures that way you can't be reading and writing to the same datastore when you deploy.
Are you making bad choices when deploying?
Don't deploy thick and eager zero. Deploying thin disk or zero thick disk will be much faster. The reason deploying using a thick and eager zero disk slows you down is that the disk space has to be zero'd out when the disk is created, writing all those zeros takes a lot of time.
Look at the Backend Storage
You may simply not have enough spindles, if you have contention because you don't have enough spindles where it is stored that can be your bottleneck.
Leverage Storage Vendor Tools
Rather then a VMware reading the template/clone and writing it out to a new location when you clone VM or deploy a template your storage vendor may have a solution. Their solutions typically move this action to the array so the rapid clone features of your storage system can be leveraged inside of vCenter to clone or deploy a template VERY quickly. These plugins are usually free for current customers, but of course do your own research.
If you are a NetApp shop look into NetApp RCU 3.0 it's a vCenter Plugin--one of it's main features is rapid deployment/cloning of VMs
If your an EMC shop look at the EMC Celerra NFS Plugin it is also a vCenter Plugin--and it's allows for rapid cloning using the array rather then VMware doing the work.