我有一个邮件域和两个服务器(机器)与Centos 6.4和公共IP地址。 Postfix邮件服务器和Dovecot IMAP / POP3服务器都安装在两者上。
我如何将它们冗余设置,使它们永久保持同步,以便我可以使用它们中的任何一个来发送和接收,并且如果其中一个服务器停机,那么将不会出现可见的中断? 收件箱和所有邮件是否应存储在两台服务器上以实现冗余?
您需要将Dovecot服务集群化。 这通常使用高度可用的共享存储(可以是像GlusterFS / RedHat GFS2这样的分布式文件系统),请参阅Dovecot Wiki获取详细信息。
也似乎可以使用dsync邮箱复制引擎来保持您的实例同步,而不需要共享存储。 在Dovecot博客上发表了一个处理这种实现细节的devise草案。 如果你走这条路线,确保使用最新的DoveCot 2.2版本。
传入邮件的SMTP服务不需要群集 – 协议是为容错实现devise的,没有单点故障。 您可以设置两个独立的Postfix实例,将其提供给Dovecot集群,并提供指向每个集群的MXlogging。
要让用户在停机期间无缝连接到SMTP和IMAP服务,请考虑使用类似于Pacemaker的群集资源pipe理器服务来提供虚拟IP地址,该服务将设置为立即将用户引导至正在运行的服务器,并且任何中断都将被真正忽略。 如果您不能将另一个IPv4地址作为虚拟IP使用,则只需将两台服务器的IP地址设置为DNS中单个标签的Alogging即可完成这项工作,但客户端可能会注意到不一致的行为或连接时间延长同时尝试连接到不可用或发生故障的服务器。