FAQ for Large Systems - e.g. 20,000 users and above
On other FAQ pages ...
We generally suggest that you start with a single mail server as a first step, as it is simple to set up and allows you to see how just one DMail server performs. It is not until you have run one of our servers that you will get a real feel for what your load sharing requirements are. This is a sensible approach as it lets you identify where the real load bottle necks are for your system, after which you can address them specifically, which may or may not include running multiple servers.
However, whether you want to do that to start with or not, read on ...
DMail does support running multiple servers, which share both the user database and the mail storage area. In the manual, we term this a 'server farm' arrangement.
You can run multiple SMTP servers and have just one POP server, or you can run multiple of both.
You simply add one extra setting into each server's configuration file in order
to enable the sharing of the mail storage area,
You then point the setting,
Don't forget to RESTART both DMSTP and DPOP on each machine after doing this.
On UNIX platforms, the shared storage area would normally be a shared NFS drive. Our lock_id code turns on our own file locking system which enables the file sharing on an NFS drive. You might also need a shared drive for the authentication module files, e.g. for our NWAuth module you do need to share the directory where you place the NWAuth executable.
NB: We have recently made improvements to our file locking code so you should contact DMail Support to find out which version you should run if you are setting up a 'server farm'.
On Windows platforms, you need to use UNC style names (e.g. \\serverA\shared_drive\dmail) to specify paths for the settings above between the server machines for the mail storage area. You may also need to use a UNC name for the authentication module, e.g. our NWAuth module requires this. You can map network drives instead of using UNC names but UNC names have the advantage that if the server reboots then the path specified with the UNC name will be accessible, whereas a mapped network drive is not accessible until someone logs on and the mapping is created. Whether you use UNC names or mapped network drives, you MUST enable sharing on the folders that the servers are to share AND ensure that the correct permission for that shared resource is given - see the note below.
NB: the DMail servers are spawned by the DWatch service on NT, which will be running as the user 'system', so that is the user that the servers and the authentication module will also be running as. You cannot give access permission to a mapped network drive for the 'system' account, so you must change the NT DWatch service so that it runs as a specific user (in Control Panel, Services, Startup) and then give read/write permission for that user on the shared directories.