Ian P. Christian wrote:
You could do something similar by NFS mounting maildirs across a cluster.
You can create multiple frontends with this - but you'll still have one NFS
server, or perhaps multiple NFS servers. You would have to create the logic
and system that allowed the frontend IMAP/POP3 server to select the correct
backend. Also, due to the fact that cyrus keeps advanced indexes, cyrus
can't operate over an NFS share. Courier doens't provide an 'out of the box'
method for creating a two-tiered scalable IMAP cluster... as far as I know.
I've seen this argument many times, on a mailing list I'm on the argument...
sorry, 'discussion' often occours, and it's nearly always courier vs cyrus,
and in this list community cyrus usually comes up top.
One day I think I'll setup a test system, and actaully run some benchmarks to
settle the dispute once and for all ;)
This Cyrus cluster stuff looks like a big pain in the ass for anything
larger than a few servers if that. Reminds me of the bad old days when
people wrote POP proxies to get around that fact that mbox was mostly
unworkable over NFS. I suppose it's a matter of scale and going with
Cyrus cluster might not be a bad idea if you need a decent sized system
and don't plan to grow. I see it having issues if your mail grows into a
truly large system, but that's probably not a problem most people really
have to worry about.
However your users are in a database or ldap because /etc/passwd just
doesn't work over 3k users. If you're users are virtual than you can
hash them a bit. Yeah you need some logic for account creation, but
after that it's dead simple.
/var/vmail/$1st-letter/$2nd-letter/$username
1-9 and a-f are on NFS mount #1
g-n are on NFS #2
o-z are on NFS #3
Hell to be honest you don't even need to hash things, but it does help
when you get to that million user range.
Have your servers mount up the space and you've completely avoided any
nonsense about which server has the info you're looking for. That and I
have more confidence in a dualheaded NFS box than J Random server being
availible.
In effect we trade some complexity on the database side, and we'd have
to have a db or lookup table anyway, for simplicity on the backend. That
seems much less brittle than the Cyrus cluster.
kashani
--
[email protected] mailing list