网站运营
位置:首页>> 网站运营>> Linux上使用Sendmail群集高可用/可伸缩的Sendmail的方法(2)

Linux上使用Sendmail群集高可用/可伸缩的Sendmail的方法(2)

 来源:asp之家 发布时间:2010-03-11 19:17:00 

标签:linux,服务器,硬件,Sendmail

测试方案

我们评估了几种测试方案:

单服务器;

循环 DNS;

负载均衡器;

基于 MX 的故障转移。

对于负载均衡器方案,我们尝试了 Alteon 180 设备和运行均衡软件的专用 Linux 服务器。我们使用一台主机逐一调整重要的配置因子来寻找最优的 Sendmail 配置。通过使用此测试的结果,我们得到了最优化的配置,并将它用于其它不同的群集配置中。

循环 DNS

DNS 循环是将多路到来的因特网 SMTP 流量分配到多台机器上的一种简单方法。在其最简单的形式中,针对某一个邮件服务器主机名,会输入几个 A 记录。每个参与的 Sendmail 服务器都被配置成以这个主机名的名义接收邮件。当发送方要将邮件传递给接收方时,就生成了一个 DNS 查询。其结果将包含该主机的所有 A 记录的列表。缺省情况下,大多数 MTA 实现会采用列表中的第一个成员。同一主机名的重复查询会产生 IP 地址的循环列表(这是 BIND/DNS 的一个特性)。例如,如果在因特网上查找名称us.ibm.com,会返回以下 IP 地址列表:

Name: www.ibm.com
  Addresses: 129.42.16.99, 129.42.17.99, 129.42.18.99, 129.42.19.99


重复查询,返回:

  Name: www.ibm.com
  Addresses: 129.42.19.99, 129.42.16.99, 129.42.17.99, 129.42.18.99


再查询一次,返回:

  Name: www.ibm.com
  Addresses: 129.42.17.99, 129.42.18.99, 129.42.19.99, 129.42.16.99


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

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

图 1

图 2

0
投稿

猜你喜欢

手机版 网站运营 asp之家 www.aspxhome.com