Community Pick: Many members of our community have endorsed this article.
Editor's Choice: This article has been selected by our editors as an exceptional contribution.

High Availability Exchange 2010

Glen Knight
We now rely on email as a major communications tool for business, what would happen if it failed? Just think for a second how much you use email and what it would be like to lose it, even for a few hours or a day. Ideally it is there and always working and always available. That is what high availability gives you.

With Exchange 2010, high availability is much easier to achieve.  The database stores have been moved to Organisational objects rather than server objects as they were in previous versions of Exchange.  When we configure high availability in Exchange 2010 each Exchange Server hosts a copy of the mailbox database.  This allows the Database Availability Group to re-mount the store on another server should the primary host fail.

The Database Availability Group (DAG) was introduced as a part of Exchange 2010.  As an Exchange Administrator you do not need to configure clustering prior to creation of the DAG. The only requirement is that you have installed Exchange 2010 on an Enterprise or Datacenter version of Windows 2008.

Technet tells us that when a Mailbox server is added to a DAG, it works with the other servers in the DAG to provide automatic, database-level recovery from database, server, and network failures

To configure DAG in Exchange 2010 you need to have between 2 and 16 Exchange Servers running the Mailbox role.

You will need to perform the following steps:

Create a Database Availability Group
Add Member to Database Availability Group
Add Database Copies

Creating the Database Availability Group

To create the DAG using the Exchange Management Console, navigate to Organisation Configuration > Mailbox Configuration > Database Availability Groups.  Select New Database Availability Group from the Action Pane.

The New Database Availability Group Wizard will appear as below.
On this screen we need to provide a name for the Database Availability Group.  Then either specify a Witness Server and Directory or leave unchecked.  If you leave this unchecked then the wizard will search for an Exchange Server that has the Hub Transport (HT) role installed and does not have the Mailbox (MB) role.

The Witness Server and Witness Directory don’t need to be installed on an Exchange server and you can specify the server by checking the box and entering the Fully Qualified Domain Name of the server and the path of the folder that will be shared.

The witness server and its directory are used only for quorum purposes where there's an even number of Mailbox Servers in the Database Availability Group.  However you will need to specify one during the creation of a Database Availability Group even if there is not an even number of mailbox servers.

If you do choose to not use an Exchange Server then you will need to ensure that the security group called Exchange Trusted Subsystem is added to the local Administrators group on the server you will be using.

Click New and then Finish

Once you have completed the wizard your Database Availability Group will have been created.  If you are not using DHCP on your network or would just prefer to assign a static address to your DAG then you will need to run the following command in the Exchange Management Shell:
Set-DatabaseAvailabilityGroup –Identity GKVirtualDAG-01 –DatabaseAvailabilityGroupIPAddresses

Open in new window

The part after the –Identity tag is the name you gave your Database Availability Group in the wizard and the IP address needs to be specific to your network.

You can also create the Database Availability Group using the Exchange Management Shell if you prefer to work that way.  The commands to achieve this are:

Without specifying a Witness Server and Path:
This will perform the same steps as not checking the boxes on the wizard screen.  It will search for a Hub Transport server that doesn't have the mailbox role on it and use this as the witness server.
New-DatabaseAvailabilityGroup –Name GKVirtualDAG-01

Open in new window

Specifying the Witness Server and Path:
This will perform the same steps as checking both boxes on the wizard screen.
New-DatabaseAvailabilityGroup –Name GKVirtualDAG01 –WitnessServer GKVIRTUALHUB01 -WitnessDirectory C:\WitnessDirectory01

Open in new window

Specifying the Witness Server and Path along with DAG IP Address:
New-DatabaseAvailabilityGroup -Name GKVirtualDAG01 -WitnessServer GKVIRTUALHUB01 -WitnessDirectory C:\WitnessDirectory01 -DatabaseAvailabilityGroupIPAddresses

Open in new window

Add Members to Database Availability Group

To add the mailbox servers you want to be part of the Database Availability Group right click the group you have just created in the Exchange Management Console and select Manage Database Availability Group Membership.  The wizard will then pop up, click Add and select the Mailbox servers you want to add.  

NOTE: If the server does not have the mailbox role installed the wizard will not display it.
Once you have added the required servers click the Manage button.  Please note this may take a while depending on how many servers you add to the group as Failover Clustering will be installed on each node

You can also add servers to the Database Availability Group using the Exchange Management Shell.  To add the 2 servers I have used the wizard for to a DAG with the name of GKVirtualDAG-01 you would use the following commands:

Add-DatabaseAvailabilityGroupServer -Identity GKVirtualDAG-01 -MailboxServer WIN-FMAU7AR87UO
Add-DatabaseAvailabilityGroupServer -Identity GKVirtualDAG-01 -MailboxServer WIN-E7UFJTH34AV

Open in new window

Add Database Copies

Now that we have created the Database Availability Group and added the Mailbox Servers as members of it we need to specify which servers will have copies of the database.  To do this in the Exchange Management Console navigate to Organisation Configuration > Mailbox > Database Management.

Right click on each of the Databases you want to be part of the high availability and select Add Mailbox Database Copy.  Once you do this you will be presented with the following wizard.
On the wizard screen select Browse and choose the server you would like to replicate a copy of the mailbox database to.  Once you have added all the required servers click the Add button.

When the wizard has completed you can confirm the database is being replicated by checking the details of the database as illustrated in the image below.

Further Reading
High Availability Exchange Management Shell Commands:
Managing Database Availability Groups:
Glen Knight

Comments (0)

Have a question about something in this article? You can receive help directly from the article author. Sign up for a free trial to get started.

Get access with a 7-day free trial.
You Belong in the World's Smartest IT Community