科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Linux下高可用/可伸缩Sendmail研究 (2)

Linux下高可用/可伸缩Sendmail研究 (2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

运行Sendmail的服务器群集能够在有竞争力的价格上提供高性能和高可用性。对于经验丰富的系统管理员,这一贯是常用的做法。本文描述了我们的研究,量化和描述实现高可用/可伸缩Sendmail 的方法。

作者:Jay Peter Clifford 来源:IBM 2007年10月16日

关键字: 操作系统 研究 Sendmail Linux

  • 评论
  • 分享微博
  • 分享邮件
 

在图 1 中,我们看到一个循环 DNS 正在运行。Sendmail 服务器的所有外部接口都直接连接到因特网,并且在 DNS 中发布。每台机器都充当 SMTP 路由器/缓冲器,从因特网获取邮件并将邮件传递到专用网上的某种公共邮箱服务器。这种方案很容易实施,而且很便宜,如果正确实施,它可以是无故障的。

图 2 说明了使用循环 DNS 的问题。由于 DNS 的工作方式和高速缓存 DNS 记录的可能性,如果某台主机发生故障,邮件代理也许仍会尝试联系它。至少,邮件会被延迟,一直等待连接超时,然后被排入队列,并在补偿时间之后重新发送。

图 1

图 2

负载均衡器

在最近几年,越来越多地使用了外部的工作负载导向器。这些专用设备可以在几个服务器之间巧妙地分配工作负载,以及处理故障转移/故障恢复。我们对 Alteon 180 交换机进行了大量测试。它允许我们创建虚拟邮件服务器。到达此虚拟服务器的邮件被循环传送到这三个真正的服务器中的每一个。如果其中一个 Sendmail 服务器由于某种原因发生故障,Alteon 将停止发送新连接到该服务器(定期检查该服务器是否已恢复)。

这种配置的优点之一就是它不具有循环 DNS 解决方案的缺点。由于只向全球公布一个 IP 地址,因此当添加/除去群集的成员时,没有理由担心高速缓存的项。由使用诸如 Alteon 180 和 F5 Network 的 Big-IP 之类产品所知,这种做法通常是切实可行的。但是,该设备可能非常昂贵,此外当然会增加另一个维护点。要提供最大保护并且避免单点故障,应该至少安装两个这样的设备。

图 3

图 4

基于 MX 的故障转移

这是传统的 Sendmail/DNS 配置。DNS 中的主机名可以有一个或多个邮件交换(MX)记录。这些记录包括一个加权因子。当其它 SMTP 服务器试图将邮件传递到此主机时,它们首先寻找 MX 记录及其对应权重。当有多个 MX 记录时,会选择具有最低权重值的 MX 记录。邮件将被传递到第一个主机(该主机应答时,具有最低权重/数字)。

在下例中,某个域具有两个 MX 记录,一个指向芝加哥办事处,权重为 10,另一个指向纽约办事处,权重为 20。在正常情况下,所有邮件都会经过芝加哥办事处,流经公司的 WAN,进行内部传递。

如果芝加哥办事处发生故障,或者到芝加哥办事处的路由发生故障,邮件将自动经由纽约办事处传递。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章