On Wed, Feb 08, 2006 at 09:54:14PM +0100, Albert Shih wrote:
>  Le 08/02/2006 à 21:36:59+0100, Ralf Hildebrandt a écrit
> > * Albert Shih <[EMAIL PROTECTED]>:
> > > Hi all
> > > 
> > > Anyone can tell me if I can use LSMTP between a postfix server and a
> > > courier-imap server ?
> > 
> > What is LSMTP? Do you mean LMTP?
> 
> Well...honestly now I use sendmail with mbox with uw-imap. But I need to
> enlarge (very) the server.
> 
> Someone tell me the Cyrus imap is better than Courier-imap (Please don't
> troll) because (this is what I understand but I never use it) it's easy to
> split physicaly the smtp (with anti-virus/anti-spam/etc...) server and the
> imap server. And between the smtp server and the imap server we can use
> LSMTP (L for Ligth) protocol. The difference between LSMTP and SMTP is the
> first is very light and more faster than SMTP.

I think you are mistaken. I've never heard of 'Light SMTP' - can you point
to an RFC? And in any case, Cyrus definitely uses LMTP, the Local Mail
Transport Protocol, for accepting incoming mail. (RFC 2033)

courier-imap doesn't receive mail at all, of course. If you want your
courier-imap server to accept mail via SMTP, you have to run an SMTP daemon;
if you want it to accept mail via LMTP, then you have to run an LMTP daemon.
People on this list say that Postfix can act as an LMTP daemon. (My MTA of
choice is Exim, but although it can send mail using LMTP, it can't receive
mail using LMTP)

If you go down this route you will have:

         SMTP                     LMTP
     --------------> Postfix --------------> Postfix 2 +
                     server 1                courier-imap
                     [router]                [mail store]

You could substitute Cyrus for the mail store; it has both LMTP and IMAP
components.

This architecture is fine if you want to build a proxy-based cluster. You
have a number of mail store machines at the backend, and incoming mail is
delivered to the right one for each recipient by means of the router Postfix
server 1, which will do a database lookup for each one.

You will also need a POP3/IMAP proxy on the front end, so that incoming
POP3/IMAP connections are also routed to the correct backend server.
courier-imap has such proxying capability itself; if you are using Cyrus, I
think it comes with a proxy you can use.

The downside of this architecture is how to make it resilient. Each mailbox
is stored on only one backend server, so if that server dies, all those
people's mail is lost (although everyone else's mail continues to work).

At Cambridge University, they got around this problem by adding their own
custom hacks to Cyrus so that it could run as a master-slave mirrored pair.
That lets them build a big cluster using commodity hardware. If you're
interested in this approach, there are a couple of excellent papers here:

http://www-uxsup.csx.cam.ac.uk/~fanf2/hermes/doc/talks/2004-02-ukuug/
http://www-uxsup.csx.cam.ac.uk/~fanf2/hermes/doc/talks/2005-02-eximconf/

You can use this architecture with courier-imap, but courier-imap also lets
you go a different route:

         SMTP                      NFS
     --------------> Postfix --------------> NFS server
                     server                  [mail store]
                     [MX]
                     courier-imap
                     server
                     [POP3/IMAP]

In this case, mail is stored using operations to an NFS server, which is
dumb as far as mail is concerned: it doesn't know anything about mailboxes,
just files and directories.

This approach works very well in practice: it can be more efficient because
only one database lookup needs to be made for each incoming piece of mail
and each incoming POP3/IMAP connection, and it's easy to scale, by adding
more MX frontends, more POP3/IMAP frontends, and more NFS server backends.
(You just mount these on different directories, say /mail1, /mail2, /mail3
etc, and the database includes the full path to the user's Maildir, so you
can specify which users are on which NFS servers)

The only hard part is making an NFS server which is fast and resilient. You
can buy your way out of this problem, by getting something like a Network
Appliance NFS server (www.netapp.com). Using their clustered machines, like
the FAS270C, you have two independent NFS server boxes, each of which can
take over the disks belonging to the other front-end if it fails. The
performance is astounding and they are also easy to manage, e.g. you can
grow volumes on a live system just by adding more disks.

HTH,

Brian.


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642
_______________________________________________
Courier-imap mailing list
[email protected]
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-imap

Reply via email to