Building a Redundant Exchange 2010 Infrastructure

If you ask any CIO what they want out of a messaging system, they will say will high availability. As an administrator, it’s your job to architect and recommend a high availability design within the budget. Messaging infrastructure is the core part the business and you cannot afford down time. Since a lot of business systems runs on top of Exchange, you cannot afford down time. Designing a highly redundant Exchange infrastructure is not easy and does require extra resources but Microsoft has simplified this process in Exchange 2010. This article will cover high availability options for Exchange 2010 infrastructure and will cover all the roles. Since each Exchange role is responsible for different task, you will need to design redundancy in all roles for your infrastructure to be truly redundant.

Client Access Role
The main role of CAS Server is to act as proxy between backend Exchange servers and Clients. This is known as the entry point for Client and it’s a highly visible role. There are a few high availability options for this role. Option 1 is NLB, known as Microsoft network load balancing. NLB simply load balance between pool nodes and it doesn’t have application visibility. For example, if you IIS service crash, it won’t failover because the system is still up. Only time when NLB node will failover is when it loses connectivity. NLB is a cost effective solution but as I mentioned it doesn’t detect application layer failures. Option 2 is 3rd party load balancers such as F5 and Kamp. 3rd party LBs are costly but it’s a must have for Enterprise environments. For example, F5 will actually check to make sure your OWA page is working. It makes sure, IMAP is working instead of just checking the port. This deeper layer of health checks allows quick detection and prevent down time. F5 appliances are not easy to configure but as I mentioned must have for enterprises.

Mailbox Server Role
Since all the data lives on the mailbox role, it’s the second most important role within Exchange infrastructure. In the old days for Exchange 2003, you are only allowed one database copy natively. This is very problematic, when you run into database corruptions which occur very often. Exchange 2010 introduces DAGs which allows you to replicate Exchange databases Natively. You can choose to have up to 16 copies of the database as long as you have the disk space. This built-in HA option reduces cost significantly as 3rd party replication software can be costly. For example, SnapManager for Exchange allows for snapshots on the Netapp and you can use snapmirror to replicate the data. For this setup, you need expensive Netapp disk storage. Also, you need to license snapshot and snapmirror license. Then, snapmanager is an extra cost. This can add up to six figures depending on the environment.

Hub Transport Role
This role handles all the message transports within your Exchange environment. Every message MUST go through the Hub server. This design allow you to control and inspect what go throughout the Exchange environment. Hub role has redundancy built in the design and high availability can be achieved by installing multiple hub servers. For imap and pop access you may use NLB or 3rd party load balancers.

Configuring High Availability for CAS

This section will walk you through configuring Exchange 2010 Client Access Server for high availability. Since there are different ways skin the cat, I will be going over the most simple method: using NLB. This involves installing Network Load Balancing server on your Server 2008 server, Installing Exchange 2010 CAS role and configuring the CAS Array. Each server in the NLB pool runs the NLB service and Virtual IP is hardcoded to the CAS array for the site.

Installing and configuring NLB Service

Configuring Exchange Client server role for load balancing

Our next step is to create a CAS array, also known as client access array in Exchange and create a DNS entry for it. This DNS entry will point to the NLB Virtual IP address we configured earlier. Follow below instructions to create the cas array:

 

Configuring High Availability for Mailbox Servers

Previously implementing a highly availabile Mailbox servers is expensive and very challenging. Exchange 2010 makes it simpler but administrator still need to understand the options when it comes to HA solutions. Exchange 2010 DAG is a group of mailbox servers that may host same copies of the database. Dabatases are copied to each DAG by copying transaction logs and replaying them, very similar to Exchange 2007 SCR. One of the DAG members can hold a primary / active database and others may hold passive copies. Remember that mailbox sever that holds the passive database must be in same DAG as the server hosting the primary database. DAG allows

Configure Exchange 2010 DAG, high level over view.

 

Configuring High Availability for Hub Transport role

As mentioned earlier, HA can be achieved for this role by simply installing multiple Exchange 2010 hub servers. When mailbox server sends a message to a hub server, by default, it will choose the hub server in the same AD site. Then depending on its send connectors, it routes the email. So we need make sure there are two or more hub transport server in each AD site.