0

i manage a little mail server based on Ubuntu Server, with: exim4 courier imap server spamassassin clamav to serve 20 users mailbox. It works well, but i'd like to put in service a second server with the purpose to get a better availability of the IMAP server. I read about the use of proxy that can manage the two IMAP server to get higher availability (i am not interested in load balancing). Someone can help me in this job ? I have not experience on proxies and their use.

Many thanks,

user79792
  • 3
  • 1

1 Answers1

0

IMAP proxy functionality is typically used not for high availability in failover clusters but rather to create horizontal scaling i.e. to distribute the mailboxes over multiple servers, with each server holding the accounts for specific users.
That will increase availability because if you have N servers, each holding 1/N of your total mailboxes only a fraction of users is impacted when a single server fails.

If you want high availability with multiple servers where each server will support every mailbox, the first thing you need to engineer how all servers can access and modify the same email stores, the Maildirs with the actual messages your users receive and send. (NFS, clustered file system, replication, a SAN etc. etc.)
Then you'll need to synchronise the accounts and passwords over all those servers.
Only then you can start to engineer failover (for instance with keepalived and/or HAProxy).

After you've done all that you'll learn that frequently HA clusters don't increase availability at all and that due to their complexity outages last longer and happen more frequently (in part due to operator error).

HBruijn
  • 77,029
  • 24
  • 135
  • 201
  • Thank You for the answer, i understand you point of view. Is the following article: https://scubarda.wordpress.com/2016/10/30/configure-linux-high-availability-cluster-in-ubuntu-with-corosync/ a good start to put togheter an HA environment for IMAP servers ? – user79792 Aug 21 '17 at 05:57
  • That covers setting up failover but as the author states *"I don’t cover application replication/synchronization between the nodes"* ; take a look at his DRBD setup guide for that. – HBruijn Aug 21 '17 at 06:37