One of my customers wants to set up a pair of front-end Exchange Server servers by using VMware to create two virtual machines (VMs) on one physical server. The customer thinks this method will speed disaster recovery, but I don't think it's a good idea. What do you think?
VMware, Microsoft Virtual PC, and Microsoft Virtual Server are terrific tools for use with Exchange—under the right circumstances. Many administrators use virtual Exchange servers as an integral part of their deployment, operational-testing, and maintenance processes. Such setups provide a quick and easy way to test procedures and operations, and you can easily undo changes you make to the disk (a brilliant timesaver). However, I wouldn't recommend using such virtual servers in production, for several reasons.
First, if you host two VMs on one physical computer, you now have three machines to maintain and patch: the host system and the two VMs. Don't think that you can neglect patching the VMs—those machines are the ones that are actually exposed to the Internet.
Second, front-end servers are designed to be interchangeable, and their resource requirements are fairly low for most user loads. For the $3000 you'd need to spend to buy a server large enough to host two VMs, you could probably go ahead and buy two sufficient front-end servers for $1500 each.
Third, subtle interactions between Windows and VMs can occasionally cause odd problems that are devilishly difficult to troubleshoot—not the kind of thing you want to invite into your production Exchange environment. Furthermore, Microsoft Product Support Services (PSS) won't offer support for such problems unless you can reproduce the problem on physical hardware. The Microsoft article "Support Boundaries for Exchange Server on a Virtual Machine or an Emulation Machine" (http://support.microsoft.com/?kbid=320220) describes PSS's stance on the subject.