[Mailman-Users] Call for suggestions

Chuq Von Rospach chuqui at plaidworks.com
Wed May 9 06:00:49 CEST 2001


On 5/8/01 5:02 PM, "Ashley M. Kirchner" <ashley at pcraft.com> wrote:

>      a) NFS

I wouldn't even try.

>   or b) If mailman has a way of sending a signal out when something changes on
> the .db files 

No, it doesn't. Doesn't necessarily need to.

>   What comes to mind with this last option though is, what happens if
> something changes on a remote server?  Now the master has to sync up...  Oy
> vey!  I think I just dug my own grave.

Here's what I'd do.

Take two machines. 

Machine 1 is foo.com. That's the "official" machine all of the lsits on. It'
where the list web site and databases live. It's the only place where data
is modified. Give is a host alias of smtpout.foo.com and admin.foo.com

Machine 2 is, say, smtpout2.foo.com. It has a mailman system on it as well
that's a duplicate of your main machine.

Set your DNS so your MX records show:

Foo.com:
    IN MX 5 smtpout.foo.com smtpout2.foo.com

What this'll do is cause the two machines to have equal ranking for
acceptance. Well behaving mail systems will pick one at random, so they
should accept incoming mail roughly 50-50.

Set up smtpout2 so that any email that has to be processed by the main list
server is forward to the appropriate address via the admin.foo.com hostname,
which isn't tied to the shared MX record. That'd include all of the -admin
addresses, for instance.

Set up smtpout so that every so often (say, 15 minutes), the ~mailman/lists
subdirectory gets rsynced to smtpout. That causes all of the databases on
the main machine to be cloned out to your slave. IMHO, you ought to ship it
to a temporary directory and a script that's smart enough to recognize
mailman locks would to the actual move into production, but that's up to
you.

You have to make sure all of the sendmail aliases point to the right place
on both machines. Adding a new list is an exercise in anal detail-watching,
but technically not challenging.

You now have two machines with clones of the lists on one, and only one
system updating the data. The clone is never updated, so you don't worry
about syncing data between the two. And mail will more or less be split
across the two, except for admin mail where it has to go to the main machine
(if you REALLY want to be fancy, add a third machine, have two machines
dedicated to sending out data, both clones, and one dedicated to ONLY
database management and update and the web pages. That can be done by
tweaking the MX records differently, and is probably easier than doing two
machines, actually, because the load balancing is clearer)

One thing you CAN'T do in this setup is digests, so you'll need to disable
them. Half of your messages are on one machine, half on the other, and
there's no way to merge them into a consolidated digest (or maybe there is,
it's an exercise left to the reader)

One note: your archives are scrod in this format. I'm sure you could sync
all this bac togheter, if you really wanted, but what I'd do is the
"subscribe an archive address to the list" method and not attempt to run
archiving through mailman.

This is off the top of my head. I've probably missed something, but it
should work with some work...









More information about the Mailman-Users mailing list