linux – Hot / Lukewarm邮件服务器设置
我们有两个邮件服务器(“dubone”和“dubdeuce”),一个完成所有工作而另一个空闲.我们希望设置一个设置,如果dubone忙或关闭,dubdeuce可以像dubone那样接受/拒绝/过滤电子邮件.
然后,一旦dubone再次可用,dubdeuce会将它存储的所有电子邮件推送到dubone,以便电子邮件全部在一个地方. 我们使用MySQL支持的Exim4和Dovecot,并可通过RoundCube访问.两台机器都运行Ubuntu Linux. 如何在两台机器之间同步数据库,以便dubdeuce始终是最新的(它需要正确地完成其工作),然后我如何指示dubdeuce将所有累积的消息推送到dubone? 解决方法
您在这里要问的是三个组件:数据库复制,邮件冗余和用户访问.
数据库复制很简单,MySQL documentation也很好地覆盖了它. 邮件复制通常与确保正确设置MX记录一样简单.如果dubdeuce不是主MX,它会在主服务器再次可用时将邮件转发到主MX. 但是,您还没有明确说明,但是包含roundcube意味着您希望第二个系统完全可操作,直到MUA为止 – 您希望用户能够阅读电子邮件.如果情况并非如此 – 你很高兴圆形立方体离线直到dubone回来 – 那么上面的组件将为你完成这项工作. 再一次:如果你想要的只是一个简单的系统,它将存储和转发电子邮件,直到主要回来,你只需要为mysql进行数据库复制并使用辅助MX.该系统应该始终处于运行状态,而不仅仅是根据需要进行旋转. 如果您想要一个完全冗余的系统,其中圆形框始终可用,那么您想要的是两个系统之间的共享邮件池.没有真正的方法可以将dubduece配置为主MX,并让用户能够从中读取邮件,并让它明智地将电子邮件转发给dubone. 所以,你需要一个共享的mailspool.这可能是充当文件服务器的第三个系统,为两个主要主机提供mailspool,但是由于锁定问题,长期以来建议不要将NFS用于mailspool. 它可以在两个节点之间使用DRBD,在主动/备份模式下完成 – 当一个节点发生故障时,使用heartbeat将另一个节点切换为活动状态.当第一个节点重新联机时,您还需要一个心跳过程来切换所有内容. 最后,您可以使用DRBD执行相同的操作,但在其上使用群集感知文件系统,并且两个节点始终处于活动状态.但这有点复杂.您也可以在节点之间DRBD整个邮件系统.并且有很多方法可以扩展 – 更高级的解决方案涉及SAN和Citrix Xenserver或VMware等VM堆栈. 为了我的钱,我会坚持使用主动/被动DRBD mailspool,无论是多主机mysql还是DRBD主动/被动支持的mysql,并使用heartbeat在故障转移时移动启用主动服务. 作为旁注,无论您采取哪种方式,都要确保在两个系统上配置相同的垃圾邮件/病毒/恶意软件/等扫描. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |