网络负载平衡(NLB)详解

  • 格式:doc
  • 大小:33.50 KB
  • 文档页数:5

下载文档原格式

  / 7
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

网络负载平衡(NLB)详解

为满足企业不断的成长需求,实现企业服务器的高可伸缩性、高可用、高可靠性和高性能,Microsoft到目前为止,提出了五种解决方案:

今天将就网络负载平衡(Network Load Balancing,以下简称NLB)解决方案来做详细讲述,帮助大家了解什么是NLB,NLB中每个参数代表什么意义、起什么作用,如何快速、成功的搭建NLB。

网络负载平衡是Microsoft 在所有Windows 2000 Server 和Windows Server 2003 操作系统上提供的一种负载平衡技术。NLB 使用一种分布算法将负载均衡分布到多台主机上,从而提高基于IP 的关键型服务(例如Web、虚拟专用网络、流媒体、终端服务、代理等等)的可伸缩性和可用性,同时可检测主机故障并自动将流量重新分配给其他操作主机,从而提供高可用性。

该文章取自一个部署案例,是针对一Web站点,利用NLB技术来实现其高可用、可伸缩、并承担更高访问量的要求。在实施NLB中,我将详细的对NLB中的技术参数做一整体的讲解,帮助各位对NLB技术的系统认识和掌握。

在介绍NLB之前,先讲讲做这次NLB配置的相关参数设置:

我们在哪里可以创建NLB呢?Windows 2003 Server在默认安装时就已经安装好了,我们只需要在管理工具中选择就可以了;在Windows 2000 Server中默认是没有安装NLB的,需要在添加删除程序中手动进行添加,今天我不针对在Windows 2000 Server 上使用NLB来做阐述。在Windows 2000 Server中创建NLB和在Windows 2003 Server 中创建NLB还有个很大的不同之处,在于Windows 2000 Server的NLB创建时,只能有一块网卡启动,Windows 2003 Server则没有这种限制,可以有多块网卡进行工作。在开始配置NLB之前,若在工作组模式下,请将准备创建NLB服务的帐户进行密码修改,NLB服务器的用户名和密码修改为一样,避免在后面添加多个主机时出现“Error code:0xd5”错误;在域环境中,所有帐户均在“AD用户和计算机”中进行管理,所以不用担心出现这种情况的发生。

进入一台实体服务器(10.134.130.104),在“Start(开始)”菜单中点击“Administrative Tools(管理工具)”,单击“Network Load Balancing Manager(网络负载平衡管理器)”,启动NLB管理控制界面。

进入后,我们就可以创建NLB了。右击“Network Load Balancing Clusters(网络

负载平衡群集)”,因还没有创建好的群集,所以选择“New Cluster(新建群集)”

进入“Cluster Parameters(群集参数)”配置界面,在“Cluster IP configuration (群集IP配置)”中,我们输入之前定义好的Virtual IP(10.134.130.100)到“IP address (IP地址)”中,此IP地址及我们对外提供访问的IP地址;在“Subnet mask(子网掩码)”中,我们输入与实体服务器相同的子网掩码“255.255.255.0”,请确保其正确;在“Full Internet name(完整Internet名称)”中输入相应名称,若在工作组环境中,我们输入的名称将作为其NLB描述,若在域环境中,该Internet名称将在DNS中注册,以提供域名形式访问站点,但VIP需要我们手动添加到DNS中。因该环境在工作组模式下,所以在此输入CnfanMonitor即可;“Network address(网络地址)”不需要我们手动输入,它会根据我们在下面的“Cluster operation mode(群集操作模式)”中选择的模式进行MAC地址的生成。

进入“Cluster operation mode(群集操作模式)”设置该NLB是以“Unicast(单播)”还是“Multicast(多播)”的模式来运行。在此,将详细的讲述在NLB中,单播和多播的区别。

单播:在每个群集成员上,NLB 覆盖网络适配器上制造商提供的MAC 地址。NLB 对所有成员都使用相同的单播MAC 地址。这种模式的优点是它可以无缝地与大多数路由器和交换机协同工作。缺点是到达群集的流量会扩散到交换机虚拟LAN (VLAN) 上的所有端口,并且主机之间的通信不能通过NLB 绑定到的适配器,也即实体主机间不可以互相通信。若我们在NLB创建时选择单播的模式,在“群集IP配置”中的“网络地址”是以“02 - BF”开头,后面紧跟IP地址的十六进制表示,该网络地址与实际主机的MAC地址相同,后续加入的主机也将修改为此MAC地址。

多播:保留原厂MAC 地址不变,但是向网络适配器中增加了一个第 2 层多播MAC 地址。所有入站流量都会到达这个多播MAC 地址。优点是这种方法可以通过在交换机的“内容可寻址存储器”(CAM) 表中创建静态项,从而使得入站流量仅到达群集中的主机。缺点是因为CAM 项必须静态关联一组交换机端口,如果没有这些CAM 项,入站流量仍然会扩散到交换机VLAN 上的所有端口。还有一个缺点就是很多路由器不会自动将单播IP 地址(群集的虚拟IP 地址)与多播MAC 地址关联起来。如果进行静态配置的话,一些路由器可以存在这种关联。若我们在NLB创建时选择多播的模式,在“群集IP配置”中的“网络地址”是以“03 -BF”开头,后面紧跟IP地址的

十六进制表示。在选择多播模式时,后面还有个复选项“IGMP Multicast(IGMP多播)”,若复选此项,就像多播操作模式一样,NLB 保留原厂MAC 地址不变,但是向网络适配器中增加了一个IGMP 多播地址。此外,NLB 主机会发出这个组的IGMP 加入消息。如果交换机探测到这些消息,它可以使用所需的多播地址来填充自己的CAM 表,这样入站流量就不会扩散到VLAN 上的所有端口。这是这种群集模式的主要优点。缺点是有一些交换机不支持IGMP 探测。除此之外,路由器仍然支持单播IP 地址到多播MAC 地址的转换。在IGMP多播模式下,将采用“01 –00 - 5E”开头的MAC地址。在多播的模式下,实体主机之间可以互相通信。

在了解了单播和多播的概念后,我们就可以进行下一步的NLB配置了。一般来说,在NLB的创建时,单网卡多播,双网卡单播。双网卡单播时,因为主机之间不能互相通信,将设置内网通讯的网卡,也就是群集设置中的心跳。在微软官方推荐在NLB设置时,首先考虑单播模式,除非单播不能满足其要求,若要解决流量扩展的方法,推荐使用VLAN。

当我们清楚地了解了单播和多播的区别后,结合我们的自身特点,选择相应的模式进行NLB创建,在此我选择“单播”模式

在“Allow remote control(允许远程控制)”设置中,没有进行相关设置,如果有需要提供远程控制,需输入远程控制密码。

配置完成后,点击“Next”进入下一设置页面“Cluster IP Addresses(群集IP地址)”。因只提供一个VIP进行对外访问,所以在此不用进行其他群集IP地址添加在“Allow remote control(允许远程控制)”设置中,没有进行相关设置,如果有需要提供远程控制,需输入远程控制密码。

配置完成后,点击“Next”进入下一设置页面“Cluster IP Addresses(群集IP地址)”。因只提供一个VIP进行对外访问,所以在此不用进行其他群集IP地址添加

点击“Next”进入“Port Rules(端口规则)”设置页面。在此设置页面的动作非常重要,它将决定NLB如何工作,利用哪个端口进行工作等等。这页面的设置也是唯一NLB主机中可以不一样的地方,但必须满足规则“兼容”。在默认情况下,NLB已经为我们创建出一条端口规则,该规则满足所有的TCP/UDP端口实现负载均衡,显然,这条规则是不安全的,我们需要根据实际的要求,对该规则进行修改或者添加其他的端口规则。

鼠标点击“Edit(编辑)”,进入“Add/Edit Port Rule(添加/编辑端口规则)”界面,对默