如何使用 postfix 把邮件服务器分成多台物理机?
我希望一些用户在一台服务器上,一些用户在另一台服务器上,并且 5xx 节不会出现任何问题。
我想做一些类似 Postfix 集群的事情。
或者部分用户帐户在单个服务器上以字母 A、B 开头,在另一台服务器上以字母 C、D 开头,等等?是否可以使用 Postfix?
感谢您的答复。
答案1
这是完全可能的,但也有一些注意事项。
最简单的方法是使用负载均衡器,然后使用单独的邮件存储(NAS/SAN/任何您喜欢的)和 MySQL(或任何其他)后端,如果您愿意,可以冗余。您的邮件服务器的公共 IP 被分配给负载均衡器。邮件本身存储在单个邮件服务器之外,这样,任何一台机器不可用并不意味着人们无法访问他们的邮件。单独的数据库意味着用户数据是共享的,因此任何服务器都可以验证任何用户。
这是一个非常基本的概述。
需要注意的是,每台服务器都有自己的队列(用于接收和发送邮件),这些队列不能在服务器之间共享,因此如果任何一台机器出现故障,可能就必须做一些工作(如果您使用某种外部存储,如 NFS,这种情况可以得到一定程度的缓解,但您在容错能力上获得的优势会以速度上的损失而损失)
另一个需要注意的问题是会有一些重复的请求,您需要确保您的 LDA 知道集群(Dovecot 变得相当好),因为如果您没有充分利用缓存,构建/重建大型索引可能会很重的负担。
读一读,你远不是第一个对这种想法感兴趣的人。