给定两台运行SMTP和IMAP服务的主机,最好如何让它们冗余,以便在另一台服务器出现故障时轻松接pipe。
请记住,没有其他服务器可以托pipenetworking文件系统,并且您必须假设这两者中的任何一个都可能中断。
Rsync必然会丢失邮件,除非它可能被类似fanotify或inotify触发。 即使如此,我甚至不想考虑磁盘I / O的设置。
你正在寻找的是DRBD保持文件系统同步http://www.drbd.org/ 。 这是自2.6.33以来的Linux内核
考虑一下实施这个。 有一个客户端(或更差的两个)同时访问不同主机上的相同IMAP邮箱可能会破坏一切。 所以你会在生产中破坏事物,而你只是想确保你在紧急情况下得到故障转移。
彻底testing所有的可能性和select。 为了使事情更容易,我将使用第二个作为半冷备用。 所有的SMTP和IMAP都将在一台服务器上安装分布式文件系统(DRBD)到另一台服务器上。 如果发生紧急情况,请先closures另一台IP地址,然后重新启动另一台IP地址。 在这种情况下,访问邮箱存储更容易pipe理,没有并发性,因此没有不一致。
另一方面,您可能希望在您的邮箱切片的位置进行负载平衡。 一半在一台服务器上交付,另一半在另一台服务器上交付。 在复制存储器时,您可以(在紧急情况下)切换到干净的机器并在其中运行所有邮箱。
总结:问题是并发访问存储。 解决这个问题,你可以有故障转移/高可用性/负载平衡。