From: Chris Higgins
Date: Thu 31 May 2001 - 11:07:26 IST
> Morning all,
> I have this dude who has at present an Exchange mail server with about 1200
> users (40 MB each user/ POP3).
> They now want to set up a Linux Cluster (2 nodes) with email server II /
> IMAP4 with Proliant servers.
> In the beginning there will be about 3000 users (in the end 7000 max.).
> Total storage needed in
> the beginning 300 to 500 GB.
> Now my question is : What type of solution are we talking about? Will IMAP4
> work with 7000 users? Now I am a TOTAL newbie when it comes to mail so go
> easy on me boys and girls.
The 'gotcha' here is not the total user base, but how many of them are active
at one time.. If all 7000 users want to hit this server at one go in the
morning - or if 80% of them have their mail client configured to poll every
10 seconds then you have a very different design requirement than if you
have 100000 users, and they only check for mail once or twice a day..
If you are building this solution cleanly, how easy is it to standardize the
configs that the users see ?
Can you change their outbound smtp server name ?
Start thinking about the design in terms of the functions that will have to be
performed, and then look at how/where you will do them.
For example, do all 7000 users need to send outbound SMTP email via this
If they do initially, will they need to always do it - if you have a defined
for the outbound smtp server - you can always move it around the place using
(so that if your cluster is overloaded with work - you can add a small box to
take all the outbound smtp activity and move the workload without changing
at the user end).
Does this cluster have to handle mailing lists / internal distribution
Is this an issue , is it likely to be an issue ? If so - does it make sense to
virtualise the mailing list function in the same way as the outbound smtp
Does this cluster need to be the part of the solution that puts the mail into
the users mailboxes ? If you have a central shared mailbox repository, then
you could have machineA as the lowest MX for the solution - and have it drop
the mail into the mailboxes... You could have machineB and machineC as the two
machines which deliver IMAP services to users (load balance or just go for
simple heartbeat failover), and then machineD is your outbound SMTP server.
Hell, you could even add in machineE which is the WWW server that provides
admin functionality - as long as all 5 machines were able to access the same
configuration files and user mailbox information everything should be happy.
The important point though - is that these five machines perform five clear
distinct functions. Each function will grow at a different rate, so by
conceptually separating them you can tweak and tune as the need arises.
There is also no reason why the function performed by machineA and the
function performed by machineD cannot be on the one physical piece of
So - to make this work smoothly - think of how you would scale this system
and then prepare for that.. make absolutely sure that *no-one* and
I mean *no-one* refers to the machines in a user side config as anything
other than the 'service name' that is associated with the function.
ie: deliver outbound smtp to 'smtp-out.customer.ie' not to
If you do that - then you can get as many users as you want onto your
solution - and 7000 users isn't that many. (just don't forget the
'max' argument to wait/nowait in inetd - cause with 7000 users you'll
probably need it)
> Help me ObiWan,
> Irish Linux Users' Group: ilug at domain linux.ie
> http://www.linux.ie/mailman/listinfo/ilug for (un)subscription information.
> List maintainer: listmaster at domain linux.ie
-- ** Chris Higgins e: chris.higgins at horizon.ie ** ** Technical Business Development tel: +353-1-6204916 ** ** Horizon Technology Group fax: +353-1-6204949 **
This archive was generated by hypermail 2.1.6 : Thu 06 Feb 2003 - 13:10:31 GMT