Brad Knowles wrote:
At 2:10 PM +1000 2004-06-29, Guy Waugh wrote:
I want to set up Mailman in a load-balanced fashion on two servers running within an LVS (linux virtual server) cluster. I want the two servers to act as the same Mailman instance.
Okay, so far.
The two servers will mount
an NFS shared directory from a third server, and the NFS mount will, I
guess, contain the shared Mailman stuff.
There's a problem. NFS sucks at operations that require lots of file locking. Of course, all queueing type operations involving mail servers involve lots of file locking.
This is why you do not ever put /var/spool/mqueue on NFS, whereas you can find ways to kinda-semi-sorta deal with the NFS locking problem for user mailboxes on /var/spool/mail (all solutions to this problem involve trade-offs that hurt performance in other areas).
The system I'm building already has apache on each of the two application servers in the cluster, and the web docroot is NFS-shared between the two from the third server I mentioned above, so there shouldn't be any dramas with the web archives that Mailman generates (unless there are file locking issues with these...?). Similarly, sendmail is a standalone app on both servers, so actually sending mail shouldn't be a problem. Mailman will be sending mail to other servers outside the cluster (i.e. no user accounts exist within the cluster). So, my only problem (I think) with this is going to be with Mailman...
Likewise, Mailman does file locking with the queueing process that it manages.
If you can find a way to put things on a proper clustered filesystem, that should work much better. Sistina GFS may work for you, or possibly Veritas VxFS plus their VCS tools.
I wasn't aware of those, so thanks for letting me know. We do run RHEL3, so GFS would be an option, but for US$2,200, I think I'd have an uphill battle justifying it. I see that NFS has an option of 'noac' (no attribute caching) which sounds potentially useful for me - I don't know whether that directly relates to file locking, though.
I've found a few things on the
web about load-balancing Mailman, but not much.
The thing is that you can run the web server for Mailman separate from the mail servers. So, you could cluster the mail servers in a scalable way that will work for you, and then separately work on the issue of building a scalable web farm solution for the rest.
Further, is anyone running Mailman in a load-balanced fashion like this?
Any hints/tricks/tips?
If you are interested in splitting of the mail cluster part of this equations, then I suggest you look at the parts of the FAQ that talk about performance tuning, especially the stuff in section 6. The most extensive entry is at <http://www.python.org/cgi-bin/faqw-mm.py?req=show&file=faq06.003.htp>.
OK, thanks, I'll check that out...
Regards, Guy.
------------------------------------------------------ Mailman-Users mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-users Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
