Wednesday, 3 March 2010

Redundency of Exchange 2010 Client Access Servers

The redundency method used with CAS is Network Load Balancing or NLB. The cluster of up to 32 servers is called a client access array. Broadly speaking the three steps involved in creating an array are:
  1. Install the NLB feature
  2. Create the NLB cluster
  3. Configure the client access array in Exchange 2010 
It should be noted that if a CAS is also hosting a mailbox server role which is in a DAG, the CAS cannot be part of a DAG.

To install the NLB feature on your CAS servers type the following:

[PS] ServerManagerCmd -I NLB

To create the NLB cluster on Server 2008 perform the following steps:
  1. Log in at a CAS
  2. Launch NLB Manager from Administrative Tools
  3. Choose Cluster, New to start a new cluster wizard
  4. On the Connect screen type in the IP address or FQDN of a CAS that will be in your CAS array. Try typing in the name of this CAS server, and click Connect.
  5. You may see two NICs listed. Select the NIC that is used for sending/receiving client access traffic
  6. On the Host Parameter screen, select the priority of the host. 
  7. On the Cluster IP Address screen, click the Add button to add the IP address of the cluster. In the Add IP Address dialog box, type the IP address, mask and click OK.
  8. On the cluster Parameters screen, type the FQDN of the cluster, e.g.
  9. In the cluster operation mode select multicast mode.
  10. On the Port Rules Screen, select the port rule with the start port of 0 and the end port of 65535 and click the edit button
  11. In the Add/Edit Port rule dialog box, change the Port Range From value 1024,and click OK. What does this do? Well, it will modify the load balancing port range to include the dynamic ports that can be assigned by the RPC endpoint mapper. 
  12. Add another rule and set the from and to values to 135 using TCP. This makes sure that the RPC endpoint mapper is load balanced as well.
  13. You will need to add any other ports that are to be load balanced by the CAS array. This of course will mean adding port 80, 443 (and ports for IMAP and POP3 but we will not be testing these services).
  14. Click Finish to create the NLB cluster with the first node added.
  15. Now the cluster has been created you will have to add the other nodes. Right click the cluster and select Add Host to Cluster from the Menu.
  16. Type the FQDN of the CAS server you wish to add
  17. Like before, select the correct NIC
  18. Provide a priority number but you do not need to adjust the port rules.
  19. Finish to close the wizard. 
  20. It may take some time before the CAS NLB cluster fully converges. Don't worry. It will!
Now the NLB cluster has been created, in step three we configure the CAS array. 

The CAS array involves creating a site linked object in Active Directory. This means that all CAS servers in a particular site will be in this array. Mailbox servers will be logically tied to this array by virtue of their 'RpcClientAccessServer' attribute on the mailbox database. Remember this attribute on the database will reference the RpcClientAccess service running on the CAS servers which you just network load balanced. The attribute will point to the cluster which of course consists of at least 2 CAS servers.  

To create the CAS Array object and to assign it to your London site type the following:

[PS] New-ClientAccessArray -FQDN -Site London

Thats it! Pretty simple really. However, we have the DB01 database created before the creation of the CAS array. This database will point to the CAS server before the creation of the NLB cluster. Try the following to determine this:

[PS] Get-MailboxDatabase DB01 | fl Name,RpcClientAccessServer 

This should display exactly which CAS server the database is currently looking at. To change it type the following:

[PS] Set-MailboxDatabase DB01 -RpcClientAccessServer

So, thats how you configure redundency for CAS servers. Build an NLB cluster, build a CAS array object and then assign your database to use this object. Remember that any new databases will be tied to this array automatically.

No comments:

Post a Comment