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

Reply via email to