I'm a little confused. I have just completed making a "gold" master VM server that I'll be using for making new servers.

To make new servers based on this gold master....

Should I simply clone the gold master?


Should I create a template and use that to create a new server?

I'd also like the reasoning behind approach selected.

Also, why use a template over a clone or the other way around?


  • BTW, the server system in question is a Linux based system. – mdpc Sep 12 '09 at 23:50

When you convert a VM into a template, if you choose not to compact it, you can easily convert it back to a normal VM and back to a template, if you ever need to make changes/updates.

The benefit of using a template over cloning is automation. By automating the process of building a new VM from a template, you greatly reduce amount of time and amount of possible errors/mistakes during provisioning.

For example, when I build a new VM from a template, after selecting the datastore to use I can walk away and the VM is automatically cloned, powered-on, computername set, domain joined, VM tools installed, etc. It's really a set-it-and-forget-it process.

If I did not use a template, I'd have to manually clone, disable NIC (OS conflicts with cloned names on same network, etc.) power-on the VM, copy sysprep files, possibly modify sysprep.inf, run sysprep, reboot, reconnect NIC, join domain, reboot. No automation means I'm spending too much time provisioning one virtual machine, and I have to hope I didn't make a mistake somewhere in the process.

  • 1
    Just saw your linux guest OS comment. The same reasoning applies as far as time and mistake reduction. There are other benefits that speed the process. I also recommend degragging and using VM tools to shrink your disks when you have your gold master. What this does is zero-out the empty space on the disk(s) aka vmdks. When you provision a VM from a template, the VM clone process ignores the zeroed part of the vmdk, reducing the time it takes to perform the clone/copy. – Kai Sep 13 '09 at 1:29

When deploying servers from a template you can customize (in Windows speak "sysprep") them from your vcenter - assign names, IPs, and so on...

  • Can't you easily do this through the normal changes in the operating system configuration files just as easily? – mdpc Sep 12 '09 at 23:51

I think your answer is going to depend on how often you're doing it.

For test desktop environments that merely need a hostname change to be kosher (ie, they're getting their IP from DHCP), I'd go for cloning.

If you need to have everything properly registered in DNS with hostnames set, IP addresses assigned, etc, I'd go for templating.

If the hostname is also set via DHCP, then cloning's going to be faster, I suspect.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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