Av rating:
Total votes: 6
Total comments: 6


Jaap Wesselius
Virtual Exchange Servers
20 November 2008

Microsoft now supports running Exchange Server 2007 in server virtualization environments, not just on Hyper-V, but on any virtualizing solution that is validated in the Server Virtualization Validation Program. Before virtualizing Exchange Server, you will need to be clear about the business advantages, and consider the size of the installation, otherwise the results can be a disappointment

Virtualization is a hot topic these days. Microsoft has released Windows Server 2008 Hyper-V just before the summer and Hyper-V is Microsoft’s answer to the supremacy of VMware ESX Server. Customers have been running applications like Microsoft Exchange Server on VMware for years now, despite the formal support statement from Microsoft that this wasn’t supported. Okay, there was a “commercially reasonable effort” support, but that was basically it.

Hyper-V is Microsoft’s
answer to the supremacy
of VMware ESX Server

This has changed since Hyper-V was released. All server virtualization products that are validated in the SVVP (Server Virtualization Validation Program) are now fully supported by Microsoft. Needless to say that all major virtualization vendors have signed up in this program, so all recommendations regarding virtualization are not only valid for Hyper-V but for all vendors in the SVVP program.

Microsoft has a list of all Microsoft applications that are supported in a Virtual Machine, this list is published via kb article 957006 (kb article 957006). There are some remarks in this document, and one of them is for running Exchange Server in a virtualized environment. And that’s exactly what I want to talk about.

Note. The official Support Policies and Recommendations for running a virtualized Exchange server can be found here

Windows Server 2008 Hyper-V

Hyper-V is a hypervisor product. A Hypervisor is a very small software layer that’s situated between the Operating System and the hardware. In terms of “small”, Hyper-V is less than 1 MB in size.

Install Windows Server 2008 (X64 only!) on “Designed for Windows” hardware. Make sure that this hardware supports hardware virtualization and have a correct BIOS version (including the Execute Bit Disabled option). All Class-A servers should be capable for Hyper-V, but be careful with the low-end servers. I have seen budget servers with Pentium IV processors that are not capable of running Hyper-V! But I have also seen laptops with for example an Intel Core2Duo processor that are capable of running Hyper-V (don’t expect a real-world performance though). The server should have enough internal memory and disk space to facilitate the use of Virtual Machines.

After installing Windows Server 2008 you have to install Hyper-V. Hyper-V is a server role and can be installed using the Server Manager. The Hypervisor slides between the Operating System and the hardware, and after a reboot the system is ready. Note that the original Operating System has now become a Virtual Machine as well! This Virtual Machine is called the root or parent partition. This is a special partition since it controls all other Virtual Machines on this host. These VM’s are called child partitions. Special care should be taken for the parent partition, and no applications should be installed on it. The best solution for the parent partition is to use Windows Server 2008 Server Core which only has a command line interface. There are a few graphical tools like timedate.cpl for setting the timezone and time/date information, and there’s also Notepad for creating batch files. But the general interface in the command line. Windows Server 2008 Server Core has low overhead, it has a small memory footprint and it has a small attack surface. It is more difficult to manage though, especially for the average Windows administrator.

There are some additions to the host Operating System when Hyper-V is installed. A VSP (Virtual Service Provider) is installed. This is a piece of software that gives a Virtual Machine access to hardware resources. The VSP is connected to the VMBus, an in-memory bus used for communications between parent and child partitions. Every child partition has its own VMBus for safety reasons.

Also VMWorker processes are installed on the parent partition. These are used for non-native Hyper-V Virtual Machines, they cannot use the VMBus or VSP interfaces. Hardware resources are emulated on the host in the VMWorker processes for these types of Virtual Machines.

Native Hyper-V Virtual Machines offer the best performance, whenever possible try to use native Virtual Machines. Supported server operating systems running as a native Virtual Machines are:

  • Windows Server 2008;
  • Windows Server 2003 SP2 and higher;
  • Windows Server 2000 SP4;
  • SUSE Linux 10d.

To integrate the native Virtual Machine with Hyper-V special drivers need to be installed in these Virtual Machine. These drivers let the Virtual Machine use the new VMBus structure as can be seen in  REF _Ref212978047 \h Figure 1. These drivers are called Synthetic Drivers and are part of the “Integration Components” of Hyper-V.

Other operating system run very well in Hyper-V as well, but they use the hardware emulation instead of the new VMBus structure.

Figure 1. Windows Hypervisor structure with multiple VM's. Note the Emulation part in the 3rd VM

So, the original Windows Server 2008 image becomes a Virtual Machine as well, but this one should not be used for production purposes. For running Exchange Server in a virtual environment we need to install a new “native Virtual Machine” that’s capable of using the new VMBus structure. Never install Exchange Server in the parent partition.

Virtual Exchange Servers

That being said, we want to create a fully supported virtualized Exchange Server environment. As stated before, the official support policies can be found on the Microsoft website:

The first thing is that the only version supported on Hyper-V is Exchange Server 2007 SP1 in combination with Windows Server 2008 as the Child Operating System. This is mainly because Windows Server 2008 performs better than Windows Server 2003 using multiple virtual processors. The Exchange product team didn’t want to spend any time on testing Exchange Server 2003 running on Hyper-V, so the official standpoint didn’t change here. I’ll refer to that later in this article.

Virtualizing Exchange Server is like designing a bare metal Exchange Server environment, it’s all about performance. All design guides available for designing bare metal Exchange Server 2007 environments should be used for virtual Exchange Server 2007 environments as well. This goes for all Exchange 2007 roles, except the Unified Messaging role. This role is not supported running under Hyper-V due to the real-time speech recognition in the Unified Messaging role.

An Exchange Server 2007 running under Hyper-V can look something like this:

Figure  2. Exchange Server 2007 SP1 runs on its own disks

Before installing Windows Server 2008 as the child partition, a Virtual Hard Disk must be created. This can be fixed size Virtual Hard Disk (.VHD file), remember that dynamic .VHD files are not supported for Exchange Server 2007 SP1. A better solution is to use a dedicated or pass-through disk. This is a dedicated disk that can only be used by the Virtual Machine. Tests have shown that a dedicated disk under Hyper-V has a similar performance characteristic as a native disk in a non-virtualized Exchange Server.

Our server has two physical disks. Disk one is used for the Parent Partition which is of course running Windows Server 2008. The second disk will be dedicated for our Windows Server 2008 Child Partition where we install Exchange Server 2007 SP1.

First bring the 2nd physical disk offline, you can do this in the Disk Management option under Storage in Server Manager. By placing it offline it is not available anymore for other operating systems.

Figure 3. Bring the disk in offline mode in Server Manager

  • Now create a new Virtual Machine:
  • Open the Hyper-V Manager in the Administrative Tools menu;
    • In the tasks pane click New and select “Virtual Machine”. The New Virtual Machine wizard starts and after the welcome screen you have to enter all kinds of information regarding the new Virtual Machine:
    • specify a name and location to store the Virtual Machine;
    • assign it a certain amount of memory, for example 4 GB;
    • bind it to a publically available network;
    • At the “Connect Virtual Hard Disk” windows select the “Attach a virtual hard disk later” option;
    • Specify the ISO that will be used to install Windows Server 2008 x64;
  • After reviewing the summary screen click Finish

Do not start the Virtual Machine at this point.

When finished open the properties of the Virtual Machine and go to the IDE Controller 0. This is the controller where the boot disk should be attached to.  Check the “Physical Hard disk” option and select the physical disk we’ve put offline earlier. Click OK to save the configuration.

Unfortunately it is not possible to add a SCSI controller and the disk to this SCSI controller. The Hyper-V SCSI controller is part of the Integration Components and thus runs against the VMBus structure. A very flexible solution, but only available when the Virtual Machine is up-and-running.

Figure 4. Add the physical drive to the IDE Controller 0

The new Virtual Machine is now ready to be installed, just power it on and install Windows Server 2008.

After installing and configuring the server the server needs to be updated. The RTM version of Windows Server 2008 comes with a beta version of Hyper-V and this needs to be updated as soon as possible. When updating the Virtual Machine make sure that you install Microsoft hotfix kb950500, this hotfix brings the Virtual Machine to the RTM level of Hyper-V and thus includes the latest version of the Integration Components.

Installing the Integration Components in a new Virtual Machine can be challenging. Before the Integration Components are installed there’s no network available, and without a network it’s impossible to copy drivers and updates to the Virtual Machine. It is a good idea to create an ISO image with the most important updates, including the Hyper-V RTM hotfix and install this on the host server. This way you can always mount the ISO images and install the latest Integration Components

After the Installation Components are installed and the server is brought up-to-date we have a fully functional Windows Server 2008 server. Assuming that you already have an Active Directory available on your network you can continue installing Exchange Server 2007 SP1.

Exchange database and Log Files

An Exchange server running on a server virtualization platform doesn’t differ from a bare metal Exchange server and as such you need to place the Exchange database and the log files on separate spindles. This is both from a performance perspective as well as a disaster recovery perspective.

There are three ways to configure the database and the log files:

         Use a fixed Virtual Hard Disk – This is a pre configured .VHD file with a fixed size placed on a separate disk;

         Use a dedicated or pass through disk – this is identical as the disk we just installed Windows Server 2008 on. However, since we already have a running Windows Server 2008 Virtual Machine we can add a SCSI controller to the Virtual Machine and attach the pass through disk to the SCSI Controller. This is the preferred and recommended solution;

         Use iSCSI LUN’s – using the Windows Server built-in iSCSI initiator we can access LUN’s on a storage device and place the database and log files on separate LUNs. Although using iSCSI within the Virtual Machine is a fully supported configuration the performance is less than exposing an iSCSI LUN from the parent partition as a dedicated disk. This is due to the networking overhead within the child partition.

Again, there’s no difference between designing a bare metal Exchange server and a virtual Exchange server. Always design your Exchange server with the best performance in mind!

It is not yet possible to use a fiber channel solution with Virtual Machines natively. The HBA’s (Host Based Adapter) are not yet available for use with the VMBus structure. HBA vendors are working on this however, but it is unknown yet (as of October 2008) when this will be available. It is possible however to use a fiber channel solution on the host system and expose LUN’s on a SAN as disks that can be used using the pass through mechanism.

Backup and Restore

As explained in earlier articles on http://simple-talk.com backup and restore is very important on Exchange servers. Running Exchange servers on Hyper-V make backups look very easy, just create a backup of your Virtual Hard Disk and that’s it. Microsoft Server 2008 even supports VSS (Volume Shadow Copy Service) backups of the Virtual Hard Disk files.

Although this is true you still have to be very careful with backing up your Exchange Server under Hyper-V. Not only do you have to backup your data, also the Exchange server’s database needs to be checked for consistency and the Exchange server’s log files need to be purged.

The Hyper-V VSS writer that’s part of Windows Server 2008 is communicating through the Integration Components with the Exchange writer in the Virtual Machine. Windows Server 2008 Backup (installed as a separate feature) can create VSS backups of the Virtual Machine running Exchange Server 2007 SP1. When checking the Exchange Server after a Hyper-V VSS backup is created the Exchange database header show backup information and also the log files are purged.

Figure  5. Creating a Hyper-V VSS backup does interact with the Exchange server running in the Virtual Machine

Although it is fully-functional, it is not a very user friendly solution. Microsoft is also offering a complete backup solution, Microsoft System Center Data Protection Manager (DPM) 2007. With the upcoming service pack 1 release of DPM Microsoft is going to support VSS backups of Virtual Machines. The expected release of DPM 2007 service pack 1 is in the first quarter of 2009. 3rd party vendors like Symantec offer VSS backups of both Hyper-V as well as VMware Virtual Machines in BackupExec 12.5 which was released early October 2008.

At this moment (November 2008) the recommended way to backing up your virtualized Exchange Server 2007 environment is within the Virtual Machine itself. Install a DPM or other 3rd party backup agent in the Virtual Machine and back it up from there.

Snapshots

A snapshot is a point-in-time copy of your system, in this case the Virtual Machine. After creating a snapshot of our Virtual Machine it is always possible to return to the state of this Virtual Machine at the moment of creation of the snapshot.

The following takes place during a snapshot:

  • A copy of the configuration file is created;
  • The Virtual Machine’s memory is flushed to disk;
  • A differencing disk is created and the original disk is set to read-only;
  • The Virtual Machine resumes operation.

While this is a great technology to return to a known state at a certain point in time it is not supported for running Exchange Server 2007 SP1 in a production environment.

Exchange Server 2003

According to the earlier referenced Microsoft article, the only Exchange version officially supported under Hyper-V is Exchange Server 2007 SP1. If you want to virtualize Exchange Server 2003 the only official supported way to achieve this is to run it on Virtual Server 2005 R2 SP1.

Although not officially supported, Exchange Server 2003 runs great in a Virtual Machine under Hyper-V.

Conclusion

Microsoft now supports running Exchange Server 2007 in server virtualization environments. This is not only Hyper-V, but all vendors that have their solution validated in the Server Virtualization Validation Program (SVVP) are fully supported.

Important to remember is that all design guidelines that are valid for a bare metal Exchange environment need to be used for a virtualized environment as well. Use disks that are capable of handling the expected IO load, it is very likely that dynamic disks will not meet these requirements. Therefore the use of dynamic disks is not officially supported by Microsoft when running Exchange Server 2007 SP1 under Hyper-V.

One should always take the business requirements into account, why do you want to virtualize and what are the project goals against which costs? I have seen customers returning from the virtualization twilight zone being very frustrated and ending up in a bare metal environment. For larger environments I have seen a lot of large implementations where the Exchange Server 2007 Client Access Servers and Hub Transport Servers were running under VMware, but where the mailbox servers were running on bare metal. I have to admit though that these environment were larger than 4000 mailboxes. For these environments virtualizing the mailbox servers is questionable, but this might change in the future and this is something that is hard to foresee.

 



This article has been viewed 1158 times.
Jaap Wesselius

Author profile: Jaap Wesselius

Jaap Wesselius is a senior Exchange consultant for DM Consultants (http://www.dm-consultants.nl/), a Microsoft Gold Partner with a strong focus on messaging and collaboration solutions. Prior to working for DM Consultants Jaap worked for 8 years for Microsoft Services in The Netherlands, specializing in Exchange Server. Jaap is a BSc, MCSE, MCITP, and MCT and was awarded the Microsoft MVP Award (Exchange Server) for his contributions to the Dutch messaging and collaboration community. Besides Exchange Server, Jaap is also very active in virtualization and is a founder of the Dutch Hyper-V community. You can reach Jaap at J.Wesselius@dm-consultants.nl or Jaap@hyper-v.nu

Search for other articles by Jaap Wesselius

Rate this article:   Avg rating: from a total of 6 votes.


Poor

OK

Good

Great

Must read
 
Have Your Say
Do you have an opinion on this article? Then add your comment below:
You must be logged in to post to this forum

Click here to log in.


Subject: What's the case for bare metal?
Posted by: Ronald S Woan (not signed in)
Posted on: Thursday, November 20, 2008 at 12:33 PM
Message: Assuming your storage databases and logs are already on SAN, what is the case for ever going bare metal?

The case for virtualization are snapshots, and better recoverability in case of hardware failure., in addition to server consolidation, and amortization of hot standby resources across more applications.

Case against my include some performance overhead and you have to patch the hypervisor/host.

Other than archiving, the modern quad cores with really cheap memory now are rarely the performance bottleneck. It's all in IO...

Subject: snapshots
Posted by: Jaap Wesselius (not signed in)
Posted on: Monday, November 24, 2008 at 3:51 AM
Message: I agree with you about the snapshots, but as long as Microsoft does not support snapshots in a production environment you do not really have a strong business case I'm afraid....

Subject: What's the case for bare metal?
Posted by: Ronald S Woan (not signed in)
Posted on: Wednesday, December 03, 2008 at 8:06 PM
Message: Exchange 2007 is the poster child for server consolidation because in any High-Availability SAN environment I think it will be very rare that you have high CPU/Memory utilization of any modern server infrastructure.

Thismeans that you can get a clustered Exchange 2007 server using just two virtual machines on each of two physical host servers, instead of four out of the box, The virtualization layer given SAN hosted VMs means in case of hardware failure you can reattach manually in the worst case if you have not implemented clustering or VMMotion on heterogenous hardware.

Cheaper, better, and faster...

Subject: Licensing too
Posted by: Ronald S Woan (not signed in)
Posted on: Wednesday, December 03, 2008 at 8:08 PM
Message: Since you have to go Windows Server Enterprise edition for mailbox role clustering, with the two on two configuration you save at least 2 Windows Standard edition licenses as well since Enterprise allows for four VMs per physical platform license inclusive...

Subject: Licensing too
Posted by: Ronald S Woan (not signed in)
Posted on: Wednesday, December 03, 2008 at 8:08 PM
Message: Since you have to go Windows Server Enterprise edition for mailbox role clustering, with the two on two configuration you save at least 2 Windows Standard edition licenses as well since Enterprise allows for four VMs per physical platform license inclusive...

Subject: Anonymous commenting disabled
Posted by: Chris Massey (view profile)
Posted on: Wednesday, December 17, 2008 at 8:13 AM
Message: Anonymous commenting has had to be disabled due to spam. If you want to leave a comment you're either have to sign in or sign up. Sorry for any inconvenience.  

 

Hunting in Packs, Seamless-ness and Happy Holidays
 I attended DevConnections (Exchange) last month and was blown away by the technical talks. Speakers... Read more...

The Road to Beta - Exchange Server Archiver speaks!
 Richard, Robert and Marine at Red Gate Software talk about designing, developing and testing Exchange... Read more...

Exchange Server Archiver, Las Vegas, Lemons and Whales
 It’s the fall and the leaves are falling all around us. And so are the barriers to Exchange Archiving. Read more...

Reporting on Mobile Device Activity Using Exchange 2007 ActiveSync Logs
 In this new column giving practical advice on all things Sys Admin related, Ben Lye takes on the often... Read more...

Asking for help – come and talk to us!
 “When you buy something from a self-assembly furniture shop, do you read the instructions?” This was... Read more...

Using Exchange 2007 for Resource Booking
 The process of booking various resources to go with a meeting room just got a whole lot easier with... Read more...

Free Exchange Server eBook
 Simple-Talk has teamed up with Sybex to give you a free copy of "Best of Exchange Server 2007" Read more...

High Availability in Exchange 2007
 Neil Hobson writes about the ways that MS Exchange 2007 can ensure that your organisations messaging... Read more...

Message Hygiene in Exchange Server 2007
 Around four out of every five email messages are spam. Now that the nuisance threatens to engulf what... Read more...

Controlling Email Messages using Exchange's Transport Rules
 Some tasks that should have been easy in previous versions of Exchange just weren't. Now, with... Read more...

Over 150,000 Microsoft professionals subscribe to the Simple-Talk technical journal. Join today, it's fast, simple, free and secure.

Join Simple Talk