Monday, 7 December 2015

Exchange 2013 to 2016 Migration (Part 1)

Introduction


In this multi-part series, we’ll cover how to upgrade from Exchange 2013 to Exchange 2016. This will include setting up a CAS co-existence scenario, migrating mailboxes and services then eventually decommissioning the Exchange 2013 server. 

At the time of writing, Microsoft have not yet updated the Exchange Deployment Assistant with instructions to migrate from Exchange 2013 to 2016 however there have been numerous blogs released about CAS coexistence which have helped write this article.

To read other parts in this series, go to:

Lab environment


In this lab, we have a single Exchange server called litex01 in the litwareinc.com domain which is running Exchange 2013 CU10. All clients connect using the name mail.litwareinc.com. We’ll install an Exchange 2016 server called litex02.


Exchange 2013 to 2016 Migration Overview


First of all, we’ll make a list of tasks that we’ll go through to migrate to Exchange 2016. We’ll just list these here then will go through the steps.

  1. Upgrade all Exchange 2013 servers to CU10 or later. This is a requirement before you can install Exchange 2016 in your environment. We won’t cover this in this post but it is here just for completeness.
  2. If you have any Exchange 2010 servers in your environment, these need to either be decommissioned or upgraded to SP3 UR11 or later. This won’t be covered in this post as we’ll focus more on the migration between 2013 and 2016.
  3. Decommission any Exchange 2007 servers. These are simply not supported in an Exchange 2016 environment. Again, we won’t cover this in this post.
  4. Check that you meet the pre-requisites to install Exchange 2016 in your environment.
  5. Install Exchange 2016 in your environment
  6. Configure the Service Connection Point on the Exchange 2016 server
  7. Install the required SSL certificate on the Exchange 2016 server
  8. Configure Exchange 2013 – 2016 CAS coexistence. There are different methods to do this. We’ll talk about them briefly and then I’ll demonstrate one of them briefly.
  9. Move mailboxes to Exchange 2016
  10. Move public folder mailboxes to Exchange 2016
  11. Migrate mail flow to Exchange 2016
  12. Decommission the Exchange 2013 server



Preparation


Firstly, we’ll check that we meet the requirements for Exchange 2016 to be installed in our environment. System requirements can be found here: https://technet.microsoft.com/en-us/library/aa996719(v=exchg.160).aspx. Have a read and make sure that you meet these requirements.

The next step in our preparation is to read the release notes as this ensures you don’t have problems down the line. See here: https://technet.microsoft.com/en-us/library/jj150489(v=exchg.160).aspx.

Size up your server correctly. This ensures that you have enough RAM, CPU and storage resources available for your server to perform correctly. Essentially, Exchange 2016 is sized the same as an Exchange 2013 multirole server but requires additional compute resources. See here for more information: http://blogs.technet.com/b/exchange/archive/2015/10/15/ask-the-perf-guy-sizing-exchange-2016-deployments.aspx.

Check that your clients are supported. Windows clients need Outlook 2010 with KB2965295, Outlook 2013 or Outlook 2016. As for Mac clients, you need Outlook for Mac 2011 or Outlook for Mac for Office 365. Upgrade your clients if needed. You’ll note here that Outlook 2007 was supported for Exchange 2013 but is no longer supported for Exchange 2016. The same is for Entourage 2008 for Mac.

Now that all the reading is out the way, (if you didn’t read it, shame on you!), we can start building the new Exchange 2016 server. Build your server and install a supported OS (either Server 2012 Standard or Datacenter or Server 2012 R2 Standard or Datacenter). In this case, we’ll use Server 2012 R2. Once installed, join to your domain and install windows updates.


Install Exchange 2016


Once you've gone through the preparation steps above, it's now time to install Exchange.
The recommendation from Microsoft for Exchange 2013 was to install multi-role servers but with Exchange 2016, the CAS and MBX roles have been merged so installing multi-role servers is no longer possible.

Assign correct permissions


For the first Exchange server in the organization, the user that performing the install must be a member of the Enterprise Admins and Schema Admins group in AD and a member of the local admins group on the server you are installing Exchange on.

We'll now go on to install the pre-requisites for Exchange 2016.



Install .Net 4.5.2


Install .Net 4.5.2 from here. Accept the license terms and click install:






Install Windows Management Framework 4.0


If you are not using Server 2012 R2 then you also need to install the Windows Management Framework 4.0. In our case we are using Server 2012 R2 so this is not required.


Install the Unified Messaging Communications Managed API 4.0 Runtime


Download the UMCM API from here and install as below:








Install the required Windows features


Use the below command to install the required Windows features. This command needs to be run on a single line and run from a PowerShell window with elevated privileges. Those who can remember extremely long PowerShell strings will note that this is the same list of features required for Exchange 2013.


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,RSAT-ADDS





The AD tools are included in the above command - this prevents issues with AD operations and the EXSetup program.



Download Exchange 2016


Download Exchange 2016 from here or the latest Exchange CU. The Cumulative Update includes the entire Exchange package. There is no need to install Exchange then install the CU.


image


Once downloaded, double click to extract Exchange.

image

Select a location to extract the files to. In this demo, we're extracting to C:\temp\Exchange2013-x64-cu10.


image

image






Run Exchange Setup


Once extracted, open up the location you have extracted to and double click on Setup.exe:

image

image

image

image

image

image

image

image

image

image

image

image

image

image


You should then be presented with a window to report a successful installation.



Confirm the installation was successful


To do this, run the command below. This will list all the Exchange servers, their roles and version. Check that your new Exchange server is listed with all the required roles.
Get-ExchangeServer


image

Also, review the setup log for any issues. This log file is C:\ExchangeSetupLogs\ExchangeSetup.log.

Configure the Service Connection Point


The Service Connection Point (SCP) is an attribute on the Exchange server object stored in AD which directs domain-joined Outlook clients to a URL to retrieve autodiscover settings. By default this is the FQDN of the server, e.g. https://litex02.litwareinc.com/autodiscover/autodiscover.xml. You need to change this immediately to stop Outlook clients connecting to it and getting a certificate warning when they are presented with the default self-signed certificate that is installed by Exchange. We’ll configure the SCP to reference our Exchange 2013 endpoint, in this case https://mail.litwareinc.com/autodiscover/autodiscover.xml:

Set-ClientAccessService -Identity litex02 -AutoDiscoverServiceInternalUri https://mail.litwareinc.com/autodiscover/autodiscover.xml

image

Conclusion


At the end of the first part, we’ve now prepared for and installed Exchange 2016 into our Exchange 2013 environment and configured the SCP. In the next post, we’ll install an SSL certificate on Exchange 2016 and configure Exchange 2013 – 2016 coexistence which prepares us for the mailbox migration. Click here for part 2.

16 comments:

  1. Great, thanks for creating this article, it provides complete information about migrate exchange 2013 to exchange 2016, but i tested this solution ( http://www.lepide.com/exchangemigrator/ ) which migrates any exchange server to exchange server 2016 or office 365 and provide facility to migrate mailbox and public folder data from any exchange server to another exchange server.

    ReplyDelete
    Replies
    1. Here is a tool that helped us in successful migration of mailboxes from Exchange 2013 to Exchange 2016 server with full accuracy and formats: http://www.recover-computerdata.com/exchange-server-recovery.html

      This easy to use solution not only helps in migration but also in recovery of lost/damaged mailboxes.

      Good Luck!
      - Jerry

      Delete
  2. I get this error when running the step "Run Exchange Setup":

    A previous version of Exchange Server is already installed on this computer. Run Exchange Server 2016 Setup from a different computer or remove the previous version of Exchange Server.

    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
    2. I'm done with Exchange server 2013 to 2016 mailboxes migration. Actually I already had a mailbox migration tool called Stellar mailbox extractor (for you reference: http://www.stellarservertools.com/extract-exchange-mailbox.php ) which did the migration without any hassle, so I haven't tested these migration steps in my lab yet. BTW, I appreciates the hard work of author for posting for such a knowledgeable and wonderful post. It will help all Exchange administrators (me too) who're planing to migrate mailboxes from current Exchange 2013 server environment to 2016.

      Absolutely great stuff!!

      Best,
      Patrick Wood

      Delete
    3. This comment has been removed by the author.

      Delete
  3. Wanted to note, you need to run the powershell install command first before you run the Microsoft UCM 4.0 install. When I tried running the UCM first, it gave me an error that media foundations wasn't installed on my server.

    ReplyDelete
  4. You're also forgetting to run the commands off the install disk on one of your AD servers:
    Setup.exe /PrepareSchema /IacceptExchangeServerLicenseTerms
    Setup.exe /PrepareAD /IacceptExchangeServerLicenseTerms

    ReplyDelete
    Replies
    1. This isn't actually necessary. It's good practice to do this first, but these commands will run automatically during the setup.

      Delete
  5. I can´t run the Set-ClientAccessService cmdlet, i get the following error:
    The operation couldn´t be performed because object 'xxx' couldn´t be found on 'domain'

    ReplyDelete
  6. Hi, Very nice description about StudentsOffice 365 Migration
    I like your web blog.Because whenever i come into your web blog
    then i always get the new interesting and important information in your web blog.

    Thank You

    Office 365 Migration

    ReplyDelete
  7. Very well written blog about the window migration services.I appreciate your hard work. Thanks.
    windows 8 to 10 migration
    windows 10 packaging

    ReplyDelete
  8. from someone who has done a lot of exchange migration you hit all the bases, this is helpful. thanks!

    ReplyDelete
  9. I think the classiest thing you have done here Mark Gossa is create some visually stunning , but kept it highly accessible too - truly progressive. Lovely stuff! Office365

    ReplyDelete
  10. This comment has been removed by a blog administrator.

    ReplyDelete