How to setup an Exchange 2010 CAS Array to load balance MAPI
Since Exchange 2010 CAS servers now handle all internal and external client traffic to Exchange mailbox servers including Outlook MAPI traffic, the need for a highly available CAS array is critical to your design.
So how do you load balance MAPI traffic? I found a some useful bits of information to help out:
- Load balance your CAS servers in a CAS array by whatever method you choose – Both Hardware LB or Windows Network LB are supported load balancers
- Create a MAPI A record in your internal DNS infrastructure that resolves to the Virtual IP Address (VIP) of the CAS load balancing array. The DNS entry, for example, could be outlook.school.edu
- Configure your load balancing array to load balance the MAPI RPC ports:
- TCP 135
- UDP/TCP 6005-65535; or set static ports
- Use the new-clientaccessarray cmdlet to create the CAS array object. Such as:
New-ClientAccessArray –Name “School CAS Array” –Fqdn “outlook.school.edu” –Site “Boulder”
More here.
5. You need to revisit any Exchange databases that were created before the CAS array was created and set the rpcclientaccessserver property to match the newly created CAS array. Such as:
Set-MailboxDatabase DB1 -RpcClientAccessServer “outlook.school.edu”
For more on Exchange Server 2010 CAS visit here.
Comments
Anonymous
January 01, 2003
Exchange14, The new-casarray site parameter is based on Active Directory site. Therefore, if you wanted everything in a single CAS array you would need an AD site that spanned two locations or you would need a unique CAS array residing in each site. It is currently recommended to maintain two separate AD sites. When a failover to the alternate datacenter occurs, the database would need to be associated with the CAS array associated with the alternate AD site. For load balancers, you can leverage Microsoft's software based NLB (Part of Windows Server) or you could leverage any hardware based load balancer. Some HW load balancers provide geo-failover capabilities which will provide an easier failover to an alternate CAS array.Anonymous
January 01, 2003
Appologies to Henrick for using his own CAS diagram. I was unaware this was not from MS. I changed the diagram.Anonymous
January 01, 2003
The comment has been removedAnonymous
January 01, 2003
The comment has been removedAnonymous
January 01, 2003
Mr. H, I wouldn't recommend using the same IP for CAS Array and DAG. Two different failover and availability solutions.Anonymous
January 01, 2003
The comment has been removedAnonymous
January 01, 2003
good catch! thanks I will correct.Anonymous
January 01, 2003
@ Raxit - The CAS Array is indeed an AD object however you still need to load balance your pool of CAS servers with the steps in posted in the blog post.Anonymous
January 01, 2003
Dirk, It depends on how your AD sites are configured. Do you have one AD site per location? The mapping is one CAS array mapped to one AD site.Anonymous
January 01, 2003
The comment has been removedAnonymous
January 01, 2003
Mego, You want a unique FQDN for your CAS Array since it is used for load balancing all CAS traffic amongst your CAS servers. You can use whatever name you want of course for your CAS array. It certainly could replace your OWA FQDN with mail.x.edu and then specific subdirs such as /owa routes to OWA and MAPI RPC routes Outlook traffic, etc.Anonymous
December 11, 2009
The cmdlet mentioned for creating CAS array is incorrect; the correct command should be: New-ClientAccessArray –Name “School CAS Array” –Fqdn “outlook.school.edu” –Site “Boulder”Anonymous
December 19, 2009
Thank you for this post. What would be CASArray configuration if we use Recovery center in different site, which is same time might server few clients (let's assume it is 3rd DAG). Example: Main site can be: New-ClientAccessArray –Name "OurorgArray” –Fqdn “outlook.ourorg.org” –Site “MainSite” In Recovery center will it be same, or something like: New-ClientAccessArray –Name "OurorgArray” –Fqdn “outlook.ourorg.org” –Site “RecoverySite” Any recommendation for a simple hardware load balancer, with main role to play as a FailOver, or whatever solution that can play that role. Thank youAnonymous
December 25, 2009
I did not get the command to work as you have it: Set-MailboxDatabase DB1 -RpcClientAccessServer “outlook.school.edu” I had to use a format as Set-MailboxDatabase DB1 -RpcClientAccessServer “School Cas Array”Anonymous
January 04, 2010
Hi everyone, I have a problem,I have two CAS server and two Mailbox exchange,I have configured CAS-NLB but i haven't connectted to database,When I used that command "Set-MailboxDatabase DB1 -RpcClientAccessServer “outlook.school.edu” I got the following warning " WARNING: The command completed successfully but no settings of 'Mailbox Database 0774792730' have been modified." i didn't configure DAG on mailbox exchange, is this important? or what is the problem?Anonymous
April 01, 2010
hi everyone, i have a question about configuring cas arrays. We have one domain with 2 Sites. On each site is one Mailbox Server and one Cas server. DAG is running between the 2 mailbox server. When on site A the database makes a failover to Site B, the internal clients (Site A) can still connect to the database located on site B. But the external access (webmail) don't work. So i want to make an cas array and here is my question. Do i need on each site 2 cas servers (one from site a and one from site b) or can i configure the cas array with only 2 cas server ( one site A and one Site B) ? thx for your help :)Anonymous
April 06, 2010
yes we have one Ad site per location with different ip's. (for example: AD Site A 192.168.x.x and AD Site B 172.25.x.x) thx a lotAnonymous
April 21, 2010
When configuring the windows LB we need to define the "Full Internet name" of the NLB. can this be the same as the CAS array ?Anonymous
July 18, 2010
Can we use mail.contoso.com as CAS Array FQDN same as OWA FQDN? Is there any reason to have different name like Outlook.Contoso.com ?Anonymous
November 15, 2010
Do you know if it is supported to use the DAG IP address for the CAA? In a 2 node DAG, seems a sensible way to achieve automatic failover?Anonymous
January 06, 2011
If we have CAS Servers on different data centers across sites and we will be planning to use a 3rd party NLB. Do we still need to create the CAS Array using the command New-ClientAccessArray?Anonymous
January 06, 2011
markga Sorry I might need to rephrase my question. I will give you my setup PRODUCTION SITE PRODUCTIONDC - This is a Production DC PRODUCTIONEXC - This is a Production Exchange Server running all roles. HT/CAS/MB CAS Configuration for PRODUCTIONEXC External URL: http://webmail.domain.com Internal URL: http://PRODUCTIONEXC DR SITE DRDC - This is a DR DC DREXC - This is a DR Exchange Server running all roles. HT/CAS/MB CAS Configuration for DREXC External URL: http://webmail.domain.com Internal URL: http://DREXC Both have DAG configured, because if I stop the Information Store on PRODUCTIONEXC, the database will failover to DREXC and this is working correctly. I am using a 3rd party virtual appliance NLB. I have configured both PRODEXC and DREXC as part of the pool. Do I still need to configure the CAS Array if I have created a pool in my NLB? Currently all my Outlook users are connecting to PRODUCTIONEXC. My question is when PRODUCTIONEXC is down, how do I load balance the CAS Array across sites based on my setup? Do I still need to reconfigure the Outlook (as it is currently pointing to PRODUCTIONEXC) for it to get it working?Anonymous
January 12, 2011
The comment has been removedAnonymous
March 21, 2011
Do we need to perform Set-MailboxDatabase for Exchange 2003 databases if we wish to use ClientAccessArray for Exchange 2003 databases? ThanksAnonymous
May 17, 2011
The comment has been removedAnonymous
June 19, 2011
Hi, i have two servers each one have all the rules hub mb cas ... is it recommended to run cas array and DAG between them ? i saw microsoft article not recommend these kind of setup due to the HW conflict between failover and nlb what is ur opinion ?Anonymous
January 31, 2013
HI Markga, This is ggood article but i am confused with CAS array and its load balancing stuff. You have mentioned that "Load balance your CAS servers in a CAS array" now this statement is opposite to the one mentioned in to below technet blogs.technet.com/.../demystifying-the-cas-array-object-part-1.aspx in this post, brian has mentioned that CASarray doesn't load balance your traffic. CASArray is an Active Directory object used to automate some functions within Exchange and that's all. it never load balance OWA,OA,MAPI,OAB,andd other web seervices. Could you please let me know whether Cas array load balance traffic or notAnonymous
July 04, 2013
Nice job. Mark, best regards. I met you in SFC, IPTV team.Anonymous
August 26, 2013
Can I use the WLB with a Non-DAG Exchange 2010 setup as I understand WLB is not supported in a DAG configuration. Thanks JohnAnonymous
January 15, 2014
John - NLB is not supported when you use multi-role servers with DAG. You can set up seperate Mailbox servers with a DAG and then use NLB with stand-alone CAS servers... if this helps... ;o)