弹性Linux邮件服务器设置

弹性Linux邮件服务器设置

人们将如何设计有弹性的使用 Linux 设置邮件服务器?

在应用程序层面,系统需要提供的是收发邮件服务(即 SMTP 和 IMAP),以及过滤和存档存储(存档部分还不是很重要,所以我们可能会稍后再讨论)。

除此之外,还需要一个弹性系统,即能够在不中断服务的情况下处理单个服务器故障的系统。因此,我将其称为高可用性邮件系统。这与高性能邮件设置,在我们的例子中,处理的邮件量并不是重要因素,而只是它保持在线。

由于之前没有遇到过这个问题,我首先想到的是一个集群文件系统(gfs/gluster/etc),结合心跳,以便在服务器发生故障时将浮动 IP 故障转移到另一个机器。

结合 postfix 和 dovecot,这对人们来说听起来可行吗?

答案1

或者在 IMAP/POP 级别进行聚类,例如赛勒斯 IMAP。我在邮件服务器迁移期间使用了它的复制功能,效果非常好。没有消息丢失,而且它们到达哪个节点并不重要。

答案2

我猜 SMTP 部分相当简单 - 既用于过滤传入流量,又提供传出服务 - 它们是无状态的。因此对于这些 - 通常的主服务器 + 热备用服务器设置基于心跳并且分配给活动节点的“虚拟 IP”就可以了。

但是...当给定的服务器崩溃时,存在丢失传输中的消息的风险[例如,被反垃圾邮件检查或由于另一方的灰名单而被排队等待外发传递]。

对于负载不是太重的系统中邮箱的 imap/access,我会再次使用 master + hot-standby 配置,但这次我们需要添加邮箱复制。根据大小 - 每 10 分钟运行一次简单的 rsync 就可以了,但如果我们谈论的是数千个邮箱和每个邮箱中的数千条消息 -基于drdb复制的效果会更好。

通常的警告:如果您设置了 HA 集群 - 请定期检查 - 例如每季度左右检查一次。当您需要 HA 时发现您期望的 HA 并不是真正的 HA,这是一种非常不愉快的感觉。

对于 MTA 我通常使用后缀,对于 IMAP -导游,用于反垃圾邮件 -欧洲呼吸协会[现在似乎已经死了,但人们试图使它复活复活了] 或邮件清理器

答案3

在我的大学,我们使用 Cyrus IMAP 和 Postfix 的组合。Cyrus 在 3 个 VM 上进行复制。HA 集群具有相当不错的性能,并且服务于约 30,000 个唯一邮箱。

相关内容