The advantages of running Exchange 2007 in a virtualized environment are significant. Since many businesses are under pressure to cut costs associated with server hardware procurement, management, and maintenance, using virtualization allows IT departments to do more with less.
Virtualization also frees organizations from the limits imposed by available datacenter space and power resources. Exchange 2007 requires a minimum of four physical servers to operate in a highly available configuration. And it can require 10 or more physical servers to separate the five server roles onto different physical machines.
When you add Exchange’s dependency on domain controllers (DCs) into the mix, creating an environment resilient to server hardware, software, and component failure can require a significant amount of space and effort. As a result, companies are using virtualization to reduce the physical hardware configuration of an Exchange deployment.
Additionally, Exchange 2007 is more, not less, complicated than previous versions of Exchange. It requires more configuration, which increases deployment and pilot times. Therefore, starting the deployment within a virtual test-bed environment before heading to production is a great way to reduce risks.
Virtual test-bed environments let you set up an Exchange infrastructure that’s completely separate from your production environment, deploy various Exchange server roles in different configurations, and test mail flow and device access before you deploy into production. One of the most common mistakes in Exchange deployments is underestimating the number of different ways to configure Exchange, its impact on the AD infrastructure, and the complexity of the server roles. A virtual environment lets you practice and test your eventual architecture before deploying into a production environment—ultimately decreasing both deployment and piloting costs.
Five Roles Mean More Complexity
The real complexity of Exchange comes into play when you try to deploy it in a highly available fashion. Exchange 2007 ships with five server roles: mailbox, client access, hub transport, unified messaging, and edge services. The minimum highly available Exchange 2007 configuration requires the first three roles, which are the primary roles—thus a minimum of four dedicated physical servers.
The highly available configuration for the Exchange 2007 mailbox server role is stateful, requiring a minimum of two dedicated servers, with each server being able to fail to the other via Microsoft Clustering Services. The client access and hub transport roles can be installed together on a single physical server, but without virtualization they can’t be installed on an OS that has one of the clustered mailbox server roles. These two roles can be configured in a stateless high availability configuration and load balanced through either Windows Network Load Balancing or alternately through a physical load-balancing device.
In a physical server configuration, therefore, you would need one pair of servers supporting the combined hub transport and client access server roles, and one pair supporting two mailbox server roles. But if you virtualized the servers, you could reduce the number of physical servers from four to just two.
Proper planning and sizing is key to successful virtualization of your Exchange environment. Let’s take a look at what you need to consider.
Memory Requirements
Sizing processors, memory, and storage requirements for virtualizing Exchange 2007 is straightforward. Both Microsoft’s Hyper-V and VMware’s virtualization technologies consume 10 to 15 percent of the physical resources of the host machine. This percentage will decrease as virtualization technology gets further embedded into chipsets within the next 12 to 18 months and as servers continue to get faster. For the time being, however, 10 to 15 percent is a good rule of thumb.
If you follow Microsoft’s guidance on memory requirements for Exchange, the mailbox server role is the key consideration. Microsoft recommends you reserve 2GB of RAM for Exchange and 5MB to 10MB per user for an average mailbox user. I think 5MB is appropriate for servers that manage over 500 active mailboxes.
For a 1000-mailbox deployment, a physical configuration for each of the mailbox servers should safely be around 7GB. The hub transport/client access servers aren’t too memory intensive, so in a physical configuration, 4GB of RAM is typically sufficient.
Adding 7GB for the mailbox server plus 4GB for the hub transport/client access servers with 10 to 15 percent buffer equals approximately 12GB to 14GB of RAM for the virtual servers. In reality, for the average server managing 1,000 employees or more, the lower end of this range is sufficient as it’s unlikely that all 1,000 employees would be connected to the server concurrently.
Exchange 2007 is still not processor intensive unless you’re using full-text indexing and journaling. Even so, Exchange 2007 servers that are using full-text indexing as well as journaling typically stay under 40 percent of the processor utilization of a standard dual quad-processor server. So combining the roles doesn’t typically get close to the maximum thresholds unless there is a significant amount of concurrency as well as a significant amount of ongoing email storage activity.
Storage Considerations
Storage requirements for Exchange 2007 in virtual environments are comparable to those in physical environments. SAN storage is still preferable to DAS storage in larger implementations of Exchange, for a variety of reasons that are best left for another article.
A minimum of five disks should be allocated for the storage of mailboxes for a typical 1,000 mailbox account. A general rule of thumb when using 10K SAS drives is that each drive in a RAID-5 configuration should support 100 I/O operations per second (IOPS). In this minimum five-drive configuration, the storage solution would support 500 IOPS.
To correctly size Exchange, it’s important to understand how many IOPS each mailbox requires. There is a significant amount of debate regarding how many IOPS an individual user of a mailbox consumes. Other factors such as archiving and BlackBerry usage can increase the load on a server, as does the number of concurrent users. For Exchange 2007, the overall potential IOPS numbers can range between 0.3 IOPS per mailbox and 3 IOPS per mailbox for concurrent users, with heavy mobile usage being the biggest driving factor for increasing the I/O demand.