Do Exchange 2003 mailbox VMs make sense?
The topic of hardware virtualization has generated much inter- est in the Windows community recently. Hardware platforms have become more accommodating of the demands of software that’s running in a virtual server, and virtualization software has become more mature and functional. However, you shouldn’t simply run out and install Windows Server 2003 and Exchange Server 2003 on a virtualization platform such as Microsoft Virtual Server 2005 Release 2 (R2) or VMware Server. There are performance considerations, support limitations, and deployment issues that you have to take into account before you can virtualize any part of Exchange 2003 within a production messaging environment.
In a two-part article that begins here, I’ll explore some of the benefits of virtualization, Microsoft’s support limitations, virtual machine (VM) performance considerations, and deployment issues that you need to think about before you virtualize any part of Exchange 2003 in a production environment.
Benefits of Virtualization
Virtualization is accomplished by using a mixture of hardware and soft- ware technologies that let you run multiple virtual OSs and application instances concurrently on a single physical computer. There’s a host OS that runs the VM software, plus within the VM there’s a guest OS that sup- ports one or more applications. Thus, each VM utilizes the underlying hard- ware (such as storage) and the net- work supported by the host computer as if the guest OS were physically in- stalled and running on that computer.
Deploying multiple VMs on a computer maximizes the use you get from expensive hardware. For example, if you run Exchange 2003 in a virtualized environment on a dual-processor system equipped with 1GB of memory, you can easily support thousands of mailboxes while utilizing only 30 percent of the computer’s processing power. You can also build a complete test environment by using a set of VMs running on one or two physical servers. Many consultants run complete Exchange infrastructures consisting of as many as four servers on a laptop to test software configurations.
Using virtual servers is an attractive solution for any cost-conscious CIO or systems administrator because it lets an organization eliminate some physical servers. But you need to make sure the underlying hardware can bear the load. After all, if you have four virtual servers running on one computer, a hardware failure will affect all four servers.
Microsoft’s VM Support Policy for Exchange
Microsoft supports only Exchange 2003 Service Pack 2 (SP2) or later in a virtualized environment, and only when it runs on Virtual Server 2005 R2 or later. You must also have Virtual Machine Additions installed on the guest OS (e.g., Windows 2000 Server). In addition, Microsoft supports only standalone Exchange servers, not clusters, running either Exchange Server 2003 Standard Edition or Exchange Server 2003 Enterprise Edition. Finally, you have to use the Microsoft Virtual Machine PCI SCSI Controller. (You can download Virtual Server 2005 R2 for free at http://www.microsoft.com/windowsserversystem/virtualserver/evaluation/trial/default.mspx. For information about installing the Virtual Machine Additions component, see the “Virtual Machine Additions” page at http://www.microsoft.com/technet/prodtechnol/virtual server/2005/proddocs/vs_tr_com ponents_additions.mspx.)
In documents on its Web site, Microsoft outlines further conditions that need to exist in order for it to pro- vide Exchange virtualization support. You can review Microsoft’s support policy for Exchange 2003 in the Micro- soft article “Support policy for Exchange Server 2003 running on hardware virtualization software” (http://support.microsoft.com/?kbid =320220). Also see the Microsoft article “Support policy for Microsoft software running in non-Microsoft hardware virtualization software” (http://support.microsoft.com/?kbid=897615).
Performance and Host Considerations
Microsoft’s support policy states that it will support virtualization products that have only one virtual CPU configured for each VM (as opposed to having multiple virtual CPUs configured for a single VM). This type of configuration limits the workload that a virtual Exchange 2003 server can sup- port. In most cases, this limitation isn’t a problem if you want to use virtual servers as messaging bridgeheads, but it does restrict the number of active mailboxes that Exchange can support.
Other considerations include the virtual server’s ability to handle network and storage demands. Online backups of VMs occur over the network, and they can take time if the network adapter can’t support the traffic. Exchange mailbox activity can generate a lot of I/O operations per second, so it’s important to use fast hard disks and to optimize the virtual disk layout and file placement. Even if you ensure that you have good net- work and disk configurations, you need to test whether the server can handle the production load. A virtual server and software can become unstable when users generate more load than the configuration can comfortably support.
Some storage problems that you might encounter in a virtualized environment are that guest OSs (such as Windows 2003 running on VMware) can’t directly access SAN adapters or other complex storage components. Instead, you have to configure containers on the storage managed by the host for the guest OS to use. The guest OS accesses these containers as a local SCSI block-mode device. In new processors, Intel and AMD plan to include virtualization extensions that might allow host systems to present a wider range of devices to guest OSs in the future.
Running Exchange on VMware
VMware has pushed the idea of virtual Exchange servers for several years. VMware even wrote a white paper on this topic, Running Microsoft Ex- change Server in a Virtual Machine Using ESX Server 2.5 (http://www.vmware.com/vmtn/resources/510). VMware offers tools such as VMotion to move servers within a virtual environment and VMware VirtualCenter to manage the VMware ESX Server platform and deploy new virtual servers configured from prebuilt templates. Although the white paper outlines the advantages of the virtual server approach, VMware acknowledges that Microsoft doesn’t support Exchange 2003 running on a VMware platform and that moving overloaded Exchange 2003 servers into a virtual environment is unlikely to return great benefits.
VMware claims that it can work around Microsoft’s support policy by deploying active mailbox and other Exchange 2003 servers on a physical system, while keeping passive virtual servers available as a fallback if a problem occurs with a physical server. VMware’s workaround is certainly an interesting approach: Microsoft will support Exchange 2003 running on the physical servers, and customers will realize some cost efficiency and resilience by deploying passive back- up servers. However, because you need to use clusters to create active and passive Exchange nodes, deploying Exchange 2003 according to VMware’s recommendations increases cost and adds support problems to the existing complexity of cluster deployment and operation, outweighing most of the benefits achieved by using passive backup servers.
Should You Wait?
Configuring complex storage remains a challenge for virtualized environments today. So unless you plan to support only a small number of concurrent users, I recommend that you stay away from virtual Exchange 2003 mailbox servers. Exchange 2003 servers that generate smaller I/O loads, such as bridgehead or mail hygiene servers, are better candidates for virtualization. In part two of this article, I’ll discuss deploying Exchange 2003 in a virtualized environment.