Exchange 2010 – Updating when using DAG

It's been a little nutso in the LifeChurch.tv IT world recently.  We've been a little stuck on some projects like Cisco Unity 7 / Exchange 2010 Integration (Engineering Special required) – which has been delaying our full Exchange 2010 rollout.  That's been annoying for sure.  We've also been neck deep in Ruckus Wireless migration at our Central / Edmond & OKC Campuses.

We're breaking inertia this week.  It's slow, but it's breaking and we're starting to move forward.

Last night, after several days/weeks of working with Cisco TAC, @mburleson made a giant breakthru on the Unity / Exchange stuff.  We decided to go ahead and fully update Exchange 2010 using Update Rollup 3 while we were at it.  To complicate things, we're running DAG – Database Availability Groups – so we had to update in the right order.  Here's some of the process.

First of all – we've got two boxes to update – so grab the update on both servers.

I found a great blog resource on updating Exchange 2010 when using DAG. Go read that. Really.

In our situation, we'll get started on the server Exchange01. Drop to the Exchange Management Shell (EMS) and run the following shell command:

Get-MailboxDatabaseCopyStatus
–Server (hostname) |
Suspend-MailboxDatabaseCopy
–ActivationOnly –Confirm:$false

This basically tells Exchange01 to NOT activate any databases if our 2nd DAG node goes down.  This doesn't stop hosting the databases.  That's next.  Let's activate all the databases to Exchange02.  Drop back to the EMS and run the following shell command:

Move-ActiveMailboxDatabase -Server (hostame) -ActivateOnServer Exchange02

or

Move-ActiveMailboxDatabase -Server (hostname)

The first command tells Exchange01 (hostname) to move all active databases to Exchange02.  The second command let's Exchange figure out which server on which to activate the databases. You can either be explicit or trust exchange to find the right DAG server.

Great – do that.  When it's done you can verify all the databases are mounted on a DAG server OTHER than the one you'd updating.  Install the rollup.

Screen shot 2010-04-27 at 9.40.14 PM

That's the one.  Click Next.

Screen shot 2010-04-27 at 9.40.22 PM

Accept the EULA.  Click Next.

Screen shot 2010-04-27 at 9.40.31 PM

Yes – I'm sure. Click Yes. And the installation starts.

Screen shot 2010-04-27 at 9.40.59 PM

Hooray!  Painless, but this seems "fast" for a rollup.

Screen shot 2010-04-27 at 9.44.20 PM

Ah – there it is.  That's why it's so fast.  Something got jacked along the way.  Our Update Rollup 3 ended prematurely.  What in the world does THAT mean?  Click Finish and let's go put out google-fu into practice by googling the error text.  Whatcha know, top link points to this blog that explains the issue as being a UAC problem.  I didn't turn off UAC of course, and I didn't run the update using elevated privileges so it barfed.  Crap.  So, we can fix using two steps.

1) Uninstall the update – because unlike the text in the error – it DID do something, just not what you expected.

2) Re-install using "Run As Administrator" – I did this from and Elevated Command prompt.

Let's uninstall.  Head over to the Control Panel, Programs, Programs & Features, Installed Updates and get rid of Exchange 2010 Update Rollup 3.

Screen shot 2010-04-27 at 9.45.52 PM

Go away.

Now, let's restart using an elevated command prompt.

Screen shot 2010-04-27 at 10.04.15 PM

That's better.  That's what I expected.  It takes a while to install a rollup because it compiles the binaries, etc.  Wait about 15 minutes.

Screen shot 2010-04-27 at 10.13.22 PM

Much better.  Click Finish.

Now, you're done with Exchange01.  Let's run another Exchange Management Shell command:

Get-MailboxDatabaseCopyStatus
–Server (hostname) | Resume
-MailboxDatabaseCopy

This one allows the box to receive/activate databases again.  You're done.

Now, do the same thing with Exchange02 – the second box on our DAG.

We're all done.  Hooray!  That was painless, huh?

1 thought on “Exchange 2010 – Updating when using DAG

Comments are closed.