> Ferry van Steen wrote:
>
> Hi there,
>
> we are working on building a redundant cluster as webserver. In other words we have 2 machines that will serve pages to the web and if one crashes the other takes over. These machines also will be doing load balancing so they'll both be responcible for 50% for the hits on the webpages, mail etc. They both have a partition that is an exact copy of the other machine, we do this by running intermezzo, a new tool that catches kernel calls and dupes them to the other configured machines. We've called this partition /bigdisk.
>
> Anyways to get to the point, we also want to run majordomo on both this machines, but I was wondering if this is gonna cause any troubles with the mailing lists and/or digests. The mailinglists will be on the /bigdisk partition so both copies of majordomo will access the same lists. Since for the mailinglists the server that recieves mail starts majordomo and sends I don't think this will cause any problems, but I'm wondering what will happen with the digests? As I understand they will be send out at a particular time or when the file is full or when there are enough messages in it... Since this will be the same for both machines I am afraid both machines will send the digest and people will get the mail twice then?
>
> Any suggestions/ideas to solve this would be greatly appreciated.
>
> Kind regards,
>
> Ferry van Steen
I think you will still be ok, even with digests. Whichever majordomo accepts the message for digesting, will also be the one that creates the digest. This is if you use digesting based on age, size, or number of lines from the -digest.config file. Digesting only happens if one of these settings is exceeded, and they are only checked when a new message is about to be added to the digest work directory. The place I can see potential for a problem is if your work directory is right at the point of creating a digest with the next incoming message, and both majordomos receive a new message for that list.
I am assuming that your .config files will also be stored on /bigdisk so that digest will always have the correct volume number and issue for naming the files correctly, and that intermezzo is as instant as writing to the local harddrive.
If you are running digest (or mkdigest) as a cron job, you will have a difficult problem. You will need to generate lock files when running digest so that the other cron will leave it alone. Simply touching and removing a file with tests for existance before running should do it.
Dan Liston
References:
|
|