Alan Judge wrote:
We're considering purchasing filer(s) as part of a mail system upgrade. Setup would be a cluster of redundant and very similarly configured machine around one or more filers containing all the real data (/var/spool/mail for customers, some web serving, and other stuff). Most likely all the clustered machines will do delivery to the shared area and POP/IMAP reading.
Our desired platform is PCs running FreeBSD (or perhaps BSDI). One major problem is that none of the PC Unix environments (FreeBSD, BSDI, Linux) have working NFS file locking. We could implement some hacks using file based locking, but I'm worried about the hassle and performance issues here.
In fact, even with working NFS locking, I'd be worried about sharing mail spools in this fashion.
Even sun have had problems getting the locking code right, I've heard...
I've also had advice from people who recommend avoiding NFS entirely and going for transparent proxies and multiple machines for scalability. But that leaves a reliability/redundancy issue (hardware RAIDs, s/w mirroring, ...).
What I'm wondering and perhaps people on the list can help is:
[snip]
- any advice/ideas on the locking issue
It all depends on whether you mean "shared mail queue" or "shared maildrops"... Sharing the mail queue is a big nono, really. None of the existing MTA's support doing this, and it will cause you slow mail delivery and general havoc.
Shared maildrops are a different issue. If you use something like qmail[1], OTOH, there are simply no locking issues whatsoever (and easy POP3 support, but no IMAP). We do something similiar (although propietary) for about 100,000 users, and it works well. Don't forget to set up a directory hashing scheme, though as 100,000 files in a directory will also cause you performance problems. :-)
-Dom