Exchange 问答负载平衡、边缘传输及更多内容

Henrik Walther

问:我们有多台运行 Microsoft® Office SharePoint® Server 的服务器,它们均部署在公司的生产环境中。每台服务器都需要通过最近部署的 Exchange Server 2007 基础结构中的集线器传输 (HT) 服务器来中继传出消息。由于 SharePoint 服务器仅允许在“管理中心”|“操作”|“传出电子邮件设置”页面(如图 1 所示)中指定单个 SMTP (Exchange) 服务器的完全限定域名 (FQDN),所以我想知道如何才能消除该单点故障?

fig01.gif

图 1 SharePoint 管理中心页面上的传出电子邮件设置(单击此图像可查看大图)

答:这个问题提得非常好。因为许多组织都非常看重高可用性,因此他们无法接受在其公司生产环境中存在任何单点故障。对于消息和协作服务来说,情况更是如此。

Exchange 2007 HT 服务器默认具备复原能力。换句话说,如果在 Active Directory ® 站点中部署了多台 HT 服务器,而该 Active Directory 站点中的某台 HT 服务器不可用,则尝试发送消息的源 HT 服务器将转到 Active Directory 站点中的另一可用 HT 服务器。这种转移是通过循环 DNS 机制来实现的(如果列表中第一台 HT 服务器没有响应,则会尝试使用下一台服务器)。

因此,对于所有 HT 到 HT 和邮箱服务器到 HT(即组织内部)通信,我们无需关注高可用性(或负载平衡,就这一方面而言),因为它是 Exchange 2007 固有的功能。但请记住,如果在某台计算机上安装 HT 服务器角色而该计算机还安装了邮箱服务器角色,则当 Microsoft Exchange 邮件提交服务提交消息时,相对于 Active Directory 站点中的任意其他 HT 服务器而言,邮箱服务器角色始终会首选本地 HT 服务器(即使本地安装的 HT 服务器不可用)。

上述信息对于 SharePoint 服务器来说作用实际不大,但事先了解却非常重要。由于 HT 服务器默认具备复原能力,因此并不支持使用硬件负载平衡器或 Windows® 网络负载平衡 (WNLB) 功能对 Exchange 2007 中各个 HT 服务器之间的组织内部通信平衡负载。

实际上,对于使用 Exchange 2007 RTM 的 HT 服务器,其入站 SMTP 流量并无任何负载平衡支持。但 Exchange 2007 SP1 改变了这种状况。仅凭 SP1,仍然无法利用硬件负载平衡器或 WNLB 功能来对组织内部的通信进行负载平衡(也不一定非要做此平衡)。但是,可平衡从非 Exchange 源(如 SharePoint 服务器)和 Exchange 客户端(如 IMAP 或 POP 客户端)发出的入站 SMTP 流量,后者使用 HT 服务器的默认客户端接收连接器向 Exchange 2007 组织提交出站消息。

因此,要将 SharePoint 服务器配置为通过 Exchange 2007 SP1 组织中继消息,可以在 Active Directory DNS 中创建一条 DNS 记录,并将它指向可在多台 HT 服务器之间分发流量的硬件负载平衡器,或使用 WNLB 功能来实现此目标。要使用后一种方法,需为 WNLB 群集配置虚拟 IP 地址和 FQDN(如 mail.contoso.com),并在“端口规则”选项卡中添加端口 25(来自非 Exchange 服务器的入站 SMTP 流量)和 587(来自 IMAP 和 POP 之类 Exchange 客户端的入站 SMTP 流量)。图 2 显示了采用此配置的“端口规则”选项卡。还需确保将特定的虚拟 NLB 群集 IP 地址分配给这两条规则,而不是选择所有的 IP 地址。

fig02.gif

图 2 定义端口规则(单击此图像可查看大图)

配置完 NLB 群集后,需创建一个新的接收连接器,并应将其配置为在端口 25 上执行侦听且仅允许需要它中继消息的服务器使用该连接器。此外,请确保该连接器使用之前创建的虚拟 NLB 群集 IP 地址。

问:我们的消息传递基础结构基于 Exchange Server 2007。为使 Exchange 2007 邮箱服务器在硬件和存储级别都实现冗余,它们均为基于群集连续复制 (CCR) 技术的群集邮箱服务器。每个 CCR 群集中的主动和被动节点都处于同一个物理数据中心内。由于已将 Exchange 2007 服务器升级到 SP1,因此我们希望通过使用 Exchange 2007 SP1 中包含的新备用连续复制 (SCR) 技术来将邮箱数据库复制到另一站点上的邮箱服务器中,以提高服务和数据可用性。

我们知道,SCR 源可以是 Exchange 2007 SP1 独立邮箱服务器,也可以是基于 CCR 或单一副本群集 (SCC) 技术的群集邮箱服务器 (CMS)。但 SCR 目标服务器是怎样的情形呢?

答:SCR 目标服务器(也称为 SCR 端点)必须是没有为任何存储组启用本地连续复制 (LCR) 的独立邮箱服务器,或者是安装了邮箱服务器角色的 Windows 故障转移群集(以前称为 Microsoft 群集服务器)中的被动节点。这意味着可先构建故障转移群集,然后在该故障转移群集中的一个被动节点上安装邮箱服务器角色,但无法将群集邮箱服务器用作 SCR 目标。

问:我们组织将 Exchange 2007 用作消息传递平台。我们甚至决定将外围网络中原有的反垃圾邮件/防病毒解决方案替换成一个解决方案,它主要采用安装了 Forefront™ Security for Exchange 的 Exchange 2007 边缘传输服务器,这样我们就能够从多层消息保护和安全性中获益。我们计划在不久的将来至少再部署两台边缘传输服务器。

我的问题也是由此而生。我们应如何平衡入站 SMTP 与邮件保健解决方案(基于 Exchange 2007 边缘传输)之间的连接负载,从而分摊负载并使其完全冗余呢?

答:如果外围网络中的边缘传输服务器是面向 Internet 的 SMTP 服务器,则可利用 Microsoft 信息技术 (Microsoft IT) 小组使用的类似方法。Microsoft IT 部署了六台边缘传输服务器(三台在雷蒙德,三台在硅谷),每天处理超过 1600 万条入站消息(并且超过 1300 万条消息被作为垃圾邮件过滤掉)。

Microsoft IT 共有三条 Microsoft.com 域的邮件交换 (MX) 记录。它们是:maila.microsoft.com、mailb.microsoft.com 和 mailc.microsoft.com(请参阅图 3)。每条 MX 记录都配置了首选项 10,因此可使用 DNS 循环技术随机选择记录。此外,每条 MX 记录与两个 IP 地址(邮件主机)相关联。

fig03.gif

图 3 Microsoft.com 的 MX 记录和 Internet 邮件主机(单击此图像可查看大图)

为什么每条 MX 记录有两个 IP 地址?这是因为无论为域配置了多少条 MX 记录,某些邮件传输代理 (MTA) 始终会选择相同的 MX 记录。对于 Exchange 服务器,多年来(自从 Exchange 2000 以来)均不存在此类问题,但遗憾地是仍有一些 MTA 存在此类设计缺陷。因此,无论哪个 MTA 尝试将消息发送到 Microsoft.com 地址,都会使用 DNS 循环和负载平衡的这一组合来分摊所有的 SMTP 连接。

问:我们的 Active Directory 域以 Windows Server® 2003 域控制器 (DC) 为基础。目前,我们正计划将 Windows Server 2003 DC 转换成 Windows Server 2008 并将 Exchange 2003 消息传递环境转换成 Exchange Server 2007。在将消息传递环境从 Exchange Server 2003 转换成 Exchange 2007 之前,我们能否通过将运行 Windows Server 2003 的所有服务器升级到 Windows Server 2008 来将 Active Directory 域转换成 Windows Server 2008?

答:可以,在完全由 Windows Server 2008 DC 组成的 Active Directory 域中,绝对支持 Exchange Server 2003 SP2。因此大可按您的计划行事。但需注意,如果计划使用 Windows Server 2008 只读域控制器 (RODC),则不应配置 Exchange 收件人更新服务 (RUS) 来使用 RODC。

Henrik Walther 是一名 Microsoft 认证架构师:消息传递(见习)和 Exchange MVP,并且具有 14 年以上的 IT 从业经验。他是 Interprise Consulting 的技术架构师以及 Biblioso Corp 的技术撰稿人。

© 2008 Microsoft Corporation 和 CMP Media, LLC。保留所有权利;未经允许不得复制本文的部分或全部内容。