Re: [exim-dev] Questions about: build, api docs and multiin…

Startseite
Nachricht löschen
Nachricht beantworten
Autor: Viktor Dukhovni
Datum:  
To: exim-dev
Betreff: Re: [exim-dev] Questions about: build, api docs and multiinstance-features
On Mon, Sep 28, 2015 at 01:46:36PM +0100, Jeremy Harris wrote:

> > Q: Is exim4 allready multiinstance (parallel ques, parallel configfiles,
> > parallel mta instances without using virtualization technology like
> > vmware, kvm, jails) capable?
>
> Yes, except there's only one TCP port 25 on the system.
> However, there is rarely any need for being multi-instance;
> a single instance can manage multiple domains.


Multi-instance support is not generally needed with Postfix either.
Reasons to consider multiple instances can be:

    * To take advantage of separate queues with different
      tuning, transport selection, ...


    * To provide (mostly cosmetic, but some people seem to care)
      distinct outbound MTA "personalities" with different HELO
      names, and different source IP addresses in outbound mail.


    * To partition complex configurations into multiple simpler
      configurations.


Most users have simple enough requirements and don't find these
compelling. The main reason I built multiple instances is that
with content-filters it can make sense to separate the pre-filter
and post-filter queues. I also wanted to deploy essentially
unmodified null-client configurations onto all machines whether
they were MTAs serving multiple hosts or not. Splitting things up
made it easier for me to deploy Postfix to thousands of machines,
and dozens of MTAs. This is not something I do on my personal
single-host domain.

Back to the OP's question: with Exim, it is of course possible to
run multiple daemons with separate configurations. What's "missing",
but not difficult to add yourself, is creation of per-instance
queue directories, and per-instance start scripts. It is perhaps
also a bit more difficult to "discover" which instances are deployed
and running on a machine, but that too is easy to build.

I don't know whether Exim package upgrades ever need to automatically
update existing configurations. This is is the one area where if
one is operating multiple instances it might be useful for the
package to be able to find all the configurations via a standard
interface, and update them all.

Mind you, it is unfortunate that Debian (for example) breaks Postfix
multi-instance support by shipping an incorrect "postfix-files"
file, and likely various package triggers that don't work as well
with multiple instances as they should.

So while Postfix makes it easier for downstream distibutions to
support multiple instances, they do have to construct the package
correctly, and avoid scripts that bypass the official interfaces.

-- 
    Viktor.