是否有可能(以及如何)设置两台服务器来处理一个域(或两个域)的邮件,以便任何一台服务器都可以透明地停机一段时间(比如几天),即用户仍然可以通过 IMAP 修改自己的邮件(比如将其标记为已读、删除等)?
通过设置 MX 记录,可以轻松以任何方式传递邮件;但是可以用哪种邮件存储方式呢?在最佳情况下,它应该能够在两个断开连接的节点上更改数据,并在同步时合并(使用任何解决冲突的方式)(想到了 couchdb,尽管这里并不完全适用)。
我目前已安装 exim4+courier-imap,但用其他东西替换它们不会造成严重问题。
答案1
除非您遇到性能/容量问题,否则请坚持使用单个活动服务器。在这种情况下,您可以在主机和热备用之间 rdiff/rsync 邮件存储和假脱机,然后通过心跳监控或类似的自动化脚本进行故障转移。
如果确实遇到性能问题,首先要做的是将 MTA 拆分到单独的机器上,这样它就可以将其队列保存在 RAM 中而不会影响邮箱访问。邮件存储本身的磁盘容量始终可以升级。无论如何,IMAP 服务的性能瓶颈通常都在 I/O 级别。
如果用“某些东西”替换它们不成问题,那么 Exchange 2010 就是一个不错的选择。在传输和存储系统中设置冗余相当简单。