Wednesday, October 30, 2013

Use ZenLoadBalancer 3.0.3 with Hyper-V 2012/SCVMM 2012 to load-balance Exchange 2010 CAS array

Recently I investigated some options to improve the availability of our Exchange 2010 environment.

High availability should be a goal for any environment, but when you are the sole sysadmin and have to balance a second job role at the same time, it is key to protecting your sanity!

Overview

Here is what is entailed in creating a highly available Exchange 2010 environment. Our goal is to allow for one server to completely fail without disrupting clients or losing any email.
  1. Make sure you are using Server 2008R2 Enterprise or Datacenter, or Server 2012 with Exchange 2010 SP3. Create at least two servers holding the mailbox role. If you desire, these servers can also host the CAS and Hub Transport roles.
  2. Create a Database Availability Group.
  3. Create a CAS array. Choose a DNS name for the CAS array, such as casarray.domain.local.
    1. If you didn't start out using the CAS array (like me), you will need to find a method of updating the profile on each client so they are aware of the CAS array. I created a profile using the Office setup wizard and then pushed it out to clients using GPP.
    2. Assign the CAS array object to each database so that newly created profiles will point to the right place.
    3. Make sure that the appropriate certificates are installed on each CAS server. Here, it is very helpful to use a SAN (subject alternative name) certificate as it is not keyed to a particular IP address.
  4. Set up load balancing for the CAS array.