Many exchange admins will be a bit confused when it comes to designing an Exchange 2010 environment with large number of users and three or more copies of databases. The question is how to design the 2010 system to withstand the worst possible failure and still provide a good experience for the users during failover.
One design recommended by Microsoft is to design for all database copies to be activated. For example, if you have 30 databases (active & passive together) hosted on one server, then the design should have processor and memory requirements for all those 35 databases to become active on the server during a failure. This is the best possible design but will be very expensive.
Another approach recommended by Microsoft is to design for targeted failure scenarios. A simple rule is to design for automatic single node failure in a two node configuration, double node failure in three server configuration (manual activation for second failure) and for automatic double node failures where the DAG has four or more nodes. The appropriate number of database copies is required to meet each of these configurations and the copies be randomly & evenly distributed. In this design approach, it is recommended to restrict the number of databases that can be activated on a server during a failover, so that the server doesn’t activate more databases than it was designed to handle and thereby giving a very poor user experience.
You can configure a hard limit for the number of databases that can be activated using the cmdlet below. For limiting the server to 25 databases, run
Set-MailboxServer –identity “servername” –MaximumActiveDatabases 25
When the maximum number is reached, the database copies on the server won’t be activated if a failover or switchover occurs. If the copies are already active on a server, the server won’t allow databases to be mounted. This is something that needs to be looked into while designing a highly available, high performance Exchange 2010 environment.