Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Exchange DAG environment - fails to mount passive copy

Posted on 2013-05-12
14
Medium Priority
?
2,385 Views
Last Modified: 2013-06-07
Hi

Running in test environment with a DAG group consisting of two DAG members.

Replication of the database works fine but is having issues when simulating failure. I have disconnected the server with the active copy of the database but the redundant server fails to mount the passive copy.

Here's the error message I get in event viewer:

PID 3920, Thread 15) Task Mount-Database writing error when processing record of index 0. Error: System.InvalidOperationException: Couldn't mount the database that you specified. Specified database: Mailbox Database 2143096883; Error code: An Active Manager operation failed. Error: The database action failed. Error: Operation failed with message: MapiExceptionCallFailed: Unable to mount database. (hr=0x80004005, ec=1105)
 [Database: Mailbox Database 2143096883, Server: MAILSTORE-A.example.info]. ---> Microsoft.Exchange.Cluster.Replay.AmDbActionWrapperException: An Active Manager operation failed. Error: The database action failed. Error: Operation failed with message: MapiExceptionCallFailed: Unable to mount database. (hr=0x80004005, ec=1105)
 ---> Microsoft.Exchange.Data.Storage.AmOperationFailedException: An Active Manager operation failed. Error: Operation failed with message: MapiExceptionCallFailed: Unable to mount database. (hr=0x80004005, ec=1105)
 ---> Microsoft.Mapi.MapiExceptionCallFailed: MapiExceptionCallFailed: Unable to mount database. (hr=0x80004005, ec=1105)

   at Microsoft.Mapi.MapiExceptionHelper.ThrowIfError(String message, Int32 hresult, SafeExInterfaceHandle iUnknown)
   at Microsoft.Mapi.ExRpcAdmin.MountDatabase(Guid guidStorageGroup, Guid guidMdb, Int32 ulFlags)
   at Microsoft.Exchange.Cluster.ActiveManagerServer.AmStoreHelper.Mount(Guid mdbGuid, MountFlags flags)
   at Microsoft.Exchange.Cluster.ActiveManagerServer.ActiveManagerCore.MountDatabaseDirect(Guid mdbGuid, MountFlags flags, AmDbActionCode actionCode)
   at Microsoft.Exchange.Cluster.ActiveManagerServer.AmRpcServer.<>c__DisplayClass19.<MountDatabaseDirect>b__18()
   at Microsoft.Exchange.Data.Storage.Cluster.HaRpcExceptionWrapperBase`2.RunRpcServerOperation(String databaseName, RpcServerOperation rpcOperation)
   --- End of inner exception stack trace (Microsoft.Mapi.MapiExceptionCallFailed) ---
   --- End of stack trace on server (MAILSTORE-A.example.info) ---
   at Microsoft.Exchange.Data.Storage.Cluster.HaRpcExceptionWrapperBase`2.ClientRethrowIfFailed(String databaseName, String serverName, RpcErrorExceptionInfo errorInfo)
   at Microsoft.Exchange.Data.Storage.ActiveManager.AmRpcClientHelper.RunRpcOperationWithAuth(AmRpcOperationHint rpcOperationHint, String serverName, String databaseName, NetworkCredential networkCredential, Nullable`1 timeoutMs, AmRpcClient& rpcClient, InternalRpcOperation rpcOperation)
   at Microsoft.Exchange.Data.Storage.ActiveManager.AmRpcClientHelper.MountDatabaseDirectEx(String serverToRpc, Guid dbGuid, AmMountArg mountArg)
   at Microsoft.Exchange.Cluster.ActiveManagerServer.AmDbAction.MountDatabaseDirect(AmServerName serverName, AmServerName lastMountedServerName, Guid dbGuid, MountFlags flags, AmDbActionCode actionCode)
   at Microsoft.Exchange.Cluster.ActiveManagerServer.AmDbPamAction.RunMountDatabaseDirect(AmServerName serverToMount, MountFlags mountFlags, Boolean fLossyMountEnabled)
   at Microsoft.Exchange.Cluster.ActiveManagerServer.AmDbPamAction.<>c__DisplayClass3.<AttemptMountOnServer>b__1(Object , EventArgs )
   at Microsoft.Exchange.Cluster.ActiveManagerServer.AmHelper.HandleKnownExceptions(EventHandler ev)
   --- End of inner exception stack trace (Microsoft.Exchange.Data.Storage.AmOperationFailedException) ---
   at Microsoft.Exchange.Cluster.ActiveManagerServer.AmDbOperation.Wait(TimeSpan timeout)
   at Microsoft.Exchange.Cluster.ActiveManagerServer.ActiveManagerCore.MountDatabase(Guid mdbGuid, MountFlags flags, DatabaseMountDialOverride mountDialOverride, AmDbActionCode actionCode)
   at Microsoft.Exchange.Cluster.ActiveManagerServer.AmRpcServer.<>c__DisplayClass4.<MountDatabase>b__3()
   at Microsoft.Exchange.Data.Storage.Cluster.HaRpcExceptionWrapperBase`2.RunRpcServerOperation(String databaseName, RpcServerOperation rpcOperation)
   --- End of stack trace on server (MAILSTORE-A.example.info) ---
   at Microsoft.Exchange.Data.Storage.Cluster.HaRpcExceptionWrapperBase`2.ClientRethrowIfFailed(String databaseName, String serverName, RpcErrorExceptionInfo errorInfo)
   at Microsoft.Exchange.Data.Storage.ActiveManager.AmRpcClientHelper.RunDatabaseRpcWithReferral(AmRpcOperationHint rpcOperationHint, Database database, String targetServer, AmRpcClient& rpcClient, InternalRpcOperation rpcOperation)
   at Microsoft.Exchange.Data.Storage.ActiveManager.AmRpcClientHelper.MountDatabase(Database database, Int32 flags, Int32 mountDialOverride)
   at Microsoft.Exchange.Management.SystemConfigurationTasks.MountDatabase.InternalProcessRecord()
   --- End of inner exception stack trace ---
0
Comment
Question by:dave558
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 8
  • 3
  • 2
  • +1
14 Comments
 
LVL 19

Expert Comment

by:R--R
ID: 39160397
Check the event viewer and find the error events related to Exchange
0
 
LVL 27

Expert Comment

by:MAS
ID: 39160552
what was the details of the passive copy.
i.e. 1.status of the content index state
      2.status of the database copy
   
If the content index state and status of the database copy is healthy it should mount automatically
0
 

Author Comment

by:dave558
ID: 39161553
Status of the database copy is healthy.

How do I find out the content index state? Thanks.
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 

Author Comment

by:dave558
ID: 39163422
I've ran the following command "Get-MailboxDatabaseCopyStatus –Server EX2 | fl Name,*Index*" and I get the content index state as failed.

Here's the details of what's happened:
SERVER-A - Passive copy (healthy), content index state (healthy)
SERVER-B - Active copy (mounted), content index state (healthy)

After disconnect SERVER-B, server goes in to the follow state:
SERVER-A - Dismounted (should now be active), content index state (failed)
SERVER-B - Server down

It doesn't show an error messages about the reason why failed content index state failed. Since content indexing should only occur when a database is mount, I'm thinking this failure message is as a result of the dismounted database.

Is this correct? Thanks.
0
 

Author Comment

by:dave558
ID: 39163610
Here's a few other messages I get when attempting to mount the DB:

Event 9519
While starting database Mailbox Database 2143096883, the following error occurred: 0x451.  
Start DB failed..

Event 9519
While starting database Mailbox Database 2143096883, the following error occurred: 0x451.  
Failed to configure MDB.

Event 1197
Database "Mailbox Database 2143096883" is too new to be upgraded.
0
 
LVL 27

Expert Comment

by:MAS
ID: 39163712
please use this command to make content index state healthy

Update-MailboxDatabaseCopy "databasename\servername" -CatalogOnly
0
 
LVL 52

Expert Comment

by:Manpreet SIngh Khatra
ID: 39163886
How Many NIC's do you have on both servers ?
Is the Catalog health before the Failure you do ?
What if you suspend the Catalog ? Is the search service and others running after the Failure exercise done ?

- Rancy
0
 

Author Comment

by:dave558
ID: 39166860
There are two NICs on each server but the Mailbox server are on Virtual Machines with only a single virtual NIC attached.

Prior to simulating the failure, the catalog is in a healthy for the passive server (SERVER-A). It's only after I've simulated the failure that the catalog goes in the "failed" state.

Also as the passive server has now become the active server, I am no longer able to suspend or update the Catalog feature. Seems like it flagged SERVER-A as the active copy even without be able to mount the DB.

The previous active server (SERVER-B) is now stuck on "Disconnected and Resynchronizing" and has an a Copy Queue length that appears to be invalid.

Seems like I'd need to get the current failed server (SERVER-A) active again before the SERVER-B can get resychronised.
0
 
LVL 52

Expert Comment

by:Manpreet SIngh Khatra
ID: 39167259
How many Databases do you have ?

- Rancy
0
 

Author Comment

by:dave558
ID: 39170093
Two databases
0
 

Accepted Solution

by:
dave558 earned 0 total points
ID: 39173311
It seems that the Version and Build as I've installed them from two different Exchange DVD's.

SERVER-A : Version 14.0 (Build 639.21)
SERVER-B : Version 14.1 (Build 218.15)

Looks like the DVD I installed from was Exchange with no Service Pack and the second one was an Exchange image from a production system had SP1 installed.

Anyone know how to force SERVER-B to the active copy now? Moving the active copy function isn't allowed, keeps saying the queue is too long to be valid.

Otherwise I'm going having to redo everything
0
 

Author Comment

by:dave558
ID: 39173387
Okay. Forced the server to mount the previous database using the following cmdlet:
Move-ActiveMailboxDatabase <DB> -ActivateOnServer <MB> -MountDialOverride BestEffort -SkipLagChecks -SkipClientExperienceChecks

Good thing this is only on a test environment. Thank you all for your help.
0
 
LVL 52

Expert Comment

by:Manpreet SIngh Khatra
ID: 39173405
I would say get them both to possibly SP2 or SP3 .... I guess there are many emails stuck in the Queue .... HUB or Copy\Replay queue

- Rancy
0
 

Author Closing Comment

by:dave558
ID: 39228408
SP1 mailboxes are incompatible with standard Exchange
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Want to know how to use Exchange Server Eseutil command? Go through this article as it gives you the know-how.
With so many activities to perform, Exchange administrators are always busy in organizations. If everything, including Exchange Servers, Outlook clients, and Office 365 accounts work without any issues, they can sit and relax. But unfortunately, it…
In this video we show how to create an email address policy in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.:  First we need to log into the Exchange Admin Center. Navigate to the Mail Flow…
In this video we show how to create a mailbox database in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.: First we need to log into the Exchange Admin Center. Navigate to the Servers >> Data…

609 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question