I have one domain and two sites. What is the best way to load balance my Exchange 2010 client access servers without using third-party tools?
Unfortunately, the truth is that you can't. Without third-party tools, there is no way to direct the email traffic based on load, round robin or failover. Third-party load balancers also offer a number of benefits, such as additional security, monitoring and offloading SSL processing.
That said, if your budget or infrastructure can't stretch to accommodate a third-party tool, there are settings included in Exchange 2010 that will give you some load-balancing features.
The benefit of your setup (two Internet-facing sites) is that you can assign Site A as the main site and Site B as the backup site, then set your MX records accordingly.
Note: If you employ a hosting company that provides a backup MX record or a hosted antispam provider that provides business continuity features, direct your third MX record there.
If you have a single client access server (CAS) at each site, it's still worth setting up each server within its own CAS array at the start.
There are two good reasons to do this:
- It allows you to add or remove Exchange CAS servers without affecting user connectivity.
- You can keep outgoing email flowing with just a little intervention.
How to enable a CAS array
To begin, create a DNS record for your new CAS arrays. Make sure each has a time to live (TTL) span of five minutes. You can set TTL settings by enabling the Advanced view within the DNS management console. Consider the following code:
New-ClientAccessArray –FQDN "headoffice.example.com" –site "head-office"
New-ClientAccessArray –FQDN "remoteoffice.example.com" –site "remote-site"
Assign the new client access arrays as the new RPC client access servers for the relevant mailbox databases:
Get-MailboxDatabase | Set-MailboxDatabase –RPCClientAccessServer "headoffice.example.com"
You can use the -identity switch to specify which mailbox databases you'd like to apply this to.
With the above code in place, some manual configuration will be necessary to change the users' Outlook connection to the new CAS array. This will happen automatically if you're moving the mailboxes to an Exchange 2010 server running Service Pack 2 rollup 3 or higher.
In the event that the Site A CAS fails, you can edit the CAS array record to point to the IP address of the CAS array in Site B. Once the DNS record has refreshed Site A, clients will be able to send/receive from the alternate site.
In order for the external user to be directed to the site where their mailbox is located, consider using the CrossSiteRedirect Exchange Management Shell command. With this enabled, users that log into OWA will enter their credentials as normal, but will then be redirected to the alternate site where their mailbox is actually located.
About the author
Dave Leaver has worked in the IT industry for the last ten years as an IT support engineer. He currently works for an IT support company in Cheltenham, UK, supporting more than one thousand users and spanning more than 40 companies. Leaver specializes in Microsoft system migrations and Exchange Server. Leaver has also been a network administrator for the National Health Service and several large construction companies throughout the UK.
Dig Deeper on Exchange Server setup and troubleshooting
Related Q&A from Dave Leaver
The process used to move an Exchange 2013 database isn't immediately obvious if you're not familiar with the new platform. Here's how. Continue Reading
A frustrated admin wants to know how to remount his Exchange 2010 database after discovering event ID 5003. One of our experts offers proper guidance. Continue Reading
For some reason, an admin's Exchange Global Address List updates are not updating to sites. Our expert has several suggestions to fix the issue. Continue Reading