Virtualize Microsoft Exchange

This topic provides the Microsoft support policies for running currently supported versions of Microsoft Exchange Server in production in a hardware virtualization environment. This topic also provides recommendations for running Exchange Server in production in a hardware virtualization environment.

Hardware virtualization software enables you to run multiple, separate operating systems concurrently on a single physical machine. Microsoft has the following software offerings that provide hardware virtualization functionality:

Third parties also provide hardware virtualization functionality. For details about the Microsoft support policy for third-party hardware virtualization software, see:

For design and sizing information, recommendations, and best practices for running Exchange Server in production in supported non-Microsoft hardware virtualization environments, check with your virtualization software manufacturer.

A layer of software that sits just above the hardware and beneath one or more operating systems.

The physical machine that is running the hardware virtualization software. In some hardware virtualization environments, this machine is also referred to as the parent or host machine.

A virtual machine that is running as a child machine of a hardware virtualization environment. The virtual machine typically runs at a second or third level above the hardware in the host machine.

Microsoft supports Exchange Server 2007 in production on hardware virtualization software only when all the following conditions are true:

Running Exchange 2007 SP1 in a guest virtual machine does not change the Exchange Server design requirements from an application perspective. The Exchange Server guest virtual machine must still be sized appropriately to handle the workload. You take the same approach to sizing a virtualized Exchange server that you would take for sizing a non-virtualized Exchange server. Mailbox, Client Access, and transport server roles must still be designed for performance, capacity, and reliability. In addition, they must be allocated resources that are sufficient to handle the load on the system, based on the usage profiles of the system. For details and guidance about sizing Exchange server roles, see:

Many hypervisors include features to dynamically adjust the amount of RAM that is available to one or more virtual machines. This functionality lets the hypervisor allocate RAM to virtual machines based on the current perceived RAM requirements of the particular virtual machines.

Generally, this functionality is appropriate for virtual machine workloads that use a lot of memory for brief periods and then resume typical operations. In this scenario, the hypervisor can allocate memory to meet the needs of the particular workload, and then retrieve the memory for other virtual machines. However, this functionality may not be suitable for workloads that are designed to use a particular memory pool on an ongoing basis.

Many of the performance improvements in recent versions of Exchange are based on the efficient use of an appropriately-sized RAM allocation. This is particularly true of improvements that are related to reductions in I/O operations. The performance optimizations rely on Exchange caching data in RAM. When RAM is dynamically reduced, the expected performance of the system cannot be achieved. In this scenario, Exchange may exhibit reduced performance, or end-users may experience reduced performance when connecting to Exchange. Therefore, for virtual machines that are running Exchange in a production environment, it is best to turn off memory oversubscription or dynamic memory allocation. Instead, configure a static memory size that is based on the appropriate values for Exchange 2007.

For more information memory considerations, see Planning Memory Configurations. For more information about dynamic memory allocation, see the "Application Considerations" section of the Hyper-V team whitepaper, Implementing and Configuring Dynamic Memory.

Exchange 2007 includes a number of high availability and disaster recovery features, such as local continuous replication (LCR), cluster continuous replication (CCR), standby continuous replication (SCR), and single copy clusters (SCC). All four configurations are supported in a virtualized environment.

Some hardware virtualization software includes features that support the clustering or portability of guest virtual machines across multiple physical root machines. For example, Hyper-V includes a clustered solution called quick migration, which combines Hyper-V host machines with Windows failover clustering. For more details about quick migration, you can download the Quick Migration with Hyper-V White Paper.