Daryl Tester schrieb am Tue, Jan 08, 2002 at 05:58:21PM +1030: * Mark Newton wrote: * * > In any case, what I'm trying to end up with is a system built around a * > large filestore (suitably RAIDed for reliability) with multiple front-end * > systems (for scalability). * > * > I've noticed in the Cyrus documentation that NFS is not an option for * > doing this kind of thing, so I'm left wondering if there's some other way * > to do it. * * Coupla thing re: Cyrus. * * One method for scaling under Cyrus is to use an special front end to IMAP, * of which a couple leap to mind - The Murder IMAP Aggregator at * http://asg.web.cmu.edu/cyrus/ag.html, or Perdition, the mail retrieval * proxy at http://www.vergenet.net/linux/perdition/ . Not that I've (had to) * use either of these products, just that I'm aware of them.
I was recently involved building a system that is supposed to finally scale up to 1.5M users. At the front, mails are accepted by machines running postfix which relay them via LMTP to mailstore machines running cyrus if they are bound to a local user. They also proxy incoming IMAP/POP requests, using perdition. As user database, OpenLDAP-2.x is applied. Load balancing for incoming SMTP/ IMAP/POP connections is done by an F5 (layer-4-switch). The mailstore systems in the back are cyrus imapd-2.0.16. As perdition proxies the incoming IMAP/POP requests by asking the LDAP for the appropriate mailstore, no distributed/shared FS is needed. We avoided NFS for several reasons: a. It is not fast enough b. If a mailstore system fails, you may experience mount hangs c. Data corruption on the central datastore may kill the entire system When using separate mailstore systems that contain individual mail- box spaces (say: machine 1 has users beginning with a-c, machine 2 does d-f etc..), it will be fast and efficient - and when such a separate mailstore has problems, it won't affect users who have their space on the other mailstore systems. We also built HA for each mailstore, such that it are in fact two systems clustered by the kimberlite software mounting a shared RAID in a failover situation. See http://oss.missioncriticallinux.com/projects/kimberlite/ for details. As hardware platform we used stock 2x2 Compaq PCs (2G RAM, 2xCPU), OS: Linux-2.4.x, FS: reiser. We needed a lot of tuning and perl pro- gramming (to provide a reliable administration interface for the cyrus & LDAP), but it is now running very stable and *very* fast. (BTW: the hardware decision above gives hints that is also *very* inexpensive in comparison with commercial 1M user mailsystems without lacking reliability) Regards, - Birger