我有一个邮件域和两台服务器(机器),它们都安装了 Centos 6.4 和公共 IP 地址。两台机器上都安装了 Postfix 邮件服务器和 Dovecot IMAP/POP3 服务器。
我该如何设置冗余服务器,让它们永久同步,这样我就可以使用其中任何一台服务器发送和接收信息,而且如果其中一台服务器宕机,也不会出现明显的中断?为了实现冗余,收件箱和所有邮件是否应该存储在两台服务器上?
答案1
您需要集群化您的 Dovecot 服务。这通常使用高可用性共享存储(可以是分布式文件系统,如集群文件系统/RedHat GFS2), 看Dovecot 维基了解详情。
似乎也可以使用dsync
邮箱复制引擎,用于保持实例同步无需共享存储。有关此类实现细节的设计草案已在Dovecot 博客。如果您采用这种方式,请确保使用最新的 2.2 版 DoveCot。
用于接收邮件的 SMTP 服务不需要集群 - 该协议专为容错实现而设计,不存在单点故障。您只需设置两个独立的 Postfix 实例来向您的 Dovecot 集群发送邮件,并提供指向每个实例的 MX 记录即可。
为了让用户在中断期间无缝连接到您的 SMTP 和 IMAP 服务,请考虑使用类似于以下的集群资源管理器服务提供虚拟 IP 地址起搏器它将设置为立即将用户引导至正常运行的服务器,任何中断都不会被注意到。如果您无法腾出另一个 IPv4 地址用作虚拟 IP,只需将两台服务器的 IP 地址设置为 DNS 中单个标签的 A 记录即可完成此工作,但客户端在尝试连接到不可用或故障的服务器时可能会注意到不一致的行为或延长的连接时间。