Configuring 'Shared Storage Clusters'
Surgemail can be configured in
a more traditional shared storage cluster configuration using an NFS (or other)
shared storage device for providing standard mail services.
In this configuration you have
several servers all running surgemail handling all mail services storing users
mail using the same central storage. The incoming connection load is shared
between all servers using an appropriate technique. This is typically a hardware
based load balancing router.
STOP! we think this is
the wrong solution for you - here's why |
The normal
reason for using this type of cluster are:
- To get
load sharing
- So you
can add servers as needed
- To create
a fault redundant reliable system
All of
these reasons are invalid or better done using surgemail's mirroring,
here's why:
- Load
sharing & Adding servers - this assumes the limiting factor is
the cpu, due to the speed of modern multi processor systems, this
is not the limiting factor, the disk IO is probably going to be the
limiting factor, so you gain nothing with the extra boxes. This is
because only improving the 'bottle neck' increases throughput.
- Redundant
failover etc - since only a single copy of the data exists on the
shared network drive, the system is not particularly redundant. Your
network drive may be raid or something else fancy, but it's still
a single point of failure - and network fancy drives are significantly
more prone to failure than simple internal disk arrays, this is just
a feature of complexity, always avoid complexity!
- Performance
- network drives tend to be significantly slower, this is because
small requests that would be cached on a local drive, cannot be cached
and must go over the network link. Even if the network link can cope
with the level of requests (and the limit is packets per second, not
bytes per second so a faster network may not help)
- Complexity/reliability
- the shared drive approach adds significantly to your systems complexity,
as a result failures are very likely to be more common.
- Some
features of SurgeMail will not fully work in this environment. (SurgePlus
for example can only be used on a single cluster member) Core functionality
should work fine though.
- In summary,
although SurgeMail supports this layout, we have almost never seen
a system where it was the 'right' solution to use, careful use of
mirroring and split functionality will almost certainly give you a
more reliable, faster, simpler system for less cost.
- But
there are exceptions, so if you are sure, proceed :-)
|
How to configure surgemail to use a shared NFS (or network) drive:
- You should
only share the 'mailbox_path' for each domain, do not share the workarea
or other directories within surgemail.
- g_share_quota
"true"
- g_share_mail
"true"
- g_pop_lock
"true"
- If you are
using a smart router or load balancing tool, read
this page
- Do not use
of the automatic account expiry and deletion functions such as g_delete_user_after
/ g_delete_user_mode / g_delete_user_suspend functions.
- To allow webmail
to be run on more than one host see
this page.
- In the surgemail
home directory sym link the directory 'resp' to a shared area (this allows
the auto responder to work correctly and each cluster member will remember
who has been replied to)
- g_autologin_file
"/shared/autologin.dat" - Where that file is shared between all
servers via nfs
- In addition
you probably should share the directory (suregmail home)/resp (We will provide
mechanism to do this on windows shortly)
- g_domuser_file
"/shared_folder/domuser.dat" - define the alias file in a shared
area so user aliases work
Warnings - Things to avoid doing in this configuration:
- You cannot
use surgemail 'mirroring' feature in addition to sharing the mail spool.
- Do not use
the migration mechanism on multiple shared hosts at the same time, as then
it will be in danger of converting one user twice at the same time.