My company has a number of different types of hardware, for servers as well as workstations. Also, we build new systems (especially servers) rarely enough that imaging is of limited utility, because the image is bound to be out of date by the time we want it again.
We're thinking about installing a virtualization tool (almost certainly VMWare ESXi) on the hardware, but only installing one VM on each machine. This way, we get the benefits of hardware abstraction, but still have consistent performance. We could "image" any existing machine just by copying the VM (or, for the first time, using a P2V tool); load the image whenever we want in VMWare Server for trivially easy updating, and have the benefit of snapshots; and simple deployment to heterogeneous hardware.
The question is: what sort of performance hit can we expect? I've found lots of studies online comparing the performance of N virtual machines running on one computer for various values of N, but none that compare it to bare-metal. I seem to recall hearing once that Xen could cause a 20-40% degradation in IO performance, which (if that's true, and if ESX is similar) would hit our SQL servers pretty hard.
Does anyone know about virtualized vs. bare-metal performance of Windows Server on ESX, when there's only one VM so it's not competing for resources?
Besides performance, can anyone think of other downsides to this sort of setup?