Performing A Like For Like Exchange Server Migration
Performing A Like For Like Exchange Server Migration
Very often I receive a question about migrating from one Exchange server to another
at the same version of Exchange – or what I refer to as a “like for like” migration.
The common reasons for this type of migration are:
• Physical to virtual (P2V) migration (replacing a physical server with a virtual
machine)
• Physical to physical (P2P) migration (replacement of physical hardware with new
hardware, usually due to warranty expiring)
The ultimate goal is to migrate all of the data and services from server A to server B.
In this article I’ll provide an overview of this process and some resources you can use
to make it easier.
Q: Can I just copy the whole database across instead of migrating mailboxes?
A: Technically yes, using database portability. But I don’t recommend it. Database
portability is a recovery solution, not a migration solution. It will require a lengthy
outage, and it carries the risk that some problem with the new server will impact all of
your users at once. Better to do a small pilot migration first to test the new server’s
stability, then migrate the rest of the mailboxes in manageable batches.
Scenario Overview
A simple like for like scenario involves a single Exchange server that is responsible
for internal and external RPC/HTTPS clients, as well as internal and external SMTP
services.
Make sure your operating system configuration is built to your normal standards and
includes any extra considerations such as third-party products, updates, backups,
monitoring, antivirus, and so on.
Client Access
For Exchange Server 2013 and 2016 you should configure the client access
namespaces to match the current server. You can read more about how and why to
configure client access namespaces in the following articles:
Configuring the namespaces on a server can be performed quickly and easily using
my ConfigureExchangeURLs.ps1 script.
For Exchange Server 2010 there is an additional consideration for the CAS Array (or
RPCClientAccessServer). If there is already a CAS Array defined for the AD Site, then
there should be no problems with this. If there is not a CAS Array defined for the site,
then you may run into problems when you decommission the old server. To
understand this issue more and learn what to do about it review the following articles:
• Outlook Clients Unable to Connect to Exchange After Client Access Role Moved
• Getting Started with Exchange Server 2010 Client Access Server Arrays
The new server will also need a matching SSL certificate. You can re-use the
certificate from the existing server if it is still valid.
Transport
Transport refers to mail flow internally and externally for the organization. My personal
preference is to pre-configure and test transport at this stage of the project, but not to
cut over to the new server just yet. There are two things to consider at this stage.
Transport size limits should be configured on the new server to match the existing
server. This means verifying that the receive connectors on the new server have the
same message size limits.
In addition to size limits, if you have a relay connector on the old server then you
should configure a matching relay connector on the new server:
You can test transport by using Telnet to send email via the new server. The tests I
like to perform include:
• Telnet from old server to new server (you don’t need to send an email, but
verifying that SMTP connectivity is successful is a good idea)
Mailbox Databases
For the new server, create and configure your mailbox databases. Make sure you’ve
got the database and log files located on the intended volumes, and that the mailbox
quota settings match the existing server’s databases.
Make absolutely sure that the new databases are being backed up. And by that I
mean don’t just add them to your backup job and hope for the best, actually verify the
backup timestamps on the databases, and perform a test restore (you’ll need to place
a test mailbox with some email items on the database first).
Add the Get-DailyBackupAlerts.ps1 script to your daily monitoring to ensure you don’t
have missed or failed backups going unnoticed in your Exchange environment.
Client Access
The client access cut over is primarily a DNS change. The client access namespaces
(including the CAS Array namespace for Exchange 2010) are updated in DNS to point
to the new server instead of the old server. As this is a high impact change there are
a few things you can do to minimise the risks:
• Configure a low TTL value (1 minute is good for cut over periods) for the client
access namespace records in DNS. This allows you to quickly roll back the
change to the old server without clients’ DNS caches causing them to continue
to try and connect to the new server for a long time.
• Use a hosts file to test the DNS change on one or a few clients first.
Internal DNS changes will take care of your internal clients, but external client
connectivity also needs to be cut over. If the public IP address that your public DNS
records resolve to is not changing then the cut over will be performed on your firewall
or edge device that is NATing connections to Exchange.
For inbound internet email, the cut over may be performed in different ways:
• If the public IP address your MX records resolve to is not changing, then the cut
over will be performed at the firewall or edge device that NATs SMTP traffic to
Exchange, or it will be performed on the smart host that handles incoming email
before routing it to Exchange.
• If your MX records are changing, review this article for some tips.
For outbound email the change is performed by updating the source transport server
on your send connector to replace the old server with the new server. If you like you
can leave both servers on the connector for a while, but that is up to you. If I’m going
At this stage, while you’ve still got mailboxes on the old server, Exchange will
automatically route email between the two servers as required. There’s no need to
create additional connectors for that to occur.
Mailboxes
Finally, move the mailboxes to the new server. Move a small pilot group first just to
iron out any last-minute issues that might come up, and then proceed with the
remainder of the migrations using manageable batch sizes.
Autodiscover should handle any Outlook profile updates that may need to occur as
part of the move. Otherwise, as long as the client access configuration is all good then
the migrations should be problem free.
If you experience corruption issues during the moves you can refer to Andrew
Higginbotham’s article on the ENow blog for some guidance.
For Exchange 2013 or 2016 the migration should include any public folder mailboxes
as well.
If anything has been missed Exchange setup will not let you uninstall the application.
Your own normal server decommissioning process also applies, as far as any
backups, monitoring, or other standard disposal procedures go.
So, don’t consider the article above to be a complete guide for all scenarios, but
hopefully it provides you with enough information to be able to successfully perform
your migration.
-eof-