The CAS Array
One of my customers purchased a Load balancer and was in the process of adding a second Exchange server to their environment when I got a call when things were not working out as they had planned/expected. They setup the DAG and a new Hardware load balancer and moved the database back and forth and everything seemed to be ok. But, when they shut down the first server, all of the clients disconnected and would not connect to the database even thought it was mounted and healthy. As soon as the first node was brought back online all the clients would reconnect. Before I could speak, they informed me that they created a CAS array and changed the RPCClientAccessServer value on each of the databases to the newly created CAS Array and pointed the CAS array IP address to the Network Load Balancer. At this point I had to break the bad news to them.
When a single Exchange 2010 Server is installed the default database and any other databases created on that server will use the local CAS server name as the RPCClientAccessServer value. This value tells Exchange what client access server to use to gain access to the database. Once users are added to the system and outlook is configured they will continue to use this value even if you change it to a new server or a CAS Array Name. This happens because the clients can still talk to the databases using the old value and the clients says “why update I am working”. To fix this issue you can do one of three different things:
1. Run a repair in the outlook profile.
2. Create a new Outlook profile.
3. Make the old value unresolvable in DNS.
Option 1 or 2 although time consuming will probably be your best bet. Making the old value in DNS unresolvable would probably cause a lot of issue and or break your current Exchange setup.
To avoid this scenario, always create a CAS Array as soon as you are done installing Exchange 2010, even if you are only going to have a single server in the site. Adding a new server into the same site will not required changes to the outlook client and make your projects go smoother. Below are a few PowerShell commands to help you determine and set the RPCClientAccessServer value
Get-MailboxDatabase |FT Name,RPCclientAccessServer
Set-MailboxDatabase –id DB1 –RPCclientAccessServer MyCasArray.company.com
Like the CAS Array, a little bit of prior planning can save you a lot of work in the future. When installing Exchange 2010 it is my recommendation to always use the Enterprise edition of the OS, even if you are only deploying a single server in the site. An Exchange Database Availability Group(DAG) member requires components only available in the Enterprise and Datacenter editions of the OS. Adding or removing a servers in a DAG is relatively simple and can be done without user interruption however, once the OS and Exchange are installed you can’t change from standard to Enterprise. Now, I have heard of people using a hack to change from standard to enterprise but, this is not supported by the Exchange product team and could cause major issues with your Exchange Server. In summary, always using a CAS Array and installing Exchange 2010 on the Enterprise Edition of Windows Server can save lots of time and money.
Have any questions for Comments don’t hesitate to ask