Migrating to Exchange 2016 – Part 1

With the release of Exchange 2016 many administrators will be faced with the need to migrate their databases to the new servers and I hope this series of articles would be of any help to them. I’m going to migrate my Testcompany database that currently resides in the two-node Exchange 2013SP1 DAG (Exch1 and Exch2) to a brand new two-node DAG built on the two Exchange Server 2016 servers – Exch11 and Exch12. My previous blog posts describe my Exchange 2013SP1 organization in detail:

Deploying Exchange 2013 SP1 step by step -Part1
Deploying Exchange 2013 SP1 step by step -Part2
Deploying Exchange 2013 SP1 step by step -Part3
Deploying Exchange 2013 SP1 step by step -Part4
Deploying Exchange 2013 SP1 step by step -Part5

The migration process did not change from the Exchange2010-Exchange2013 times and looks as follows:

1) Create the new Exchange 2016 DAG and add Exchange 2016 mailbox servers to the DAG
2) Move mailboxes from databases in the Exchange 2013 DAG to the Exchange 2016 DAG
3) Create mailbox database copies within the Exchange 2016 DAG

4) Remove the  database and its copies from the Exchange 2013 DAG
5) Remove the Exchange 2013 DAG members and the DAG itself – either in GUI or by running Remove-DatabaseAvailabilityGroup cmdlet
6) Reconfigure DNS, Autodiscover …
7) Deinstall Exchange 2013

In Part1 we’ll install two Exchange 2016 mailbox servers into the existing Exchange 2013SP1 organization and create a new DAG.

Before an Exchange Server 2016  can be introduced into the Exchange 2013 organization all Exchange 2013 servers must have CU10 installed, so the first step in upgrading to Exchange 2016 is to install CU10 on all Exchange 2013 servers.
The next step is to install Exchange Server 2016 prerequisites:

1) Install-WindowsFeature AS-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, Web-Mgmt-Console, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation

2) NET Framework 4.5.2

3) Microsoft Unified Communications Managed API 4.0, Core Runtime 64-bit

After having it done we can start installation of the first Exchange 2016 server:

11 12 13 14  16As you see there’s only one role available for the selection – the Mailbox role – as Exchange 2016 does not have a separate Client Access Role.

17 18 19 20

The installation process is exactly the same as in Exchange 2013 and there won’t be many noticeable changes in the Exchange 2016 GUI at all, thus making the migration process easier for administrators.

Now I’ll sign in and make sure I can see all my Exchange 2013 servers from the Exchange 2016 server’s  GUI:21

24 25If I didn’t know it is Exchange 2016 I would be sure I’m configuring just another Exchange 2013 – no interface changes  seen so far.

After installing the second Exchange 2016 server we can proceed to creating a new DAG:3132 33Then I must add two Exchange 2016 servers – Exch11 and Exch12 – to the newly created DAG2016:

35 36 37

In the next part we’ll create a new database – TestCompany2016, move all mailboxes from the DAG1\TestCompany to TestCompany2016 and then add the new database to DAG2016.

%d bloggers like this: