序
本文译自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 编辑 ] |