The idea of virtualizing Exchange Server has its opponents and supporters. Some Exchange admins believe virtualization...
increases cost and complexity -- without offering any real benefits. Others point to two benefits that could justify virtualizing Exchange Server. Here's a look at some requirements and strategies for Exchange 2016 virtualization.
First, virtualization disassociates Exchange from the physical hardware, which can be a benefit if hardware upgrades are required. Second, because many organizations use virtualization-level management tools, Exchange 2016 virtualization allow admins to manage it more consistently among other servers.
Microsoft provides a list of requirements for virtualizing Exchange Server. A supported hypervisor is required and virtualization shouldn't change Exchange Server's hardware requirements. Exchange requires the same amount of memory, storage I/O and so on, whether it's running on physical or virtual hardware. There are also a number of best practices for operating Exchange Server in a virtualized environment.
Hypervisors such as Microsoft Hyper-V and VMware ESXi allow the use of dynamic memory. Dynamic memory enables virtual machines (VMs) to request additional physical memory from the hypervisor on demand. VMs configured to use dynamic memory can also release physical memory when it's no longer needed, freeing it for other VMs.
Administrators should provision Exchange Server with the memory it needs -- without relying on dynamic memory. Using dynamic memory can cause severe performance problems, especially if an admin overcommits memory.
Saved state issues
A saved state refers to a hypervisor's ability to pause a VM, which suspends storage I/O, and write the contents of the VM's memory to a file. This allows the VM to be powered back up later and return to the point at which its state was saved. While saved state VMs have a place, a virtualized Exchange Server shouldn't be placed into a saved state because of the data corruption risk.
Admins can manually place VMs into a saved state or use hypervisor configurations to do this. For example, by default, Hyper-V momentarily places VMs into a saved state as a part of the backup process. To prevent this, be sure to install a current version of the Hyper-V Integration Services within the VM and check that the VM adheres to specific requirements.
Applying a hypervisor snapshot reverts a VM to a saved state; hypervisor snapshots are not supported for use with Exchange Server.
Windows Server 2016 Hyper-V brings application awareness to Hyper-V snapshots; however, Exchange Server documentation does not currently address the use of application-aware snapshots. So it's unsure if this feature will be supported for use with Exchange 2016.
With Hyper-V, admins also can configure automatic start and stop actions. The default automatic stop action in Hyper-V places the VM into a saved state. The administrator must configure VMs to never save or restore a state. This is also true for hypervisor-level high availability. Configure hypervisor failovers so that VMs are cold-booted following a failover. However, because live migration doesn't place the VM into a saved state, Microsoft supports using Hyper-V live migration to move a running Exchange Server from one Hyper-V server to another.
Hypervisor failover clustering can protect virtualized Exchange servers -- even if those virtualized servers are database availability group (DAG) members. As noted, the administrator must set up the hypervisor so virtualized Exchange Servers aren't placed into a saved state as a part of the failover process.
Editor's note: A Hyper-V issue in Windows Server 2012 and Windows Server 2012 R2 that's related to the Microsoft Failover Cluster Virtual Adapter Performance Filter can cause virtualized DAG members to experience performance issues, timeouts and communications failures. To resolve this problem, follow Microsoft's instructions to disable the filter.
Should you virtualize Exchange with Hyper-V or VMware?
Unexpected Exchange 2016 features
Deploying Exchange 2016 just got less complicated