Configure exchange 2013 CAS High Availability

From exchange 2013 Microsoft drop the cas arrey function as the mailbox client connect through HTTPS only, achieving High Availability with CAS server will be done with some other form of Load balancing like hardware (F5, CAMP, ZAN etc)or software (NLB, DNS etc), in any way CAS Array is no longer exist on exchange 2013 !

Here is how to do it with DNS round robin load balncing method, this will improve client High availability connectivity to seconds and not minute. in this example we have 2 exchange server acting as CAS & MAILBOX: mbx1 and mbx2 .

First get the mailbox server status :

Get-MailboxDatabase -status | select name,mounted,mountedonserver

At the moment each of the servers is configured with their own name as the internal host name for Outlook Anywhere, which is the default.

Get-ClientAccessServer | Get-OutlookAnywhere | select identity,*hostname

We can configure a single and unique namespace for these instead of the unique server FQDN for each. Note that when configuring the InternalHostName you also need to set the InternalClientsRequireSSL option as well. To keep this example simple I am not requiring SSL for internal clients.

Get-OutlookAnywhere | Set-OutlookAnywhere -InternalHostname mail.exchange2013.com -InternalClientsRequireSsl $false

We will need to create two DNS A record for the same FQDN=mail.exchange2013.com with the IP’s of the servers, MBX1 = 192.168.0.1   MBX2 = 192.168.0.2  , To check the DNS configuration :

Resolve-DnsName mail.exchange2013.com

Name                                           Type   TTL   Section    IPAddress
----                                           ----   ---   -------    ---------
mail.exchange2013.com                      A      3600  Answer     192.168.0.1
mail.exchange2013.com                      A      3600  Answer     192.168.0.2

The change made with Set-OutlookAnywhere is not instantaneous. It takes about 15 minutes for the Client Access server to update with the new configuration. You’ll be able to tell it has taken effect when an Outlook autoconfiguration test returns the new value for Exchange HTTP

Now you can play around with the servers shuting down one and check how clients connect to it:

netstat -ano | findstr ":80"
  TCP    192.168.0.181:51010    192.168.0.1:80       ESTABLISHED     2272
  TCP    192.168.0.181:51011    192.168.0.1:80       ESTABLISHED     2272
  TCP    192.168.0.181:51012    192.168.0.1:80       ESTABLISHED     2272
  TCP    192.168.0.181:51013    192.168.0.1:80       ESTABLISHED     2272

 

After shutting this server down 192.168.0.1 = MBX1 the out come should be :

netstat -ano | findstr ":80"
  TCP    192.168.0.181:51010    192.168.0.2:80       ESTABLISHED     2272
  TCP    192.168.0.181:51011    192.168.0.2:80       ESTABLISHED     2272
  TCP    192.168.0.181:51012    192.168.0.2:80       ESTABLISHED     2272
  TCP    192.168.0.181:51013    192.168.0.2:80       ESTABLISHED     2272

 

Leave a Reply

Your email address will not be published. Required fields are marked *