Exchange 2010 to Exchange 2016 Migration – Part 5

Exchange 2010 to Exchange 2016 Migration

Introduction

In this blog series of Exchange 2010 to Exchange 2016 migration, we have worked on Exchange 2010 to 2016 migration planning, installed Exchange 2016 server and in previous article of this blog series, we have performed post installation tasks of Exchange 2016 Server and moved our mail flow and HTTPS traffic to Exchange 2016 server. In this part of the series we will move users mailboxes from Exchange 2010 to Exchange 2016.

We will not be working on decommissioning Exchange 2010 server and we do not have any public folder on Exchange 2010 that requires migration to Exchange 2016 server.

Migration of Mailbox to Exchange 2016 Server

Perform the following steps to migrate mailboxes from Exchange 2010 to Exchange 2016 server.

  • Login to Exchange Administrative Center with admin credentials
  • Navigate to Recipients > Migration
  • Click on icon and move to a different database

  • Under Select the users that you want to move, click Add Add Icon icon to add users or you can upload list of mailboxes using a CSV file

  • In the Select Mailbox window, select the mailboxes you want to move, and then click Add Icon icon to add and then OK.

  • Specify a name for the new mailbox move, Make sure you have selected the option to move both primary and archive mailbox. In case you do not have a archive mailbox you can skip that option.
  • Under Target database, click Browse and select the target database of Exchange 2016 Server.

  • Select the option to automatically start the migration batch to start the batch immediately. You can also unchecked the option and manually start the batch later on.
  • Plan for mailbox migration completion, you can select the option to automatically complete the migration batch. During the finalization phase, the mailbox will be unavailable for a small period of time. If you choose to manually complete the mailbox move, you can decide when the move is finalized and you can plan for batch completion in after hours to avoid end user interruption.

Once the migration is completed, the end user will receive a pop up message that states “Administrator has made a change that requires you to restart outlook client”. Once user restart the outlook client he will be connected with his mailbox on Exchange Server 2016.

Conclusion

In part 5 of this blog series of Exchange 2010 to Exchange 2016 migration, we have performed user mailbox migration to Exchange 2016 database to complete our migration to Exchange Server 2016. Once all mailboxes have been migrated to Exchange 2016 server, you can plan for Exchange Server 2010 decommissioning to remove from your messaging infrastructure.

If you would like to read the other parts of this blog article series, please go to:

Exchange 2010 to Exchange 2016 Migration – Part 4

Exchange 2010 to Exchange 2016 Migration

Introduction

In this blog series of Exchange 2010 to Exchange 2016 migration, we have worked on Exchange 2010 to 2016 migration planning, installed Exchange 2016 server and in previous article of this blog series, we started to work on Exchange 2016 server post installation configuration. We configured the virtual directories, SSL certificate and renamed the default mailbox database. In this part of the series we will configure mail flow and web based traffic configuration to point to Exchange 2016 server and update the records accordingly.

Moving the mail flow and web based traffic from Exchange 2010 server to Exchange 2016 server requires a maintenance window and should be planned for after hours

Switch Mail Flow and HTTPS traffic to Exchange 2016 Server

Once you have performed the installation and initial configuration of Exchange 2016 server. The next step is to plan for advanced configuration of Exchange 2016 server that requires you to create new mailbox database, set up application relay connector etc.

I do not have any application relay configured on Exchange 2010 and we are not going to setup any receive connector on Exchange 2016 for application relay.

You can download a complete step by step guide for Exchange 2016 server installation from TechNet Gallery that talks about Exchange 2010 database move from one drive to another, creating/renaming a database, setting up connector etc.

Modify Send Connector to include Exchange 2016 Server

Once you setup the receive connector based on your needs for application relay, next step is to modify the existing send connector to add your Exchange 2016 server as authorized server to send external emails. To add Exchange 2016 server to outbound connector, perform the following steps.

  • Login to Exchange admin center and navigate to Mail Flow > Send Connector
  • Select the existing Connector and click on edit 
  • Click on Scoping and add Exchange 2016 server to the authorized list of outbound servers

Once the exchange 2016 server is added to the list, monitor the mail flow and send test emails from a mailbox hosted on Exchange 2016 mailbox to internet and verify the mail flow is working fine from Exchange 2016 server.

Update Internal DNS Records to Point to Exchange 2016 Server

Once the mail flow is tested and verified, next step is to update the internal DNS records to point to Exchange 2016 server. As of now, your current records will be pointing to your Exchange 2010 server. Update the records to point to Exchange 2016 server for web traffic and mail flow.

  • To update the records, login to DNS server and start the DNS snap-in
  • Select the Mail and Autodiscover record and click on modify

Exchange 2010 to Exchange 2016 Migration

  • Update the record to point to Exchange 2016 server

Exchange 2010 to Exchange 2016 Migration

Once records are updated, wait for DNS cached records to be expired before performing a testing. Once the DNS is updated on end user side, login to Exchange 2010 mailbox using the URL https://mail.domain.com/owa and verify the OWA redirection and mail flow. Once internal access is verified and everything is working fine as expected, update the external HTTPS publishing which in my case is being done via NAT rule configured on router. We’ve updated the NAT rule to send the traffic to Exchange 2016 server instead of Exchange 2010 server.

Conclusion

In part four of this blog series, we have performed reviewed the advanced configuration options required for Exchange 2016 server post-installation and move the mail flow and web based traffic to Exchange 2016 server. In part five of this series, we will complete the prepare a migration batch and start migrating the test mailboxes and production mailboxes to Exchange server 2016.

If you would like to read the other parts of this blog article series, please go to:

Exchange 2016 error “A valid migration mailbox could not be found for this organization”

Introduction

Microsoft Exchange Server system mailboxes are also known as “Arbitration” mailbox. Exchange Server use these arbitration mailboxes for various tasks like eDiscovery Search Metadata, Admin audit logs, OAB, Mailbox Migration, UM data like menus, dial plan etc. These mailboxes are automatically created when you setup first exchange server and the process of preparing Active Directory creates these accounts in root domain of your active directory during the process of AD preparation. These mailboxes can be seen via Exchange Management Shell by running the following EMS cmdlet.

C:\>Get-Mailbox –Arbitration

Below are the arbitration mailboxes created by Exchange Server during the installation with a disable AD account in root active directory under users OU.

  • SystemMailbox{1f05a927-eac1-46e7-9a47-611e1a81bb50}
  • SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}
  • SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}
  • Migration.8f3e7716-2011-43e4-96b1-aba62d229136

Today I have been working on Exchange Server 2010 to Exchange Server 2016 upgrade and got the following error message with a user mailbox migration batch.

Exchange 2016 error "A valid migration mailbox could not be found for this organization"

Microsoft has the solution documented in the KB article 2812509. The reason for error is that the migration mailbox is either not enabled or was deleted. When you use the New-MigrationBatch cmdlet, the Migration mailbox must exist and be enabled or else you won’t be able to migrate the mailboxes.

Although the migration arbitration mailbox is created upon initial installation of your Exchange server 2016, this account can be corrupted or being deleted by mistake. You can easily re-create this account by running the following EMS cmdlets.

How to Fix It?

  • Firstly step is to ensure that the account Migration.8f3e7716-2011-43e4-96b1-aba62d229136 does not exist

Get-Mailbox -Arbitration | fl name, alias

  • Prepare your active directory by running the following cmdlet in Windows PowerShell

.\Setup /PrepareAD /IAcceptExchangeServerLicenseTerms

Exchange 2016 error "A valid migration mailbox could not be found for this organization"

  • Once the AD preparation is completed, Verify that the account exist under default Users OU in root active directory
  • Enable the Arbitration mailbox used for migration

Enable-Mailbox -Arbitration -Identity “Migration.8f3e7716-2011-43e4-96b1-aba62d229136”

Exchange 2016 error "A valid migration mailbox could not be found for this organization"

  • Configure the migration arbitration mailbox as below

Set-Mailbox “Migration.8f3e7716-2011-43e4-96b1-aba62d229136” -Arbitration –Management:$true

Exchange 2016 error "A valid migration mailbox could not be found for this organization"Once the arbitration mailbox is enabled and configured properly, Create the migration batch to migrate user mailboxes from one database to another.

For more information on Exchange 2016, please go through the following blog posts.

 

Installing an Exchange Server 2016 Database Availability Group (DAG)

Introduction

Database Availability Group (DAG) is a high availability and site-resilience framework to Exchange Mailbox server that gives you the capabilities to ensure the availability of your database. Database availability group (DAG) was first introduced in Exchange Server 2010. DAG can support up to Sixteen mailbox servers in a single DAG group. Any server in a DAG can host a copy of a mailbox database from any other server who is member of DAG group.

If you have not installed your Exchange Server 2016 yet, follow the step by step guide to deploy your Exchange server 2016 from here

Installing an Exchange Server 2016 Database Availability Group (DAG)

I am going to install a 2 node IP less DAG in single AD site with a third Windows server in the same site as the file share witness. IP less DAG has no cluster administrative access point (CAAP) and do not support backup application that relay on cluster administrative access point for backup.  To Install an Exchange Server 2016 DAG, follow the steps mentioned below.

  • Login to Exchange 2016 server as administrator
  • Navigate to Servers > Database Availability Groups and click on + icon

Installing an Exchange Server 2016 Database Availability Group (DAG)

  • Specify your DAG name, Witness Server and witness directory and click on Save. As I’m using a 3rd server as Witness server that do not hold any Exchange server service. You need to add “Exchange trusted subsystem” to local admin group on witness server.

Installing an Exchange Server 2016 Database Availability Group (DAG)Installing an Exchange Server 2016 Database Availability Group (DAG)

If you leave the Witness Server field empty, wizard will search for an Exchange 2016 server with Client Access services, and it will automatically create the specified witness directory on that server, share the directory, and configure the DAG to use that Exchange 2016 server with Client Access services as its witness server.

  • Once the DAG group is created, the next step is to add members to DAG. To add member servers, Select the DAG group and click on Settings icon

Installing an Exchange Server 2016 Database Availability Group (DAG)

  • Add member servers to the DAG group

Installing an Exchange Server 2016 Database Availability Group (DAG) Installing an Exchange Server 2016 Database Availability Group (DAG)

  • Your DAG is installed and has 2 member servers added. The last step is to setup DatacenterActivationMode to “DAGOnly”. Run the following Exchange Management Shell cmdlet to set DatacenterActivationMode

Set-DatabaseAvailabilityGroup -Identity Dag01 -DatacenterActivationMode DagOnly

Installing an Exchange Server 2016 Database Availability Group (DAG)Once your DAG is setup. Last step is to add database copies to DAG and distribute your database load on multiple servers.

For more information on Exchange 2016, please go through the following blog posts.

Troubleshoot Exchange 2016 Error Database is mandatory on UserMailbox

Recently I have been working with a customer to upgrade from Exchange Server 2010 to Exchange Server 2016 and run into an issue. During the installation, Exchange setup failed on step 9 with below error message.

Troubleshoot Exchange 2016 Error Database is mandatory on UserMailbox

Looking at the error message in detail i noticed the following error.

The following error was generated when “$error.Clear();

if ( ($server -eq $null) -and ($RoleIsDatacenter -ne $true) )

{

Update-RmsSharedIdentity -ServerName $RoleNetBIOSName

}

” was run: “Microsoft.Exchange.Data.DataValidationException: Database is mandatory on UserMailbox.

at Microsoft.Exchange.Data.Directory.ADDataSession.Save(ADObject instanceToSave, IEnumerable`1 properties, Boolean bypassValidation)

at Microsoft.Exchange.Data.Directory.Recipient.ADRecipientObjectSession.Save(ADRecipient instanceToSave)

at Microsoft.Exchange.Management.Deployment.UpdateRmsSharedIdentity.Link()

at Microsoft.Exchange.Management.Deployment.UpdateRmsSharedIdentity.InternalProcessRecord()

at Microsoft.Exchange.Configuration.Tasks.Task.<ProcessRecord>b__b()

at Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean terminatePipelineIfFailed)”.

How to Fix It?

As you can see from the error message that Exchange Server 2016 installation is trying to retrieve a system mailbox with the name of “SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}“. This error message is being caused by system mailbox that does not have mailbox database associated with the mailbox. I have seen this scenario where you have not decommissioned your Exchange server properly. To verify this issue, run the following Exchange Management Shell (EMS) cmdlet.

Get-Mailbox -Arbitration | ft Name, ServerName, Database -Auto

Troubleshoot Exchange 2016 Error Database is mandatory on UserMailboxAs you can see, I had two mailboxes that do not have mailbox database assigned. In active directory theses accounts exist in default Users OU.To fix this issue,, delete these accounts from active directory and wait for AD replication. Once the AD replication is completed, re-run the cmdlet to verify the system mailboxes have been deleted from Exchange Server.

Troubleshoot Exchange 2016 Error Database is mandatory on UserMailboxFor more information on Exchange 2016, please go through the following blog posts.

1 2