In Exchange 2010, Microsoft have made a script that you should run on an DAG Mailbox Server before you patch it. The script basically moves the cluster resources from the server you specify and suspends copying to the other node.
However, Microsoft’s script fails in a 2 node cluster. Unfortunately you need to do all the steps manually. Im going to run through how to below however lets make up some server names and a DAG cluster name so we know what were talking about and what I go through makes logical sense.
Mailbox Server 1 = DAG1
Mailbox Server 2 = DAG2
DG Cluster Group Name = MAILBOXDAG
PLEASE NOTE MY SCREENSHOTS ARE FROM A LIVE ENVIRONMENT
AND DO NOT REFLECT THE NAMES IN THIS EXAMPLE
In this example we want to apply Updates or Patch DAG1.
First of all open an elevated Exchange Management Shell and issue the command :
The mailbox database names and the status of their copy will now be displayed. We want to ensure they are all healthy.
As you can see in my example they are mounted ok on 1 server and all healthy on the 2nd. The blanked out fields are the server names. All the databases are currently mounted on DAG1 in this example.
Now we want to move all the active databases to the other mailbox server. Since we want to move the databases off DAG1 we Issue the command :
Move-ActiveMailboxDatabase -Server DAG1 -Confirm:$FALSE
Once complete run the command below to check they have moved ok.
Moving the cluster resource off DAG1 is the next step. The command below will move the Cluster Core Resources to the other node. Remember in my example the DAG Cluster Group is called MAILBOXDAG. Replace this value with your cluster name.
cluster.exe MAILBOXDAG group “Cluster Group” /moveto:DAG2
Once the Cluster Resource has moved we need to pause the node were going to patch within the Cluster. So we need to pause DAG1 in MAILBOXDAG with the command :
cluster.exe MAILBOXDAG node DAG1 /pause
We now need to block the Database Copy Auto Activation policy on the server were going to patch.
set-mailboxserver –identity DAG1 –databasecopyautoactivationpolicy:BLOCKED
You wont see any feedback when entered. It just takes you to the next line in the Shell window.
The last step before we can start patching is to suspend the database copies to DAG1.
Get-MailboxDatabaseCopyStatus *\DAG1 | Suspend-MailboxDatabaseCopy -ActivationOnly:$TRUE
It will now take you through every database and ask to confirm. Press Y when prompted.
Now your done. You can patch DAG1, reboot it or do whatever you want with it without the fear of the databases accidentely failing over etc.
Once your done patching your going to want to put everything back as it was. Fortunately Microsoft’s script to do this in 1 step works fine. To do this open an Elevated Exchange Management Shell and change into the Exchange scripts folder.
Thats it, the server should now start replicating again. Now you can crack on with your 2nd node. Login to it and repeat the steps above on it changing DAG1 to DAG2 in the commands.