Recently I had to implement and configure AutoReseed in Exchange 2013 and it wasn’t as easy as I figured in Advance. To be honest, I had to rebuild the DAG after fiddling too much with the Mailbox servers so it might well be a good idea to write down my experiences.
AutoReseed is a feature that was introduced in Exchange 2013 and is meant to reduce the administrative effort when it comes to replacing failed disks and performing a reseed to create a new copy of a Mailbox database.
When a disk in an Exchange 2013 Mailbox server fails it is replaced by an Exchange administrator that formats the disk and creates a new copy of a Mailbox database on the newly replaced disk. AutoReseed is basically the same process but then automated and the idea behind AutoReseed is to get a Mailbox database up-and-running again (immediately) after a disk failure without any human intervention. When implemented properly there’s no need to do any reseeds anymore, the only thing you have to do is to replace faulty disks on a regular basis.
AutoReseed uses a feature in Windows 2012 where a disk can be mounted in multiple locations, in Exchange 2013 this is a location where the individual volumes are mounted (like C:\ExVols) and a location where the individual Mailbox databases are located (like C:\ExDbs).
Implementing AutoReseed
Suppose we have two Exchange 2013 Mailbox servers, each server is configured with three disks that are mounted in locations like C:\ExVols\Vol1, C:\ExVols\Vol2 and C:\ExVols\Vol3.
Each Mailbox server is hosting two Mailbox databases, so server AMS-EXCH01 is hosting AMS-MDB01 and AMS-MDB02 (located in C:\ExDbs\AMS-MDB01 and C:\ExDbs\AMS-MDB02) and server AMS-EXCH02 is hosting Mailbox databases AMS-MDB03 and AMS-MDB04. These Mailbox databases are located in C:\ExDbs\AMS-MDB03 and C:\ExDbs\AMS-MDB04.
So, Disk1 is mounted in C:\ExVols\Vol1 and C:\ExDbs\AMS-MDB01 and C:\ExDbs\AMS-MDB02 as shown in the following picture.
Please note a Mailbox database exists only once on an Exchange 2013 Mailbox server, but it appears in two different locations. When a disk containing Mailbox database copies fails, for example Disk1, the AutoReseed feature will re-allocate the spare disk and configure them as a new disk in this configuration. Since the location of the Mailbox database (like C:\ExDbs\AMS-MDB01) does not change the Information Store is not impacted here and can continue after the spare disk is allocated and the Mailbox database copy is reseeded.
The DAG has three properties that are used for the AutoReseed feature:
- AutoDagVolumesRootFolderPath – This is a link to the mountpoint that contains all available volumes, for example C:\ExchVols. Volumes that host Mailbox databases as well as spare volumes are located here.
- AutoDagDatabasesRoolFolderPath – This is a link to the mountpoint that contain all Mailbox databases, for example C:\ExchDBs.
- AutoDagDatabaseCopiesPerVolume – This property contains the number of Mailbox database copies per volume.
So, the first step is to configure the DAG with these three properties. In out example we’ll have two Mailbox database copies per volume to this property will be set to ‘2’. To set these properties you can use the following commands:
Set-DatabaseAvailabilityGroup AMS-DAG01 -AutoDagDatabasesRootFolderPath "C:\ExchDbs" -AutoDagVolumesRootFolderPath "C:\ExchVols" -AutoDagDatabaseCopiesPerVolume 2
Create three directories on the C:\ Drive of your Exchange 2013 Mailbox server:
MD C:\ExVols\Vol1 MD C:\ExVols\Vol2 MD C:\ExVols\Vol3
Mount the three disks into these directories. Next create three directories where the Mailbox databases will reside:
MD C:\ExchDBs\AMS-MDB01 MD C:\ExchDBs\AMS-MDB02 MD C:\ExchDBs\AMS-MDB03 MD C:\ExchDBs\AMS-MDB04
Please make sure the directories correspond to the DAG properties we’ve set earlier and repeat these steps on the second Exchange 2013 Mailbox server in the DAG.
Creating the mount points for the Mailbox databases is a bit trickier. You can use the Disk Management MMC snap-in or you can use the command-line tool mountvol.exe to achieve this.
When using the the Disk Management MMC snap-in you have to select a disk that was created in the previous step, for example C:\ExchVols\Vol1. To add an additional mount point, right click the disk and select Change Drive Letter and Path. Use the Add button to select a Mailbox database directory, i.e. C:\ExchDBs\AMS-MDB01 and C:\ExchDbs\AMS-MDB02.
The second disk is mounted to C:\ExchVols\Vol2 and C:\ExchDbs\AMS-MDB03 and C:\ExchDbs\AMS-MDB04.
Instead of using the Computer Management MMC snap-in it is also possible to use the Mountvol.exe command-line utility. The Mountvol.exe utility is used as follows:
Mountvol.exe c:\ExchDbs\AMS-MDB01 \\?\Volume (GUID) Mountvol.exe c:\ExchDbs\AMS-MDB02 \\?\Volume (GUID)
You can retrieve the GUID’s of the individual volumes using mountvol.exe as well, just use a command similar to Mountvol.exe C:\ExchVols\ and you’ll see something as shown in the following figure:
To add the disk as an additional mount point to both Mailbox database directories you can use the following commands:
Mountvol.exe C:\ExchDbs\AMS-MDB01 \\?\Volume{845bfe37-193d-11e4-80c6-00155d000347}\ Mountvol.exe C:\ExchDbs\AMS-MDB02 \\?\Volume{845bfe37-193d-11e4-80c6-00155d000347}\ Mountvol.exe C:\ExchDbs\AMS-MDB03 \\?\Volume{845bfe3f-193d-11e4-80c6-00155d000347}\ Mountvol.exe C:\ExchDbs\AMS-MDB04 \\?\Volume{845bfe3f-193d-11e4-80c6-00155d000347}\
You can check the results by running the Mountvol.exe utility without any parameters like this:
Again, repeat this step on the second Exchange 2013 Mailbox server.
The next step is to create the directory structure where the Mailbox database files will be stored. It depends on your own naming convention of course, but in our example it would look something like this:
md c:\ExchDBs\AMS-MDB01\AMS-MDB01.db md c:\ExchDBs\AMS-MDB01\AMS-MDB01.log md c:\ExchDBs\AMS-MDB02\AMS-MDB02.db md c:\ExchDBs\AMS-MDB02\AMS-MDB02.log md c:\ExchDBs\AMS-MDB03\AMS-MDB03.db md c:\ExchDBs\AMS-MDB03\AMS-MDB03.log md c:\ExchDBs\AMS-MDB04\AMS-MDB04.db md c:\ExchDBs\AMS-MDB04\AMS-MDB04.log
The Mailbox database file itself will be stored in the AMS-MDB01.DB subdirectory while the accompanying Transaction log files will be stored in the AMS-MDB01.log subdirectory.
New Mailbox databases will be created in the directories we just created, just use the following commands in the Exchange Management Shell:
New-MailboxDatabase -Name AMS-MDB01 -Server AMS-EXCH01 -LogFolderPath C:\ExchDbs\AMS-MDB01\AMS-MDB01.log -EdbFilePath C:\ExchDbs\AMS-MDB01\AMS-MDB01.db\AMS-MDB01.edb New-MailboxDatabase -Name AMS-MDB02 -Server AMS-EXCH01 -LogFolderPath C:\ExchDbs\AMS-MDB02\AMS-MDB02.log -EdbFilePath C:\ExchDbs\AMS-MDB02\AMS-MDB02.db\AMS-MDB02.edb New-MailboxDatabase -Name AMS-MDB03 -Server AMS-EXCH02 -LogFolderPath C:\ExchDbs\AMS-MDB03\AMS-MDB03.log -EdbFilePath C:\ExchDbs\AMS-MDB03\AMS-MDB03.db\AMS-MDB03.edb New-MailboxDatabase -Name AMS-MDB04 -Server AMS-EXCH02 -LogFolderPath C:\ExchDbs\AMS-MDB04\AMS-MDB04.log -EdbFilePath C:\ExchDbs\AMS-MDB04\AMS-MDB04.db\AMS-MDB04.edb
Please note that Mailbox databases AMS-MDB01 and AMS-MDB02 will be located on the first Mailbox server and Mailbox databases AMS-MDB03 and AMS-MDB04 will be located on the second Mailbox server.
Of course you need to create an additional copy of the Mailbox database on the second Exchange 2013 Mailbox server. You can use the following PowerShell commands to create the new Mailbox databases:
Add-MailboxDatabaseCopy –Identity AMS-MDB01 –MailboxServer AMS-EXCH02 –ActivationPreference 2 Add-MailboxDatabaseCopy –Identity AMS-MDB02 –MailboxServer AMS-EXCH02 –ActivationPreference 2 Add-MailboxDatabaseCopy –Identity AMS-MDB03 –MailboxServer AMS-EXCH01 –ActivationPreference 2 Add-MailboxDatabaseCopy –Identity AMS-MDB04 –MailboxServer AMS-EXCH01 –ActivationPreference 2
At this point we have created a DAG with the AutoReseed option and when all goes well if one disk fails, the spare disk will be allocated and a new copy of the Mailbox databases will be created.
One thought on “Implementing and Configuring AutoReseed”