--On 11 May 2005 19:10 +0200, Mario Lopez wrote:
I am seeking for a solution for having several SMTP/POP servers on different network locations, the problem is the following, we actually have one SMTP/POP server with MX backup to another server, ok this solution is ok for some scenarios but when the main SMTP/POP server goes down (it does not happen to much fortunately) the email is not lost but no one can access they email, and this tends to annoy people, is there any possibilty of having some kind of mirrored file system over the network so when one of the servers goes down the DNS would point them to the other IP (using the round robin dns feature or whatever) and people could download email?.
I have read about file system mirroring over NFS but it looks like something in development than a mature solution.
With POP3, you could configure MTAs to have deliveries go to both the real POP server and a 'live backup', then rsync the maildirs to remove deleted messages etc. Not very much use if you also need IMAP, though.
One possible setup that will work with OpenBSD mailservers goes like this:
Maildirs on big reliable NFS servers, to quote Adam back in 2003:
:> I think the best you can really do is get a NAS device, and put the maildirs
:> on it over nfs. As long as you get a real NAS device, not some cheap ass
:> one that is just a linux machine with a bunch of IDE drives in it, then it
:> should be pretty reliable. Still a single point of failure though.
Multiple POP3/IMAP servers and MTAs (and webmail/etc) on a bunch of cheap boxes work on those NFS-munted Maildirs - carp will work nicely to failover between these, and if you have a pf in front, rdr to a pool of carp-protected addresses to load-balance - this scales processor/ram easily, good for virus-scanning/spamfilters.
Of course you now have point-of-failure at the NFS servers, but you may find a suitable way around that (e.g. connect disk chain to two hosts, heartbeat between them, if it skips, mount the failed partner's disks - from a very brief glance, looks like this is approximately how e.g. netapp clustering works).
If you hadn't already done so, you'd need to implement centralised auth, and some way to map email address to username/maildir directory - either done by some fixed translation scheme, or by e.g. LDAP (more flexible - then you can do things like move individual users between different fileservers manually/automatically if it becomes necessary). Lots of ways to do all this stuff.