In part I of this tutorial I have introduced a bit of theory behind the new Exchange 2013 feature of AutoReseed, today we will apply this theory in the LAB and see how it behaves.
For this lab I will be using
- 2 nodes Exchange 2013 DAG (hosting all roles) running on Windows 2012 datacenter edition. On a side note, even though I am running this LAB on Windows datacenter this is no longer a requirement and a DAG can now run on Windows 2012 standard edition.
- 2 mailbox databases on the same volume with names DB1 and DB2
- One spare disk
- AutoDagVolumesRootFolderPath will be set C:\ExchVol
- AutoDagDatabasesRootFolderPath will be set C:\ExchDBs
- AutoDagDatabaseCopiesPerVolume will be set to 2
Directory Structure Creation
We start by creating, on both mailbox servers, the required folder structure as shown below.
Creating the mount points
After creating the required folders, it is time to create the required mount points as explained earlier.
Open Computer Management -> Disk Management -> Right click on the required disk and click on “Change Drive Letter or Path” -> Click on ADD and select the required folder previously created.
As you can notice from the below screenshots, the disk called “Exchange DB” as 3 mount points. One to the Volume directory C:\ExchVol as Volume 1 and 2 mount points pointing to the Databases Directory C:\ExchDBs as DB1 and DB2.
Even though both C:\ExchDBs\DB1 and C:\ExchDBs\DB2 will end in the same place it is important that the system can find each path based on the corresponding database name as explained in part 1 of this tutorial.
The disk called Exchange Spare however has one single mount point to the Volume directory C:\ExchVol as Volume 2 and none to the Databases Directory C:\ExchDBs since it is a spare disk.
Taking a look again at the directory previously created we can notice the icon change and the size now reflecting the actual disk size
These steps should be performed on every node of the DAG making sure that the the naming is the same on each node.
We need now to apply this configuration to our DAG using the Set-DatabaseAvailabilityGroup cmdlet
In our setup the full command is
Set-DatabaseAvailabilityGroup l2013-DAG-01 -AutoDagDatabasesRootFolderPath C:\ExchDBs -AutoDagVolumesRootFolderPath C:\ExchVol -AutoDagDatabaseCopiesPerVolume 2
We can now verify our configuration by running Get-DatabaseAvailabilityGroup
As you can notice there are a couple of more parameters that look like AutoReseed parameters but these are not yet in use in Exchange 2013 RTM, I guess they are for future features in an upcoming Cumulative Update or so.
We now need to move the databases to their locations, depending on your configuration you might need to create new databases or move existing ones. In my case the databases are already created so I will just move them to their location using the Move-DatabasePath
The full commands are
Move-DatabasePath DB1 -EdbFilePath C:\ExchDBs\DB1\DB1.db\DB1.edb -LogFolderPath C:\ExchDBs\DB1\DB1.log
Move-DatabasePath DB2 -EdbFilePath C:\ExchDBs\DB2\DB2.db\DB2.edb -LogFolderPath C:\ExchDBs\DB2\DB2.log
Taking a look now at the directories we can notice, as I said above, that C:\ExchDBS\DB1 and C:\ExchDBs\DB2 are the same exact thing but this is expected.
We should now add the database copies to the other server, this was done by running the command and wait for the seed operation to finish.
Get-MailboxDatabase | Add-MailboxDatabaseCopy -MailboxServer L2013-EX1-B
We can monitor the status of the databases by running Get-MailboxDatabaseCopyStatus DBName
Now that we are ready we will take the disk hosting the databases on Node 2 down. To do this I have opened the Computer Management -> Disk Management -> Right Click on Disk 1 and then clicked on “Offline”
As soon as the disk is taken Offline errors starts appearing in the Application log of the event log, it can take however a few minutes (following my tests) for the AutoReseed to kick-in.
You can keep an eye on the AutoReseed open the Event Logs -> Application and Services Log -> Microsoft -> High Availability -> Seeding and look for events 1109, 1110 and 825, 826, 827, 828
Finally issuing a Get-MailboxDatabaseCopyStatus returns the status of the databases as healthy
Now let’s take a look at our Disk Management one more time, we can notice that the “Exchange DB” Disk is still offline and that the mount points that were assigned to it are now assigned to the “Exchange – Spare” disk.
Reassigning a spare disk
After changing or repairing the failing disk do not forget to format it and remount it under you Exchange Volumes directory, C:\ExchVol in this tutorial, so that Exchange can use it again as a spare in the case of any other node failure.