Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Background: We will be using Exchange 2010 to deliver time-sensitive email alerts to known users outside of our organization (lets call our org 'internal.loc').

The project calls for some sort of failover capability but without the use of MS Clustering services.

We have two Windows Server 2008 Standard machines. Exchange is installed on both and both are configured as Hub Trasnports. Let's call these two machines EXCH-A and EXCH-B.

The email alerts will be generated by our own custom business application. We also have another domain (let's call it alerts.foo) which will act as the sender of the alerts and the recipient of return email.

So here's a basic diagram of the mail flow:

Biz App > EXCH-A > SMTP-A > TO: user@external.com FROM: alert@alerts.foo

If EXCH-A fails, then we have EXCH-B on standby. Our biz app would first poll EXCH-A for a heartbeat. If there's no activity then our biz app would use EXCH-B to deliver the alerts.

Here a more specific description of the mail flow:

1) Biz App checks EXCH-A health.

2) If EXCH-A ok then proceed to use SMTP-A to deliver TO: user@external.com FROM: alert@alerts.foo.

3) If EXCH-A is unavailable then use EXCH-B/SMPT-B to deliver to user@external.com.

QUESTION: How do we handle the return email? Specifically in regards to Mailbox setup and DC/AD configuration.

Assume both EXCH-A and EXCH-B have mailboxes and assuming we have one internal user - alert@alerts.foo - acting as the sender and the recipient for return email.

With one machine, it's a more or less a vanilla setup. With two machines (in our poor-mans failover setup) how would we route return mail if EXCH-A is not available. Is it possible to setup up two discreet mailboxes for the user alert@alerts.foo, one on each machine? Or perhaps the two mailboxes should be "synced"?

Would be grateful for any help and, of course, I'll be happy to elaborate as needed.

share|improve this question

2 Answers 2

up vote 0 down vote accepted

You could setup a group called alert@alert.foo and bounce copies of the messages to both servers.. The hub transport should attempt to deliver the messages to both and simply leave the messages in the queue on EXCH-B until EXCH-A came back up. Since you can send using the group email address, this might be one way to do it.. There might be other ways as well.

If you were using Enterprise, Exch would handle this for you using the built in Exch Clustering services. They work quite well to handle these scenerios..

share|improve this answer
    
Could they not use a CAS array and DAG with their current setup? –  Matt Aug 8 '11 at 21:20
    
@Matt - DAGs require Windows Failover Clustering, which is only included in the Enterprise version of Windows, which the OP doesn't have. –  Ben Pilbrow Aug 8 '11 at 21:21
    
Another thought assuming you are using windows for the BizApp server. You could use SMTP Virtual Server on the BizApp server and have it send mail directly instead. Then use the return address of the mail group like I mentioned above as the return address. This way it would eliminate the reliance on the Exch boxes to send mail. Of course then, you are adding an additonal mouth to feed on the BizApp server. –  MikeAWood Aug 8 '11 at 21:42
    
@Matt: Ben is correct. DAGs & Failover Clustering are not available for Windows Server 2008 Standard Edition. Hence our "Poor Man's Failover". –  VikenY Aug 8 '11 at 22:27
    
@Mike: Many thanks for your "Groups" suggestion. It's quite intriguing. But as I read it, it implies a third Exchange server: the Hub Transport which "should attempt to deliver the [Return] messages to both". Am wonder if I'm reading it right. As it stands there will always be one of four possible configurations: 1) EXCH-A and EXCH-B Available, 2) Only EXCH-A Available, 3) Only EXCH-B Available 4) EXCH-A and EXCH-B Not Available. I wonder if you could elaborate if there's more information I can provide. –  VikenY Aug 8 '11 at 22:35

I personally would leverage a TCP Load balancing coupled with Database Availability Groups, something similar like using HAProxy to leverage the SMTP load balancing which would allow you to refine this failover pretty far to meet your needs.

This should give you a "poor" man's failover solution that you are looking for.

share|improve this answer
    
The OP explicitly states they only have Windows Server 2008 Standard edition, which doesn't include failover clustering, so rules out a DAG. –  Ben Pilbrow Aug 8 '11 at 21:14

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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