我管理一个基于 Ubuntu Server 的小型邮件服务器,它使用:exim4 courier imap server spamassassin clamav 为 20 个用户的邮箱提供服务。它运行良好,但我想投入第二台服务器,以便获得更好的 IMAP 服务器可用性。我读到过使用代理来管理两个 IMAP 服务器以获得更高的可用性(我对负载平衡不感兴趣)。有人可以帮我做这项工作吗?我没有代理及其使用方面的经验。
非常感谢,
答案1
信息访问协议代理功能 通常不用于故障转移群集中的高可用性,而是用于创建水平扩展,即在多台服务器上分配邮箱,每台服务器保存特定用户的帐户。
这将提高可用性,因为如果您有 N 台服务器,每台服务器保存总邮箱的 1/N,那么当一台服务器发生故障时,只有一小部分用户会受到影响。
如果您希望通过多台服务器实现高可用性,其中每台服务器将支持每个邮箱,那么您首先需要设计如何让所有服务器访问和修改相同的电子邮件存储,即 Maildirs 以及用户接收和发送的实际消息。(NFS、集群文件系统、复制、SAN 等)
然后,您需要在所有这些服务器上同步帐户和密码。
只有这样,您才能开始设计故障转移(例如使用 keepalived 和/或 HAProxy)。
完成所有这些操作后,您将了解到 HA 集群通常根本不会提高可用性,并且由于其复杂性,中断持续时间更长,发生频率更高(部分原因是操作员错误)。