We have 1 Active Directory forest and domain. We have 1 exchange 2010 server (on windows server 2008 SP2) managing all the email (delivery, receipt, and mailbox store). We were planning to add another exchange 2010 server to this setup so that we can distribute the load of the mailboxes to the second server. To be precise, given say 10 mailboxes , we would like to store 5 on one server and 5 on the second newly added server. Would this setup require a DAG setup?

From what I inferred on the documentation of a DAG, a DAG is more of a fault-tolerance setup. It involves a complete replication of your mailbox store over all the 'nodes' in the DAG. And in the case one mailbox store fails or is temporarily unavailable, the second mailbox store gets used. This would mean, in my example, that both servers would have all 10 mailboxes. Is that correct?

My question is if we can just distribute the mailboxes 50/50 over the two servers, and have half the users connect to the second exchange box, however still be able to email everyone else in the organization. What kind of a setup would that be? Anyone have links to guides, walk-through etc?

  1. DAG - Database Availability Group

Each Exchange server with the Mailbox role installed can have one or more mailbox databases, so if you only need to split your database load, you will need to create a mailbox database on the new server and move some mailboxes to it; end of the story. Of course, this means that if a user has a mailbox on ServerA and ServerA goes down, there will be no fault tolerance; users whose mailboxes are on ServerB will be fine, but users with mailboxes on ServerA will not be able to access them.

If you want redundancy, you will need a Database Availability Group; in a DAG, each mailbox database has one or more copies on different servers, only one of which is active at a given moment; if the server where the active copy of a mailbox database resides goes down, another copy will be made active and users will be automatically redirected to it. The down side of this is, you will at least need twice the disk space (because each database will have at least two copies), and some processing power of your servers will be used for data replication.

You also need to take into account that Exchange is not only made by mailbox databases: in order for it to work, you will also need at least an operational server for each of the two other main roles, Hub Transport and Client Access. Hub Transport servers are automatically load balanced and redundant, so you will only need to install the role on the new server and everything will be fine. The same is not true for Client Access: other than installing the role, you will also need to create a Client Access Array in a load-balanced configuration, which needs to be handled at the IP level. Ordinarily you could to that using Windows' built-in Network Load Balancing service, but there's a caveat specific to a two-servers scenario like yours: a Database Availability Group relies on Failover clustering, which is not compatible with Network Load Balancing.

The end result of this is, if you want a fully-redundant setup, you will need two multi-role (Mailbox, Hub Transport, Client Access) servers, a Database Availability Group, a Client Access Array, and an external hardware load balancer, without which you would need to either give up redundancy for the databases or for the Client Access role.


Yes, you can create a second Mailbox server (with a new Mailbox Database) and store half the mailboxes on that server. You would not need a DAG to do this. You would just set that second server up as an Exchange 2010 Mailbox server. Create a new mailbox database on in. Then move the 5 mailboxes to that new database.

Creating a DAG would allow you to have the two mailbox servers provide fault-tolerance for each other. In that scenario you would likely have MX1 with DB1 (5 mailboxes) and MX2 with DB2 (5 other mailboxes). MX1 would have a passive (or active) copy of DB2 and MX2 would have a passive (or active) copy of DB1. If MX2 were to become unavailable the 5 users whose mailboxes are in DB2 would then start to connect to MX1 for the DB2 database (if passive it would become active).

  • Cheekaleak, regarding the Hub Transport role being automagically load balanced, does that mean I will not need a inter-server smtp connector for mail delivery from one mailbox on MX1 to another mailbox on MX2? – Archit Baweja May 19 '11 at 21:19
  • No, you will not need an inter-server smtp connector for mail delivery from one mailbox server to another. – HostBits May 19 '11 at 22:44

DAG would be good, as long as you have the storage space to accommodate it. You're correct: in a 2-node DAG setup, both servers would have a full copy of both databases.

If you're trying to just separate out the databases without fault-tolerant replication, you can just install the mailbox role on the second server and move some mailboxes.

As far as connecting to the server, that part is handled by the CAS (Client Access Server) role. Splitting out mailbox access across CAS roles can be tricky, but this guide has some ideas for you: MSExchange.org - Load Balancing CAS

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.