posts - 104 , comments - 115 , trackbacks - 0

My Links

News

Disclaimer: Right here... Github: Code all the things! PS GUI Series: < Coming Soon! > PS Scripts: < Coming Soon! >

Tag Cloud

Archives

Post Categories

Blogs

Forums

Lync

Storage

Tools

Virtualization

Web comics

DAG's and reseeding

Sometimes you just wish Exchange would not act as a total baby!

I worked on a case today which had 2 Exchange 2010 servers in a DAG with about 6 mailboxes, all in healthy status. All but one that is. This DataBaseCopy just would not come back into sync and was stuck in the eternal Resynchronizing loop from hell. So our client cried for help.

First thing you would want to do is to get a status of the database by running get-mailboxdatabasecopystatus -id "databasename\servername" | fl. This should return you something in this format:

RunspaceId                                 : 9d5ba0d8-78ff-4b51-bbd9-254953d36ecb
Identity                                        : Databasename\servername
Name                                          : Databasename\servername
DatabaseName                           : DatabaseName
Status                                         : Mounted
MailboxServer                             : Servername
ActiveDatabaseCopy                   : servername
ActivationSuspended                   : False
ActionInitiator                              : Unknown
ErrorMessage                     :
ErrorEventId                     :
ExtendedErrorInfo                :
SuspendComment                   :
SinglePageRestore                : 0
ContentIndexState                : Healthy
ContentIndexErrorMessage         :
CopyQueueLength                  : 0
ReplayQueueLength                : 0
LatestAvailableLogTime           :
LastCopyNotificationedLogTime    :
LastCopiedLogTime                :
LastInspectedLogTime             :
LastReplayedLogTime              :
LastLogGenerated                 : 0
LastLogCopyNotified              : 0
LastLogCopied                    : 0
LastLogInspected                 : 0
LastLogReplayed                  : 0
LogsReplayedSinceInstanceStart   : 0
LogsCopiedSinceInstanceStart     : 0
LatestFullBackupTime             :
LatestIncrementalBackupTime      :
LatestDifferentialBackupTime     :
LatestCopyBackupTime             :
SnapshotBackup                   :
SnapshotLatestFullBackup         :
SnapshotLatestIncrementalBackup  :
SnapshotLatestDifferentialBackup :
SnapshotLatestCopyBackup         :
LogReplayQueueIncreasing         : False
LogCopyQueueIncreasing           : False
OutstandingDumpsterRequests      : {}
OutgoingConnections              :
IncomingLogCopyingNetwork        :
SeedingNetwork                   :
ActiveCopy                       : True

RunspaceId                       : 9d5ba0d8-78ff-4b51-bbd9-254953d36ecb
Identity                         : MailboxName\servername
Name                             : MailboxName\servername
DatabaseName                     : Mailboxdatabasename
Status                           : FailedAndSuspended
MailboxServer                    : Servernamethatfailed
ActiveDatabaseCopy               : servername
ActivationSuspended              : True
ActionInitiator                  : Service
ErrorMessage                     : The required log file 2103 for MailboxName\servername is missing on the active copy. If
                                    you removed the log file, please replace it. If the log file is lost, the database
                                   copy will need to be reseeded using Update-MailboxDatabaseCopy.
                                  
ErrorEventId                     : 2059
ExtendedErrorInfo                :
SuspendComment                   : The database copy was automatically suspended due to failure item processing. At '03
                                   /11/2011 16:23:14' the copy of 'mailboxdatabase' on this server experienced an error t
                                   hat requires it be reseeded. For more detail about this failure, consult the Event l
                                   og on the server for other storage and "ExchangeStoreDb" events. The passive databas
                                   e copy has been suspended.
                                  
SinglePageRestore                : 0
ContentIndexState                : Failed
ContentIndexErrorMessage         : Catalog is dismounted externally for database {0b5d6c24-09dc-4648-958c-eb61b2bd778a}
                                   .
CopyQueueLength                  : 3753
ReplayQueueLength                : 0
LatestAvailableLogTime           : 03/11/2011 16:22:17
LastCopyNotificationedLogTime    : 03/11/2011 16:22:17
LastCopiedLogTime                :
LastInspectedLogTime             :
LastReplayedLogTime              :
LastLogGenerated                 : 3753
LastLogCopyNotified              : 3746
LastLogCopied                    : 0
LastLogInspected                 : 0
LastLogReplayed                  : 3695
LogsReplayedSinceInstanceStart   : 0
LogsCopiedSinceInstanceStart     : 0
LatestFullBackupTime             :
LatestIncrementalBackupTime      :
LatestDifferentialBackupTime     :
LatestCopyBackupTime             :
SnapshotBackup                   :
SnapshotLatestFullBackup         :
SnapshotLatestIncrementalBackup  :
SnapshotLatestDifferentialBackup :
SnapshotLatestCopyBackup         :
LogReplayQueueIncreasing         : False
LogCopyQueueIncreasing           : False
OutstandingDumpsterRequests      : {}
OutgoingConnections              :
IncomingLogCopyingNetwork        :
SeedingNetwork                   :
ActiveCopy                       : False

Now generally speaking you would do a suspend-mailboxdatabasecopy -id "mailboxdatabase\servername" followed by an update-mailboxdatabasecopy -id " " -DeleteExistingFiles which would update the passive copy and resume the Storage Group COpy. Yet once in a while you'll run in to a case where this won't work as the gap is to large for Exchange to cover. In that case you'll have to perform the highly regarded "manual reseeding procedure"! This is somewhat disruptive for your users and risky unless you keep your head in the game.

These would be the steps you follow:

  1. Suspend the database copy
  2. Go to the passive node and remove all the database and log files (fun yet?)
  3. Dismount the database from Exchange
  4. Go to the log files folder on the active node and move them all to a different folder
  5. Now copy the EDB file from the active node to the passive node
  6. Mount the database once this is completed
  7. Resume the storage group copy
  8. Drink cocktails on the beach as your sync is healthy (not required but highly recommended)

All in all this should get your copy back in order. Not exactly the way you'd want to (aka without down time) but it get's the job done.

 

Print | posted on Thursday, November 3, 2011 6:05 PM | Filed Under [ General Exchange ]

Feedback

Gravatar

# re: DAG's and reseeding

Found another workaround for this without actually using any downtime.

I removed the database copy from the EMC/ECS .. then removed all data from the passive node drives for each database e.g. the DB's, Log's etc..

Then Ran ( create the copy but not seed the database )

Add-MailboxDatabaseCopy "DataBase name" -MailboxServer "Server name" -SeedingPostponed: $true

After this completed, i enabled circular logging

Set-MailboxDatabase "Database Name" -CircularLogging: $true

Waited for Circular logging to clean the log's drive, this may take a while but when this completed i ran the seeding

Update-MailboxDatabaseCopy "Database Name\Server Name" -DeleteExistingFiles: $true

After this completed , i disabled circular logging again

Set-MailboxDatabase "Database Name" -CircularLogging: $false

This should sort your DAG replication issue :D

Shah

3/25/2013 3:01 PM | Shah
Gravatar

# re: DAG's and reseeding

Hi Shah,

Appreciate the input but that will invalidate your backups :). So whilst you are working around one issue you are creating another one...

And technically you should restart the store to enable circular logging ;)
3/26/2013 7:44 AM | Marc
Gravatar

# re: DAG's and reseeding

Hello thanks for this article because I'm going through this now. However I have one question. What if I have multiple copies like mdb1 on server1,2,3? Will I suspend all copies on all servers and copy the edb file to all passive Databases?
5/3/2015 5:05 PM | corey
Gravatar

# re: DAG's and reseeding

Typically you would suspend replication and only replace the copy that is out of date...
5/4/2015 6:58 AM | Marc
Gravatar

# re: DAG's and reseeding

Thanks Worked perfectly
I am even going to do the cocktail thing :)
8/23/2016 9:36 AM | Raviv
Post A Comment
Title:
Name:
Email:
Comment:
Verification:
 

Powered by: