How to Cluster MailEnable


MailEnable Enterprise and Enterprise Premium support being run in a cluster of two or more Microsoft Windows servers. Clustering your Windows servers allows you to add additional servers to your configuration as demand for resources increases, and also can allow for hardware failure in a server.


MailEnable stores all system data in a shared storage repository. Server specific information is stored in the Windows Registry (such as details about which IP addresses a service is bound to). This means that it is possible to install multiple server nodes and point them at the same storage repository. The mail services handle file blocking, concurrent access to the same configuration and email data, etc.  You can then load balance the servers, either by Microsoft load balancing, or by a third party load balancer.

Configuring A Shared Storage Cluster

A shared storage cluster involves pointing all MailEnable servers at a single storage location. The storage needs to be accessible over a UNC path. If the shared storage device is a NAS device, then it will either have its own Network Operating System (Windows or Unix/Samba/NFS) or it can be joined to a security realm or Windows Domain so that you can use accounts to secure directories. It is important that the shared storage allows IME_ADMIN and IME_SYSTEM full control. This typically means configuring these user accounts on the NAS with the same passwords as on all MailEnable member servers. Create a location on your storage where you would like to store the configuration and email data.

Creating a cluster can be done during the running of installation program or after the software is installed. During installation you will be asked for three paths. The first path is to the MailEnable Application Directory. For this you select a local path. This is where the program files will be installed to. The second path asked for is the Configuration Repository. For this path, select a shared storage location. The third path asked for is the Message Store Repository, which is where the email data will be stored. You should also select the shared storage location for this. Do the same process for any other servers that you add to the cluster. If you have MailEnable already installed on the server and want to join it to a cluster, or make it use external storage, this can be done through the administration program. Run the administration program, right click the Messaging Manager icon and select Properties from the popup menu. The window displayed allows you to change the path to the data and configuration storage.

It is very important that when MailEnable services run that they are able to access the shared volume. As mentioned earlier, you need to consider that MailEnable services run under local Windows accounts (IME_ADMIN and IME_SYSTEM), and both these accounts will need to access the shared storage. So after installation of MailEnable you will need to change all the MailEnable Windows services to run under the one account that has permission. The web applications run under IME_ADMIN already, so you should not change the IIS configuration settings. You can easily change the user for all the mail services in the administration program. Right click on the Messaging Manager icon, select Properties from the popup menu, and then click the Cluster tab in the window that appears. There is a button labelled "Change user for services..." that will do this task for you.

After installation you will need to configure all of the local options, such as IIS configuration, service options, etc. on each server. 

Using MySQL or SQL Server

If you are using MySQL or SQL Server for storing the configuration data, each server needs to have its ODBC DSN pointing to the same database server.

Load Balancing

By load balancing and clustering front-end servers (IIS, SMTP, POP, IMAP, etc.) the system can scale out easily from the front-end perspective. Ideally, there would be a single file service (probably network attached storage or a SAN) and point all the MailEnable servers to the same post office/configuration repository. This means that SMTP, IMAP, POP or MTA servers can be added as required and IP load balancing can be used to provide a clustered IP address. All services can be run on all the servers, as they handle the sharing of the data and configuration files. It is recommended to allow RPC between the servers for IMAP notifications. The RPC uses the server names to send the notifications, so if the servers are not in the same domain, or otherwise cannot resolve the server names, add the server name to DNS or the hosts file.


You need a license for each server you are installing the software onto. For ActiveSync licensing you only need the one license for the cluster. Contact our sales persons if you are purchasing two or more Enterprise licenses, as discounts apply.


The most common issue with configuring a clustered environment by far is configuring permissions on shared storage locations, and ensuring that the services running on the members have access to these locations. In order to test whether your cluster is configured correctly, you should use the managment console to create a new mailbox and verify that the mailbox exists when you attempt to access the management console from another server.

Assuming all your cluster members are able to configure the server via the management console, then you should verify that you are able to send and receive messages through MailEnable. If you are not able to do so, then you could run the services in debug mode to verify that the problem is related to the identity that the service under unattended execution. The MailEnable Knowledge Base has details on how to configure services to run in debug mode.


How to configure MailEnable web mail on a different server: Article ME020070

Postoffice connector not delivering messages when using external storage: Article ME020649

Diagnosing Cluster Issues: Article ME020720


Product:MailEnable (Ent-Any)
Class:HOWTO: Product Instructions
Created:19/03/2002 8:18:00 PM
Revised:Monday, August 16, 2021