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
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:
And select create a new database abailability group. A dialog will appear asking for the following parameters:
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
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.
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.
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.
After creating the DAG, this is how the Database Management sheet looks like:
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:
Now you are done with DAG and can start playing around with copy activation. Let's check what Exchange 2010 in future releases!!