With Exchange Server 2010 SP1 several High Availability enhancements came available. In this blog I want to point out the Powershell scripts that came available. Scripts makes life easy 🙂
The script is used to balance the active mailbox databases copies across a DAG. This script moves databases between their copies in an attempt to have an equal number of mounted databases on each server in DAG. If required, the script also attempts to balance active databases across sites.
If you need to update a DAG member, you can now start the StartDagServerMaintenance.ps1 script to the DAG member in maintenance mode. The globally follows the following steps:
- The script suspends mailbox database replication
- The script pauses the high availability node
- The script sets the DAG node on blocked (it cannot be activated)
- Moves all databases to all other nodes (depending on activation preference)
You can now safely update the Windows 2008 (R2) Operating System or Exchange without disrupting the synchronisation of the Exchange Mailbox Database.
After your maintenance has been done, you can stop de maintenance mode with the StopDagServerMaintenance.ps1 script. The globally follows the following steps:
- The script resumes mailbox database replication (This clears the ActivationOnly suspension.)
- The script removes the DAG node from being blocked (it can be activated again)
You can use this script to collect switchover and failover data. This script has been enhanced in Exchange Server 2010 SP1 to include metrics for continuous replication – block mode, and more details from the replication and replay pipeline. In addition, it also features enhanced reporting. For instance you can use the script for checking if there are at least two healthy replicas of a database and to alert you when only a single healthy copy of a replicated database exists. In this case, both active and passive copies are counted when determining redundancy.
This script is an active form of monitoring because it collects metrics related to continuous replication in real time while the script is running. The script supports parameters that enable you to customize the script’s behavior and output. The script gathers counter data from multiple Mailbox servers, writes each server’s data to a .csv file, and can then report various statistics across all of this data.