I will start my blog with a new feature in Exchange 2010. Its name is Database Abailability Group (DAG in the future) and its called to substitute Exchange 2007 's CCR and SCR. While still using the same technology to replicate and replay database logs among servers, this new technology allows to provide database high availability to database level. It's important to say that in Exchange 2010 the concept of Storage Group disappears: Exchange just manages plain databases.

 

Once you create a DAG and add mailbox servers, you can configure each single database to replicate to the desired servers inside the DAG. If the server in which a database is mounted fails or an administrator swith it over to another server in the DAG, then another server in the DAG will activate and mount the database, depending on the database configuration.

 

In order to provide this features, Exchange 2010 relays in a new component called Active Manager. This component abstracts the availability feature from Windows Failover Cluster. Although Active Manager depends on Failover Cluster service for some networking features, it does not in the storage management features. This independency from Failover Cluster storage architecture allows to simplify Exchange servers' storage system. In order to configure DAG, Failover Cluster feature must be installed on every DAG node, and a File Share Witness external to any node in the cluster will have to be provided.

 

I will now show how to configure a DAG in a test environment using Exchange 2010 Beta 1. Plaese take into account that this is a beta release and change may be made upon RTM release.

 

In my test scenario I will setup three virtual servers

  •  one of them holding the mailbox, hub and cas roles. It will act as domain controller, and will hold the file share witness for the DAG cluster. The server hosting the FSW cannot be part of the cluster.
  •  two other servers with Failover clustering feature installed and Exchange 2010 mailbox role. This two servers will act as DAG members.

 

After Failover clustering feature is installed in a mailbox role server, the Cluster service will be disabled until the server belongs to a DAG. Don be betrayed if you find it disabled…

 

Both servers belonging to DAG need twoNICs, one of them will be dedicated for replication . Once you enable a DAG network for replication, any node in the DAG cluster won't listen for MAPI connections on that NIC anymore.

 

First, you need to open EMC in the Database Abailability Group sheet in Organization configuration:

 

Image1 

 

And select create a new database abailability group. A dialog will appear asking for the following parameters:

  • DAG Name
  • File Share Witness for the cluster quorum. Note that it must reside in a server not belonging to the DAG cluster.
  • Path for the FSW in the server in which it will be hosted.
  • Conditions for network encryption
  • Conditions for Network compression

Image2

Now you will add the first server to the DAG cluster using the Add-databaseavailabilitygroupserver cmdlet. You can use the EMC if you prefer

 

 

 Add-databaseavailabilitygroupserver -identity DAG01 - mailboxserver msx010-b

Image3

You must now configure DAG networks. Using the EMC, you can create the DAG netowrks specifying the IP subnet. You must at least create two networks: one of them will be used for replication and the other one for client connectivity.

 

Image4

 

 

Image5 

 

 

 Now you can take a look at the Failover Cluster Management console in the node you just have added to the DAG cluster. As you will see, theres nothing more than a new cluster. The quorum is configured for Node Majority and there are two Netwoks configured. No storage or ervices are needed.

 

Image6 

 

 

At this point, the quorum will be configured for node majority and file share witnees won't be created until an even number of nodes belog to the cluster. The cluster name IP address will be configured as DHCP if none is configured. To change this setting you can use the cmdlet add-databaseavailabilitygroup with the parameter -DatabaseAvailabilityGroupIpAddressess to change it. You can use this cmdlet to add any of the nodes to the cluster.

 

To add the second node to the DAG, you need to open a remote powershell command prompt and use the add-databaseavailabilitygroupserver cmdlet:

 

Add-databaseavailabilitygroupserver -identity DAG01 - mailboxserver e2010hub

 

 

If you don't, you will probably find yourself looking at a log file in C:\windows\temp, named dagtask_date_add-databaseavailabilitygroupserver.log containing the following exception:

 

[2009-06-11T16:10:29] GetRemoteCluster() for the mailbox server failed possibly with error 175248535, ex = Microsoft.Exchange.Cluster.Replay.ClusCommonNonRetryableTransientException: Cluster common transient exception: Unable to communicate with the Cluster service or the RPC service. Error: There are no more endpoints available from the endpoint mapper. (Exception from HRESULT: 0x800706D9)…

 

Once you add the second node to the DAG cluster, the file share witness will be created on the specified netowrk resource and path.

 

Image7 

 

 

After creating the DAG, this is how the Database Management sheet looks like:

 

Image8 

 

 

To add a copy for a database, use the add-mailboxdatabasecopy cmdlet:

 

Add-mailboxdatabasecopy -identity Mailbox Database 0877669548 -server msx010-b

 

On the EMC you can now see the available copies for a database:

 

Image9 

 

Now you are done with DAG and can start playing around with copy activation. Let's check what Exchange 2010 in future releases!!