Virtualization

Running Exchange Server 2007 in a virtual environment

In efforts to virtualize everything from the lowliest application server to the highest-end database server, Exchange servers look like scrumptious candidates. After all, those servers just run e-mail, right? Not so fast. Although Microsoft does support virtualizing Exchange in certain scenarios, there are a number of caveats and requirements.

With the release of Exchange Server 2007 SP1 and Windows Server 2008, Microsoft began supporting Exchange Server 2007 in virtual environments. However, not every scenario is supported, and Microsoft only recommends and supports a virtual environment if specific conditions are met.

First of all, as I implied, only Exchange 2007 SP1 can run virtually. SP1introduced further improvements to Exchange's I/O footprint, which, I imagine, led to Microsoft's easing of restrictions on the installation in virtual environments.  Second, your Exchange servers must be running under Windows Server 2008; Windows Server 2003-based Exchange servers are out of the question.

Next, your virtual environment needs to be running on Hyper-V or a third-party virtualization provider validated by Microsoft. Validated third-party products include VMware (fortunately!) ESX 3.5 updates 2 and 3 and Citrix Xen Server, among others. Microsoft prefers that you use Hyper-V as your virtualization platform, but it's nice to see that it isn't excluding other major players.

One major item of note: If you intend to use unified messaging, that role is not supported in a virtual environment. In fact, it's not recommended that you use virtualization for any services for which real-time communication is required. I have tested the unified messaging role in a virtual lab and can safely say that this role really needs to run on its own physical server.

There are a number of other items to take into consideration when it comes to running Exchange in a virtual environment. The list below is just a few of the major items.  Microsoft provides a complete list of requirements and limitations on TechNet.

  • Don't forget to account for the processing and disk needs of the virtual host, particularly if you're using Hyper-V. Under Hyper-V, the root machine needs processors assigned to it, and the root machine will consume processing resources and RAM. As you build your virtual hosts and add virtual machines, makes sure that the virtual processor-to-physical core ratio is no greater than 2:1. That is, if you have a four core machine, do not assign more than eight cores worth of processor to the running virtual machines.
  • Understand that Exchange's high-availability features, such as continuous cluster replication, don't mix well with hypervisor-based clustering, such as Hyper-V's quick migration or VMware's VMotion. Microsoft doesn't support combining these technologies. If you choose to forgo VMotion or quick migration on your root server or virtual host, then Exchange's clustering capabilities are fully supported in a virtual environment, although you do lose a significant server availability feature. Of course, you can always run clustered mailbox servers on different virtual hosts as a way to mitigate some of this downside. This limitation would only affect the virtual machines hosting the mailbox server role. The servers housing the other roles should not be limited.
  • Microsoft does not support making snapshots of full Exchange virtual servers at the virtual host level due to the fact that most hypervisor-based snapshot tools are not application aware. Snapshots could end up creating a mess if used improperly.
  • Even when running in a virtual environment, you need to adhere to design recommendations when it comes to building your virtual servers. If, for example, a physical machine would require 16 GB of RAM for a particular Exchange installation, the virtual machine will too.
  • Under Hyper-V, VHDs are limited to 2 TB in size. Size your mailbox stores accordingly.

These are just some of the most significant limitations and items of note with regard to running Exchange in a virtual environment.

About

Since 1994, Scott Lowe has been providing technology solutions to a variety of organizations. After spending 10 years in multiple CIO roles, Scott is now an independent consultant, blogger, author, owner of The 1610 Group, and a Senior IT Executive w...

5 comments
reggaethecat
reggaethecat

We host around 200 mailboxes on our Exchange server and have it running on ESX 3.5 and it works fine. Running Exchange SP1 on Windows 2008. We allocate 8GB RAM and 4 vCPUs and don't have any performance issues. We also use DoubleTake to replicate the server to our DR site and this also works great. Our original idea was to have 2 exchange servers, clustered and connected to a SAN, which we didn't have at the time. But in the end we managed to get a full VMware setup for the same amount of money! Our supplier raised an eyebrow when I told him we wanted to do this but it has definitely been the correct choice and saved loads of money on hardware. Highly recommended.

matic.zupancic
matic.zupancic

Just a few remarks. 1. Statement that only Exchange 2007 SP1 can run virtually is not true. My company is virtualizing almost every Exchange of our clients and we have a few Exchange 2007 without SP1 running. 2. Exchange servers must be running under Windows 2008. False! No need to have Win2k8 server. It runs without a problem on a virtualized Win2k3 servers. 3. VMware server 2.0 is working fine also.

CEdwards478
CEdwards478

Aren't a lot of these requirements common sense? For instance... Don't try to use 2 different vendor's High Availability features at once. If the server requires n GB of RAM, then the server requires n GB of RAM - regardless of it being physical or virtual.

DaveIsHere
DaveIsHere

I've virtualized Exchange 2003 on Win2003 in ESX 3.5 without a problem. ESX hosts had attached storage so we used Doubletake for server replication, too. We did this before 2007 SP1 was available. Today I would choose Exchange 2007 because it's Microsoft supported. One caveat with ESX is to sync your clock with NTP on a different system - the VMs don't keep time very well. Oh yeah, don't try to PtoV or clone Exchange mailstore servers or AD domain controllers, either, Exchange should be built from scratch, and DCs must be Promo'd from a member server.

cool_men1
cool_men1

Hello, Your company run exchange 2007 sp1 since april 2008 it install on server 2003 entreprise with 5gb of ram and 2 cpu allocated to the wm. It run on wmware 3.5 with able to make snap shut of the wm with vcb. Whe have 100 of mail box running on the server. About virtual server the company Are not allways willing to support the sofware on WM. We install some software, the vender say it not work on wm and we found it was running fine with any issue.

Editor's Picks