On 25/07/14 00:01, Eduardo Ramos wrote:
You can use one or more instances of Dovecot on the same machine, as you can see here (http://wiki2.dovecot.org/RunningDovecot) "Running Multiple Invocations of Dovecot".
The problem with DNS round-robind is that if you server goes down, DNS continues resolving for it. I would recommend use some balancer like LVS+keepalived.
Consider that multi layer solution:
| LVS + keepalived | | LVS + keepalived |
| |
-------------- -------------- | Director 1 | | Director 2 |
| |
----------------- ----------------- | IMAP/POP/LMTP | | IMAP/POP/LMTP | | Backend | | Backend |
\ / \ / \ ------------ / -------| NetAPP |--------- ------------
Thanks.
Presumably each LVS (in VRRP setup?) has to talk to both directors, and the directors each have to talk to both backends. ASCII art is tricky :-)
I accept that I could run multiple dovecots on the same machine, true. And keepalived/LVS is a good plan, thanks.
The key point I wanted to confirm is that I need to run the lmtpds on the same set of backend machines as the imapd/popds, and behind the same directors, so that all sessions relating to the same user can be directed to the same backend. Correct?
Rather than trying to draw increasingly complex diagrams in ASCII, I've put some here (without the LVS layer): https://walnut.gen.nz/mail-architectures.png
I suspect that A is what I need, though the docs suggest that if I turn off writing of index files in lmtp, I could get away with one of the others, right? What disadvantages are there in that? One concern is the ability to scale up to more servers for some particular parts of the chain as load dictates - we're concerned that amavis might be a significant candidate. I assume amavis could go either in front of or behind the director.
Thanks, Richard