I'm going to start my column this week with a shameful confession: The first Exchange Server book I wrote, Managing Microsoft Exchange Server (O'Reilly), wasn’t written based on a real Exchange server. Instead, I wrote it in 1998 and 1999 using a virtualized Exchange 5.5 server running on my Mac PowerBook. Since that time, virtualization has been a valued part of my Exchange toolkit, and I'm not the only one for whom this is true. In the next couple of columns, I want to survey the current state of Exchange virtualization and talk about where things are headed now that Windows Server 2008 has shipped.
It's probably helpful to start with a discussion of Microsoft's official support stance on Exchange virtualization. Microsoft has different stances for Exchange 2003 and Exchange 2007.
For Exchange 2003, Microsoft supports Exchange servers running on Microsoft's virtualization product, Microsoft Virtual Server 2005. You have to be running Exchange 2003 SP2 or later on Virtual Server 2005 R2 or later, and support is provided only for standalone systems—no clusters, please!
For Exchange 2007, things are a little murkier. You can't use Virtual Server 2005 because it doesn't support 64-bit applications. You can't use the 32-bit evaluation version of Exchange 2007 because it's not supported for production use. Microsoft's new flagship virtualization product, Hyper-V, doesn't officially support Exchange 2007 yet. Where does that leave you?
The answer, of course, is with non-Microsoft virtualization solutions such as Citrix Systems' Citrix XenServer and VMware's VMware ESX Server. I've spoken to many customers at both small and large organizations that are happily running virtualized Exchange servers—but are these installations supported by Microsoft? The answer here is slightly more complex.
The Microsoft article "Support policy for Microsoft software running in non-Microsoft hardware virtualization software" says that Microsoft won't necessarily provide support for Microsoft software running on third-party hardware virtualization software. If you're using a virtualization package whose vendor has a support agreement with Microsoft (which, right now, is only Novell), Microsoft will work with that vendor to support you. With any other type of virtualization, the level of support you get varies according to what kind of support relationship you have with Microsoft.
If you have a Microsoft Premier support agreement, Microsoft provides "commercially reasonable" efforts to support you. I'm not quite sure whether "commercially reasonable" has an official definition, but it gives Microsoft a way to limit support efforts in case of bizarre problems. If you don't have a Premier-level agreement, Microsoft expects you to replicate the problem on physical hardware before determining whether it's something the company supports; they might also ask Premier customers to do this.
Is Microsoft's support stance on virtualization a problem? Not in my experience; I have encountered very, very few customers that have run into problems attributable to their virtualized environments. People are more likely to have a problem sizing their host hardware adequately for the number of users and associated workload that they expect. Fail to do that correctly, and you'll have problems just as you would with physical hardware.
Of course, Server 2008 and Hyper-V offer a whole new range of potential solutions for Exchange virtualization. I'll talk about those next week.