Installing Exchange 2013 CU1 on DAG member servers - some care and maintenance mode required

Once Microsoft released Exchange 2013 CU1 on April 2, thoughts turned to installing the new software. If you already have Exchange 2013 RTM on your servers, CU1 is installed using a build-to-build (B2B) upgrade (setup /m:upgrade). Because a cumulative update is essentially a brand new version of Exchange that can be installed on a new server without the need to first install the RTM version of Exchange 2013, it takes a little longer for the installation to complete than when you apply a roll-up update to Exchange 2007 or Exchange 2010. However, the installation is straightforward and with a little planning, should not cause any concern.

These are the steps that I followed to successfully update a number of multi-role Exchange 2013 servers running on Windows 2012:

  1. Make sure that servers are up to date with any patches made available through Windows Update. 
  2. Reboot servers, if necessary. It's frustrating to get into the setup process only to find that a server reboot is required.
  3. If upgrading servers in a DAG, make sure that each server is put into maintenance mode before proceeding with the upgrade (see below)
  4. Run the Exchange Setup program and follow the prompts
  5. Put the servers back into production once the upgrade finishes (CU1 required my servers to be rebooted, so I did this)

The only issue I ran into was when Setup queried the lack of the Microsoft Office 2010 Filter Pack on the server. This is technically correct insofar as transport rules and content indexing won’t be able to process OneNote and Publisher attachments if you do not install the filter pack. However, it’s safe to ignore the warning as Search Foundation includes the necessary filters for the vast majority of file formats encountered in email, which is what I did.

If you run Exchange 2013 servers in a DAG, you need to put the server into maintenance mode before you apply the CU1 update to inform Exchange’s Managed Availability monitoring and recovery infrastructure that the server is under administrator control and is not a candidate to accept workload. For example, you would not want Active Manager to attempt to activate a database copy on the server while the update is proceeding.

Exchange 2013 includes the Set-ServerComponentState cmdlet to control server components. These commands instruct server ExServer1 to drain down its transport queues and not accept any further messages, redirect any new messages to another transport server, suspend it from the cluster that underpins the DAG, block database activation and move any databases that are currently active on the server, and then set the server into an “inactive” state for maintenance.

Set-ServerComponentState –Identity ExServer1 –Component HubTransport –State Draining –Requester Maintenance

Redirect-Message -Server ExServer1 -Target ExServer2

Suspend-ClusterNode –Name ExServer1

Set-MailboxServer –Identity ExServer1 –DatabaseCopyActivationDisabledAndMoveNow $True

Set-MailboxServer –Identity ExServer1 –DatabaseCopyAutoActivationPolicy Blocked

Set-ServerComponentState –Identity ExServer1 –Component ServerWideOffline –State InActive –Requester Maintenance

Once CU1 is successfully installed, you can reverse the process with commands to bring the server back into an active state, resume it within the cluster, allow database activation within the DAG, and resume normal transport processing.

Set-ServerComponentState –Identity ExServer1 –Component ServerWideOffline –State Active –Requester Maintenance

Resume-ClusterNode –Name ExServer1

Set-MailboxServer –Identity ExServer1 –DatabaseCopyAutoActivationPolicy Unrestricted

Set-MailboxServer –Identity ExServer1 –DatabaseCopyActivationDisabledAndMoveNow $False

Set-ServerComponentState –Identity ExServer1 –Component HubTransport –State Active –Requester Maintenance

If you want some scripts to do the typing for you, check out the ones published by Michael van Horenbeeck.

Servers that return from maintenance mode won’t support any active databases so you should consider rebalancing workload within the DAG by switching over active databases from other servers, not least the server that is next due for the upgrade.

All in all, the Exchange B2B upgrade mechanism is now a pretty well-oiled machine that works without too much fuss and bother. Upgrading an Exchange 2013 server to CU1 won’t be painful; coping with the need to update servers every thirteen weeksto keep current might be a different matter.

Follow Tony @12Knocksinna

Discuss this Blog Entry 3

on Apr 5, 2013

Hi Tony,

MS provides StartDagServerMaintenance.ps1 & StopDagServerMaintenance.ps1 with Exchange 2010. MS did not provide such a script with Exchange 2013?

You are referring to Exchange 2013 Multi-Role Servers (CAS & Mailbox). Multi-Role servers are a best practice regarding Exchange 2010 but also with Exchange 2013? I can find very little information regarding Exchange 2013 Multi-Role Servers.

Regards, Martijn

on Apr 6, 2013

I had a look at the Start/Stop scripts that shipped with Exchange 2013. They don't contain the same steps Tony demonstrates above for Mailbox servers. They certainly don't contain the Transport steps.

Maybe we'll see updated scripts from MS in the near future, but Michael Van Horenbeeck has published one that works well by all indications.

on Apr 9, 2013

As Paul notes and I mention in the text, I recommend Michael's scripts... Or roll your own.

As to multi-role servers, I suggest that you use them whenever possible with Exchange 2013. I don't see the point of single role servers right now.

Please or Register to post comments.

What's Tony Redmond's Exchange Unwashed Blog?

On-premises and cloud-based Microsoft Exchange Server and all the associated technology that runs alongside Microsoft's enterprise messaging server.


Tony Redmond

Tony Redmond is a senior contributing editor for Windows IT Pro. His latest books are Office 365 for Exchange Professionals (eBook, May 2015) and Microsoft Exchange Server 2013 Inside Out: Mailbox...
Blog Archive

Sponsored Introduction Continue on to (or wait seconds) ×