I'm currently running Windows SMTP Server on a rented Windows 2003 Server VM. There are times when my hosting company network is down and my clients can't send their emails via the SMTP Server host I provide them with, e.g. smtp.mycompany.com.
I want to provide a failover solution so that if my primary Windows 2003 SMTP Server is down, all SMTP traffic will automatically be diverted to another VM hosted (smtp2.mycompany.com) located in another data center. Can this be done using Windows? I know there's HA proxy and Nginx but having to deal with Linux is beyond my capability - which is obvious otherwise I won't be asking such a novice question.:) However, I'm open to the possibility of renting a service that handles the failover. Thanks.
Answer
You're over-thinking the problem. DNS already has a solution for you: multiple MX records. Add smtp2.mycompany.com as another MX record for your domain, but give it a higher preference value than your existing MX records. Senders will generally prefer the server with a lower preference.
I say generally because some broken MTA's just pick a random one, and some pick just the first one. A vast majority of those broken MTA's are spammers so there's no real loss there.
But if these are internal email servers for handling outgoing email, then MX records aren't going to help you. Possible options include:
- load balancers (but you don't get data center survivability that way, only host survivability)
- DNS based fail-over (you'd have to wait for DNS replication and client DNS cache timeouts to occur)
- DNS load balancing (your client would have to be smart enough to repeat the DNS query for each SMTP retry)
No comments:
Post a Comment