Recently I have been asked how a file server / file share cluster can be utilized to host the file share witness directory for an Exchange 2010 Database Availability Group.  I think it is important to note that this is not a recommended deployment. 

With Exchange 2010 changing the witness directory is as simple as recognizing that the server hosting the witness is unavailable for an extended period of time and running the set-databaseavailabilitygroup command with the –witnessServer and specifying a remaining Exchange server <or> another server where the Exchange Trusted Subsystem group has been granted local administrator rights.

Due to the permissions model necessary for Exchange 2010 these a Windows 2003 File Share cluster should not be utilized for these functions.  Utilizing a Windows 2003 File Share cluster causes incompatibilities with the set-databaseavailabilitygroup commandlet.

Node Configuration

Using server manager the Exchange Trusted Subsystem was added to the Local Administrator group of each node in the cluster.

Cluster Configuration

The cluster services were established utilizing the appropriate cluster quorum model and the desired number of nodes.

An empty service and application was created.  Inside the empty service and application a client access point was created.  An appropriate name and IP address were specified.  (For this example the name is FileServer1).

image

The shared storage that will host the file share witness was already available in the Available Storage group.  The desired disks were added to the service or application group.

image

At this time it’s important to note the drive letter associated with the disk where you want the witness directory hosted.  (For this example the drive letter is E).

DAG Configuration

In our example the name of our dag is DAG.  The domain where the DAG is created is exchange.msft.

By default when only a witness server is specified the default DAG directory is c:\DAGFileShareWitness\DAG-FQDN.  (In our example c:\DAGFileShareWitness\DAG.exchange.msft.)

This is where the configuration issue arises.  The C drive is not valid in the service or application that we created in cluster.  Only the E drive is a valid drive.  Therefore, we will have to utilize the E drive in the witness path.  This will require us to set both the WitnessServer and WitnessDirectory attribute.

To configure the DAG to utilize the FileServer1 name and a directory on the E drive which is valid in the group, run the following command:

set-databaseavailabilitygroup –identity DAG –witnessServer FileServer1 –witnessDirectory e:\DAGFileShareWitness\DAG.exchange.msft

At this time when you review the service or application holding the name and disk resource, you will see an additional file server resource created.  The share is now available on the file server cluster.

image