ORF反垃圾邮件系统

邮件服务器-邮件系统-邮件技术论坛(BBS)

 找回密码
 会员注册
查看: 27645|回复: 20
打印 上一主题 下一主题

[原创] [翻译]配置Exchange Server 2007客户端访问服务器的负载均衡

[复制链接]
跳转到指定楼层
顶楼
发表于 2007-8-26 00:33:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

本文译自Henrik Walther 在msexchange.org发表的《Load Balancing Exchange 2007 Client Access Servers using Windows Network Load-Balancing Technology 》一文,版权以及著作权归网站以及作者所有,译方只对该文进行非授权翻译,并且不对原文进行完整原意整体翻译,其他人不得擅自修改译方作者的翻译文档。

关于作者
Henrik Walther is a Microsoft Exchange MVP, MCTS Exchange 2007, and MCSE Security/Messaging that works as a System specialist for Interprise Consulting A/S, a Microsoft Gold Partner based in Denmark. You can visit his website at: www.exchange-faq.dk (danish).
关于译者
黒红灰白,YOTU; Come from GuangZhou; MCSE/MCSA2003+Security.

介绍
本文介绍如何利用Windows Server 2003的网络负载均衡(NLB)组件来对Exchange Server 2007客户端访问服务器配置负载均衡,利用多个客户端访问服务器来均衡客户端访问,并提高性能。有关NLB具体的介绍和优势,请参考Windows帮助文档或者相关介绍。
我们可以采用其他第三方的NLB解决方案,但是本文介绍的是基于Windows Server 2003,WS03下的NLB工作稳定,并且很适合企业组织网络负载解决方案。

什么是NLB,如何工作的?
Network Load Balancing(NLB)技术可以实现多服务器下的负载均衡。Windows NLB通常应用在基于IIS的WEB服务器以及承受高负载的流量访问的服务器,来解决客户量的增加,提升网络性能,并且可以减少由于服务器瘫痪引起的停机故障时间,而让最终用户感觉不到服务器出现问题,并只有短暂的延时。
Windows NLB可为基于TCP和UDP的服务和应用提供可伸缩性,您最多可配置32台成员服务器作为NLB群集节点。本文中的群集成员服务器就是Exchange Server 2007客户端访问服务器。
当配置完NLB后,NLB群集中的所有服务器都用一个虚拟IP和完全限定域名(FQDN)来表示。当一个用户提交了一个查询,这个查询会交给所有NLB中的服务器进行处理。此时客户端会选择一条特殊的路线链接到一台特殊的服务器,而其他服务器不再相应用户查询。意思就是说,客户端选择看来性能很好负载不高的服务器,而对于这台服务器来讲,他有更高的优先级。当然,你可以配置NLB中的成员服务器的优先级别。

图1

该图示显示了一个客户端发起一个会话建立链接的过程,图中有两台客户端访问服务器,同时可以接受并处理客户端的访问查询,并最终提交到内部的邮箱服务器。
单播和多模模式
Windows NLB可以配置成两种模式,单播(unicast)和多播(multicast)模式,单播模式是NLB的默认模式。

单播模式:
当Windows NLB(WNLB)群集被配置成单播模式,每台NLB中的成员服务器的网卡MAC地址都会被虚拟成一个虚拟群集MAC地址,这个MAC地址被用在WNLB群集的所有服务器上。当单播模式被启用,客户端只能链接到这个群集MAC地址。

多播模式:
当NLB群集被配置成多播模式,一个多址通信MAC地址会被添加到群集中的每台成员服务器网卡上。注意,我这里说的是“添加到”,但是每台服务器依旧保留他们固有的MAC地址。
一个WNLB群集中,不管你配置成什么模式,都仅仅是用安装在成员服务器上的一块标准网卡进行通讯,但是我们建议在每台成员服务器上安装第二块网卡,也是为了达到最佳性能,而且可以分开物理上和群集上的通讯。
那么我们到底在Exchange 2007客户端访问服务器上用什么模式,要有多少张网卡呢?那么好,最好的办法就是安装两块网卡并配置成单播模式,为了让主机和群集的网络通讯在物理层上分开。

注意:
除了WNLB之外,你也可以在Exchange2007客户端访问服务器群集中配置DNS负载平衡(DNS Rout-robin),但WNLB推荐一个最小级别的故障容错,来优先于DNS Rout-robin。原因在于如果存在个别的客户端访问服务器无法相应客户端的请求,这个客户端查询就会重复,直到客户端连接查询信息得到说客户端访问服务器失效。但是WNLB组件包含在Windows Server 2003的标准版和企业版中,所有真的没有必要说去选择DNS负载均衡来替换WNLB。
虽然上面听起来很复杂或者让你感觉要花很多时间去配置基于Windows NLB的网络负载均衡,但实际上是非常容易的,下面我来具体向大家演示如何去配置。

客户端访问服务器的设计目的
在我们配置WNLB之前,我想先给大家一个简短的描述来让大家了解客户端访问服务器存在的意义,这会让大家更好的了解配置这个Exchange2007角色的重要性。

客户端访问服务器代替了我们所熟知的Exchange2000/2003中的前端服务器,并且增加了许多新的特性。客户端访问服务器为除了Outlook MAPI客户端以外所有被你熟知类型的Exchange客户端提供了邮件服务器的直接访问。这意味着客户端访问服务器管理着所有用户访问邮箱服务器的链接,例如Outlook Anywhere(之前叫做RPC over HTTP,现在的名字很幻^_^),Outlook Web Access(OWA,新版OWA很漂亮^_^),Exchange ActiveSync(EAS,好像只支持最新版的手机),POP3 ,以及最后的一个但是很重要的一个IMAP4。

除了提供用户访问之外,客户端访问服务器也通常负责例如Automatic profile configuration,空闲/忙碌的Web服务,可安排的Out of Office,脱机地址簿和统一消息(UM),但是现在只支持Outlook 2007,OWA 2007(在将来会支持Windows Mobile 6.0)。这里两种客户端,可以提供基于WEB的高级Exchange自动发现和可用性服务,这就是客户端访问服务器负责提供的客户端特性。更多功能,请参考:http://www.microsoft.com/china/exchange/evaluation/features/default.mspx

必要的准备工作
经过介绍之后,如果想要完成这个功能,那么就需要以下的实验环境:
一台DC(安装了Microsoft CA证书服务)Windows Server 2003 sp1或更高
2台Exchange2007客户端访问服务器角色(每台要2块网卡)
一台具有邮箱服务器和中心传输服务器角色的服务器
一台客户端,Windows XP/Vista都行,安装了Outlook 2007

注:本实验环境确保您对Exchange 2007有安装经验前提下。如果您无法满足该实验要求,那么可以将邮箱服务器和中心传输服务器角色安装在DC上,但是原则上还是建议将角色分开。
准备好了实验环境之后,那么我们开始Step-By-Step!GOO!

在DNS中为NLB Cluster创建完全限定域名(FQDN)
在实验开始之前,我们要做的第一件事情就是在DNS为NLB群集创建一条记录。登录您的DC,运行 dnsmgmt.msc。
展开正向查找区域(Forward Lookup Zones)容器,选择您的域容器,在里面添加一条New Host(A) A记录,之后你可以输入你想要分配的FQDN名称和IP地址,我们这里用的是MAIL,如图显示;这里的IP地址就是我们之前所说的NLB群集的虚拟IP地址,这个IP地址要求和其他NLB中的成员服务器的实际IP地址是同一个子网,并且不能在现有DNS中有相同的记录存在。


图2


图3

重要:
为了确保网络上的客户端能够链接到这个绝对网络名,你必须也要在DNS中为你的域创建一条记录。这个任务你联系当地ISP试试。

配置网络设置
虽然不是非常必要(之前提到过),这一步我们会为两块网卡采用单播模式(最优化性能的哦)。我们打开“网络链
接”来配置第二块网卡,我们可以为两块网卡重命名为可识别的名字。



图4

我们打开NLB LAN这块网卡的属性,如下图配置TCP/IP的属性,你只需要配置IP地址和子掩码就可以了。



图5

现在我们必须配置网络链接的绑定顺序。在 网络链接 中,单击 高级>高级设置,如图六。
确保Public LAN这块网卡在最上面。


图6

配置第一台Exchange2007客户端访问服务器的网络负载均衡(NLB)
OK,这会我们要做的就是启用NLB了,注意在我们之前设置的那台Exchange2007客户端访问服务器哦。这一步我们是采用一种途径来配置NLB,第二台Exchange2007客户端访问服务器将使用另外一种方式加入到NLB中。好了,我们打开NLB LAN的属性,勾选 Network Load Balancing(网络负载平衡)。


图7

之后选择属性,在 群集参数 选项卡中,输入NLB群集的IP地址,子掩码和完全限定域名(这就是我们第一步在DNS添加的记录)。下一步确保 群集模式 的 单播 被选中。

图8

现在,我们切到 主机参数 选项卡,输入NLB LAN网卡的IP地址和子掩码

图9

点击 端口规则 选项卡,选择默认 端口规则 之后点Remove。
现在我们需要去为每一个NLB群集端口添加一个端口规则,来允许用户查询。我们点击 添加 按钮,之后在 端口范围 输入各自的端口,如图十。同时也需要确保 Affinity 选项选择的是 Single.最后点击 确定,则完成添加。

图10

每个必须的端口,你可以获得一份清单,在图十一中可以看到。依赖于客户端的访问方式你可以在你的组织中做相应的配置。

注意:
如果你想允许其他类型的例如POP3和IMAP4协议,那么你可以添加110和143端口。

图11

单击两次 确定 之后,你将收到以下提示。

图12

现在,你可以在 TCP/IP属性 的 高级 里面添加这个新的虚拟群集IP地址。

图13

现在,我们就为其中一台成员服务器(客户端访问服务器)配置好了NLB。

添加第二台客户端访问服务器到NLB群集中
用一台成员服务器来做NLB群集,这样好么?当然不好,如果一台,我上面翻译干啥。所以接下来让我们为NLB加入第二台客户端访问服务器吧。为此操作,我们单击 开始 ,运行 输入 NLBMGR.EXE 或者在 管理工具 里面选择 网络负载平衡管理器。如图14。

图14

为了添加第二台服务器到NLB中去,我们在菜单上点击 Cluster 按钮,选择 Add Host。在弹出的窗口中,我们输入第二台客户端访问服务器的名称,点击 Connect,选择 群集 之后点 完成。

图15

下一步,我们输入与群集关联的网卡 IP地址 和 子掩码,点击 完成。

图16

现在我们稍等一会让NLB配置完成。

图17

关闭 网络负载管理器。

还有更多的配置我们将会在第三部分有详细说明,敬请期待。

[ 本帖最后由 YOTU 于 2007-8-26 01:12 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?会员注册

x

评分

参与人数 1经验积分 +10 收起 理由
钉子 + 10 精品文章

查看全部评分

沙发
 楼主| 发表于 2007-8-26 00:41:08 | 只看该作者
该文翻译上有很多纰漏,还请各位多多指教!

提供DOC文档下载。

该文是两篇文章合并起来翻译的,所以最有有 第三 这个词。

DOC文档格式分层比较详细,建议下载。

该文版权归YOTU所有,发布在5DMAIL提供交流,不得转载。谢谢合作

[ 本帖最后由 YOTU 于 2007-8-26 01:15 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?会员注册

x
藤椅
发表于 2007-8-27 00:51:40 | 只看该作者
谢谢YOTU ,加入精华,并加10分,希望能看到更多文章!
板凳
发表于 2007-8-27 11:52:05 | 只看该作者
按照楼主的方法,配置完NLB后,出现两台Exchange Client Access Server 之间,不能互通的问题。。。。
报纸
发表于 2007-8-27 11:52:33 | 只看该作者
就是相互Ping不通呢
地板
 楼主| 发表于 2007-8-27 12:54:50 | 只看该作者
原帖由 apach 于 2007-8-27 11:52 发表
就是相互Ping不通呢


确保在您的NLB管理器中的状态是正常的。
您使用虚拟IP还是物理实际的IP进行PING测试呢?

请您邮件给我:
yotume@gmail.com
7
发表于 2007-8-29 10:06:28 | 只看该作者
不错,,希望英文好的朋友多多翻译下E文的技术资料
8
发表于 2007-8-29 17:46:52 | 只看该作者

回复 #6 YOTU 的帖子

目前的问题是,客户端访问NLB公共节点没问题,访问单独的节点IP也没有问题,两个节点之间有问题。
在NLB管理器中是正常的,而且,我是物理环境,只有NLB的公共IP是虚拟的。
服务器A的网卡是192.168.0.4/24;192.168.0.11/24;
服务器B的网卡是192.168.0.5/24;192.168.0.12/24;
公共节点是192.168.0.10/24。
服务器通过交换机互联。
我的NLB配置过程是参考Windows帮助完成的。

PS:搜索到这样一个文章,貌似NLB本身导致的这个问题。参考下:
工作在单播模式下的NLB可以在所有网络环境下正常运行,但是由于它的工作特性,具有以下两个限制:
由于NLB所使用的群集MAC地址没有绑定在某个具体的交换机端口上,所以所有的NLB通讯均通过在交换机的所有端口上广播进行,而不管此端口是否连接了NLB节点,这造成了额外的网络流量负担;由于所有的NLB节点具有相同的MAC地址,NLB节点之间不能通过自己原有的专用IP地址进行通讯。

原文地址:http://www.5inet.net/WanLan/ProxyAndRoute/ISAServer/003423.html
9
发表于 2007-8-29 17:48:58 | 只看该作者

回复 #8 apach 的帖子

免费的东西,就不能多提供点功能?
群集之间,倒是可以互相Ping通的,咋NLB就不行。
10
发表于 2007-9-5 15:16:16 | 只看该作者
由于所有的NLB节点具有相同的MAC地址,NLB节点之间不能通过自己原有的专用IP地址进行通讯。

可以使用一个注册表来解决它,但建议使用多块网卡。

解决方法:打开注册表编辑器,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WLBS\Parameters\Interface\{GUID}项下新建如下键值:
Value Name: UnicastInterHostCommSupport
Data Type: REG_DWORD
Radix: Hexadecimal
Value: 1
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

小黑屋|手机版|Archiver|邮件技术资讯网

GMT+8, 2024-5-12 06:11

Powered by Discuz! X3.2

© 2001-2016 Comsenz Inc.

本论坛为非盈利中立机构,所有言论属发表者个人意见,不代表本论坛立场。内容所涉及版权和法律相关事宜请参考各自所有者的条款。
如认定侵犯了您权利,请联系我们。本论坛原创内容请联系后再行转载并务必保留我站信息。此声明修改不另行通知,保留最终解释权。
*本论坛会员专属QQ群:邮件技术资讯网会员QQ群
*本论坛会员备用QQ群:邮件技术资讯网备用群

快速回复 返回顶部 返回列表