有关 IMAP 故障转移到辅助服务器的建议

有关 IMAP 故障转移到辅助服务器的建议

我最近接到一项任务,配置一个基于 IMAP 的电子邮件服务器解决方案,该解决方案结合了故障转移到备份服务器的功能。我在这方面有经验,但都是单服务器的东西。我对故障转移方面的选项进行了大量研究,但我想从比我更有经验的人那里得到一些意见。

要求是两个地理位置分散的服务器,并在主动/被动配置中配置故障转移。不幸的是,在我参与之前,解决方案的某些部分已经指定并订购。有两台服务器,通过相关 ISP 网络内的低延迟、高带宽链路连接。没有可用的共享存储/SAN,只有两台机器。ISP 的任务是提供一个系统,该系统监控活动机器并根据需要将虚拟 IP 地址重新映射到备份机器。另一个要求是,在故障转移到备份机器的情况下,必须保留所有邮箱数据。这似乎排除了一个更简单的解决方案,例如定期 rsync 到备份机器(如果我错了,请纠正我!)。

经过一番研究,我想到了一些可能的替代方案。我还没有深入研究过每一个方案,无法真正确定它们是否都是可行的选择,但它们如下:

  • DRBD 邮箱数据的实时块级复制
  • 某种数据库支持的邮箱存储,并配置了数据库复制
  • 使用 IMAP 服务器软件的内置复制功能

DRDB 开始看起来变得越来越复杂,考虑到我的时间限制,可能超出了我的能力范围。

我还应该提到,它需要基于 Linux 的解决方案。几乎肯定是 Centos/RHEL。至于使用哪个 IMAP 包,我愿意使用任何符合我要求的包。我目前正在研究一些,包括 Dovecot、Cyrus 和其他几个。

我非常希望大家能就上述选项和我可能没有考虑过的其他建议发表意见。我知道,如果不完全了解所有相关因素,您可能很难给出明确的答案,但任何意见都非常感谢。如果这有助于调整您的答案,我很乐意回答有关细节的任何问题。

非常感谢

答案1

Dovecot 有一个邮箱镜像实用程序 (dsync),可以帮助您实现这一点,而且由于其级别最高,因此可能非常高效。我不知道将邮箱存储在 SQL 数据库中需要多少资源,但我认为文件更快且更易于维护。

答案2

低延迟和高带宽对 DRBD 来说听起来不错。使用同步模式 (C) 复制所有相关文件 - 如果写入磁盘的所有内容都是事务保存的,则这将有效(取决于您的 IMAP 服务器)。

但是如果您的 IMAP 服务器内置了镜像技术 - 为什么不使用它们呢?如果您在交易期间发生故障转移,这可能会更节省交易。

相关内容