SMTP Routing Changed in a DAG

Posted by Jaap Wesselius in Exchange 2010, High Availability, SysAdmin on 03-02-2011

Tags: ,

In Exchange Server 2010 it is possible to create a Database Availability Group (DAG) where the nodes contain multiple server roles. For example, you can create a 2 node DAG where each node contains the Hub Transport, Client Access Server and Mail

box Server roles.

In Exchange Server 2010, all messages are routed through a Hub Transport Server in the Active Directory site. The Hub Transport Server keeps a shadow copy of the message (when supported by the receiving server of course) and the message is temporarily stored in the transport dumpster. When a mailbox fail-over takes place, the Mailbox Server will request the Hub Transport Server to retransmit the last messages to prevent any data from being lost during the mailbox fail-over.

But, if the Hub Transport Server containing the Transport Dumpster is on the same server (node) as the Mailbox Server, and the complete server fails, the other node in the DAG cannot request a retransmit of the messages since the Hub Transport Server failed as well. Therefore Microsoft made some changes in the routing mechanism when a DAG is involved.

Inbound SMTP

When an inbound SMTP message is delivered on node 1, and the recipient mailbox is on node 1 as well, an additional ‘hop’ is made and the message is rerouted via the second node. This way a shadow copy is created on this 2nd node, and the message is temporarily stored in the transport dumpster of this 2nd node as well. If node 1 completely fails the 2nd Mailbox Server role will request a retransmit of missing data from the 2nd Hub Transport Server role.

Inbound SMTP

Outbound SMTP

The mail submission service (running on the Mailbox Server), which is responsible for notifying the Hub Transport Server that a message is awaiting processing shows the same behavior. The mail submission service load balances outgoing SMTP messages between multiple Hub Transport Servers in the Active Directory site, without (if possible of course) using the Hub Transport Server that’s combined with the Mailbox Server that contains the user’s mailbox. Only if there are no other Hub Transport Servers available, the Hub Transport Server on the same Mailbox Server as the sender’s mailbox is used.

Hub Transport Servers outside the DAG

When there are more Hub Transport Servers in the same Active Directory site, and these are not members of the DAG, then the routing mechanism has a strong preference for these Hub Transport Servers. When an inbound SMTP message is received by node1 in the DAG, the message is routed via the Hub Transport Server outside the DAG as shown in this image:

Hub Transport Servers outside the DAG

This is also valid for the Mail Submission Service. The Mail Submission Service running on node 1 in the image will first contact the Hub Transport Server outside the DAG. This Hub Transport Server will process the message waiting in the mailbox located on node 1 in the DAG.

Write a comment