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:

Warnings - Things to avoid doing in this configuration: