我计划将一些 WHM/cpanel 帐户移动到新服务器,我的印象是在过渡期间,即使文件已被复制到新服务器,一些电子邮件也可能会进入旧服务器。
是否可以防止这种情况发生,以便转换期间所有收到的电子邮件不会丢失?
答案1
好的,从您的评论来看,这相当简单。
- 将电子邮件服务器 TTL 的 A 和 MX 记录更改为较小的值 - 60 秒
- 等到当前 TTL 过期,这样每个人都可以使用新的 60 秒 TTL
- 关闭 exim
- 在当前服务器上进行完整备份,在新服务器上进行完整恢复
- 更改 DNS 记录,并将 TTL 恢复为合理值
因为您已经减少了 TTL,所以您的停机窗口会很长,因为您需要备份/恢复文件并更改 DNS。
答案2
另一种方法(如果您绝对不能接受任何停机时间)是使用 Postfix 或类似方法作为延迟中继。
你可以启动服务器作为中继, 进而配置扫描阈值非常高(并且如果您的维护窗口增长,则继续扩大它,这通常都是这样的 :p )。或者,您可以用防火墙阻止任何出站中继/发送尝试,这样 Postfix(或任何其他东西)就会重新排队消息。
网络/DNS 方面,您需要如上所述设置中继/延迟服务器,将旧的 MX 记录指向它(使用 @Paul 提到的 TTL 减少),进行维护,将 MX 记录指回它应该去的地方,将 Postfix 中的中继主机更改为指向该记录(它可能会感到烦恼,因为它认为它指向自身,在这种情况下您需要第二个临时 MX),然后让它处理队列。
解释起来有点零散。如需更多信息,请查看这个 ServerFault 问题和本指南。这应该会让你走上正确的道路。
再说一次,如果您可以接受一点点停机时间,那么@Paul 的解决方案就简单得多。