在Windows Server中实现网络载量均衡Word下载.docx
《在Windows Server中实现网络载量均衡Word下载.docx》由会员分享,可在线阅读,更多相关《在Windows Server中实现网络载量均衡Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
配置完网络载量平衡后,网络载量平衡服务(wlbs)虚拟出一个MAC地址,该MAC地址与各群集主机的MAC地址无关,且为群集中的各主机所共用。
同时,网络载量平衡服务将指定的群集的主IP地址指派给该MAC地址。
所有的客户端请求被发往群集主IP地址,传入该IP地址的客户请求被群集中的所有主机接收,网络载量平衡在传入指定TCP和UDP端口的数据报到达TCP/IP协议软件之前对其进行筛选,根据在“端口规则”中配置的值将客户请求在群集中进行分配,只有被分配为处理该客户请求的群集主机才处理它,其余的群集主机则丢弃该请求。
多播(Multicast)支持:
网络载量平衡可以运行于两种模式下:
单播和多播。
默认情况下启用的是单播支持。
如果禁用多播支持(导致主机还原为单播模式),网络载量平衡将自动命令属于群集适配器的驱动程序代替该适配器的唯一内置网络地址,并将其MAC地址改为群集的MAC地址。
这是用于所有群集主机的地址。
不需要手工配置网卡即可识别该地址。
(注意有些网卡不支持修改它们的MAC地址。
如果遇到此问题,则必须安装有效的网卡。
)
如果启用该选项,网络载量平衡将把属于群集适配器的群集MAC地址转换为多播地址。
该选项还同时确保将该群集的主IP地址解析为ARP协议部分的多播地址。
同时,该适配器现在可以使用在单播模式中被禁止的最初的内置MAC地址。
如果没有启用多播支持,应该考虑安装专用网卡以得到优化的性能和全部网络功能。
尽管成功的群集可以只安装一个网卡并且无需激活多播支持,但是对这种方法仍有两个限制:
1.群集主机间的普通网络通信是不可能的。
2.群集内单独计算机的网络通信将对该群集内的所有计算机产生附加的网络开销。
heartbeat包和网络载量平衡群集的会聚过程:
网路负载平衡群集主机间通过交换heartbeat消息来维护群集的成员关系信息。
当群集状态改变时(例如主机失败,离开或加入群集),网络载量平衡调用一个叫做会聚的过程,在此过程中主机交换消息来确定群集新的一致状态,并选出拥有最高主机优先级的主机作为默认主机,同时将发往原失败主机的客户端请求在当前群集成员中重新进行分配。
。
当所有群集主机对群集的新状态达成一致后,它们将在Windows2000事件日志中记录会合的完成情况。
会聚过程通常小于10秒钟,所以该过程对客户端操作所造成的影响是很小的。
统计映射算法:
发送到网络载量平衡群集的客户端请求需要在群集内进行分配,这是通过执行统计映射算法来实现的。
该算法在群集中的所有主机上执行,客户端请求在群集主机间的分配主要受到以下参数的影响:
1.主机优先级
2.端口规则
主机优先级用来在群集中的主机脱机的情况下,决定在需要处理通信时由该群集中的哪一台主机接管这项工作。
主机优先级的允许值范围是从1到主机的最大数目。
较小的值表示具有较高的优先级(这里1是最高优先级)。
群集中的每台主机必须指定唯一的主机优先级。
端口规则中参数的设置用于控制群集的运行方式。
其中用于处理端口网络通信的方法叫做“筛选模式”。
有三种筛选模式:
多主机、单主机和禁用模式。
多主机模式是缺省设置,只有在这种模式下才可以将客户端的请求在群集中进行分配,也就是实现网络载量平衡。
单主机模式只有在缺省主机出错的情况下才将客户端请求转到别的主机上,其实质是实现了多主机容错体系。
“负荷量分配”参数用于确定在多主机模式下网络载量平衡群集各主机所要承担的负荷量,以百分比的形式设置。
另外,可以为客户关系选择下面的三个选项之一:
无、单一和C类。
“单一”和“C类”用来确保来自特定客户机或特定网段的所有网络通信信息可以送到同一个群集主机上处理。
而“无”选项则设置不需要将来自同一客户机的请求送到同一群集主机上处理。
该选项对于需要维持会话状态的应用作用很大,如ASP会话等。
配置网络载量平衡
了解了网络载量平衡的工作原理,我们再来看看网络载量平衡的配置方法。
首先启用网络载量平衡是在网卡的属性页中设置,参见图1。
而网络载量平衡的配置又分为群集配置和TCP/IP配置两部分,其中群集配置又分为群集参数配置、主机参数配置和端口规则配置三项,如下图所示:
图3
图4
图5
下面我们结合实例来介绍网络载量平衡的配置。
场景:
两台主机A和B,想做成网络载量平衡群集,其从专有的IP分别为172.16.1.21和172.16.1.22,群集主IP为172.16.1.1。
网络载量平衡群集的配置在单网卡和多网卡主机上均可实现,但其配置方法有一定的区别。
单网卡群集主机的配置方法:
其网络连接如下图所示:
图6
其具体配置如下:
主机A:
打开网络和拨号连接,右键单击“本地连接”,然后单击“属性”。
“网络载量平衡”属性配置
群集参数:
主IP地址:
172.16.1.1
子网掩码:
255.255.0.0
完整的Internet名:
多播支持:
启用
主机参数:
优先级(唯一主机ID):
1
初始群集状态:
活动
专用IP地址:
172.16.1.21
端口规则:
取其缺省值
“Internet协议(TCP/IP)”属性配置
使用下面的IP地址:
缺省网关:
空
DNS:
指定为内网的DNS服务器的地址
高级-高级TCP/IP设置-IP地址:
添加IP地址172.16.1.1掩码255.255.0.0
主机B:
2
172.16.1.22
多网卡群集主机的配置方法:
多网卡群集主机只能在一块网卡上启用网络载量平衡。
因此在这类主机上安装的网卡可分为配置有负载均衡的网卡和未配置有负载均衡的网卡两大类。
图7
1.配置有负载均衡的网卡的设置
打开网络和拨号连接,右键单击安装了网络载量平衡的“本地连接”,然后单击“属性”。
不启用
2.未配置网络负载均衡的网卡的设置
指定为内网的DNS服务器地址
测试网络载量平衡的配置
配置完网络载量平衡后,我们可以通过几种方式来测试网络载量平衡的配置是否正确,是否能够满足我们的要求。
当我们配置完成后,可以利用命令wlbs.exe来判断配置是否成功。
Wlbs.exe有几个参数,我们经常用到的有:
start,stop,display。
Start参数用于启用本机的wlbs服务,也就是负载均衡服务。
Stop参数用于停止本机的wlbs服务。
Display参数用于显示配置参数、当前状态和最后几个事件日志消息。
在各群集主机上打开一命令行窗口,运行wlbsstart启用负载均衡服务,运行wlbsdisplay查看最后几个事件的日志消息。
如果配置正常,则群集主机之间的会聚过程会很快完成,将显示如下结果:
WLBS群集控制实用程序V2.3.©
1997-99MicrosoftCorporation
===Configuration:
===
Currenttime=FriNov0916:
48:
082001
ParametersVersion=4
VirtualNICName=\Device\{7F319322-80AA-4EB9-90BF-19209D008F22}
ClusterNICName=PCI\VEN_10EC&
DEV_8139&
SUBSYS_813910EC&
REV_10\6&
39336204&
0&
20207808
AliveMsgPeriod=1000
AliveMsgTolerance=5
NumActions=50
NumPackets=100
NumAliveMsgs=66
ClusterNetworkAddress=03-bf-ac-10-de-63
ClusterName=
ClusterIPAddress=172.16.1.1
ClusterNetworkMask=255.255.0.0
DedicatedIPAddress=172.16.1.21
DedicatedNetworkMask=255.255.0.0
HostPriority=1
ClusterModeOnStart=ENABLED
LicenseKey=
DescriptorsPerAlloc=512
MaxDescriptorAllocs=512
ScaleSingleClient=0
NBTSupportEnable=1
MulticastSupportEnable=1
MulticastARPEnable=1
MaskSourceMAC=1
NetmonAliveMsgs=0
IPChangeDelay=60000
IPToMACEnable=1
ConnectionCleanupDelay=300000
RemoteControlEnabled=0
RemoteControlUDPPort=2504
RemoteControlCode=0x0
RemoteMaintenanceEnabled=0x0
CurrentVersion=V2.3
InstallDate=0x3B1B3097
VerifyDate=0x5BE18412
NumberOfRules=1
PortRules
StartEndProtModePriLoadAffinity
065535BothMultiple70N
000000000000FFFF2FFFF0000000000200000003000000010000000000000046
===Eventmessages:
#48ID:
0x4007001CType:
4Category:
0Time:
FriNov0916:
47:
202001
WLBS:
主机2已跟作为群集一部分的主机1,2会集。
0014000000620004000000004007001C00000000000000000000000000000000
000000000000000000060C1200000000000000000000000000000000
#46ID:
0x40070005Type:
142001
群集模式用主机ID2启动。
0014000000620004000000004007000500000000000000000000000000000000
000000000000000000050F8900000000000000000000000000000000
===IPconfiguration:
Windows2000IPConfiguration
HostName............:
bjum-fea
PrimaryDNSSuffix.......:
ums.local
NodeType............:
Hybrid
IPRoutingEnabled........:
No
WINSProxyEnabled........:
DNSSuffixSearchList......:
Ethernetadapter本地连接:
Connection-specificDNSSuffix.:
Description...........:
RealtekRTL8139(A)PCIFastEthernetAdapter
PhysicalAddress.........:
00-50-FC-47-55-F5
DHCPEnabled...........:
IPAddress............:
172.16.1.1
SubnetMask...........:
255.255.0.0
172.16.1.21
DefaultGateway.........:
DNSServers...........:
172.16.1.16
172.16.1.17
===Currentstate:
作为群集的一部分,主机2已与下列主机会合:
1,2
另外,为了测试群集中主机在承担WEB服务器时的压力适应情况,即在很高的点击率下是否仍能工作正常,我们可以用微软公司的免费测试工具WebstressTool(
在客户机上使用webstress工具模拟很大的点击率,发送请求到群集的主IP地址(具体使用方法与本文无关,可参阅微软有关文档)。
在各群集主机上利用性能监视器监视本机相关参数的变化情况,如CPU利用情况、每秒钟PUT和POST请求数情况等。
通过对这些参数变化情况的分析,可以了解群集主机的负荷量分配情况以及硬件的使用情况,从而更好的分配群集的负载。
需要注意的是,在使用webstress工具进行压力测试时,应该在群集各主机的端口规则设置中将仿射性设置为“无”,否则从该主机IP地址发送到群集的所有请求将只会被一台群集主机处理,而不会分配到所有的群集主机上,这是由于群集的缺省配置“单一”所造成的。
详情可参见前文“网络载量平衡工作原理”中的有关“端口规则”的说明。
应用网络载量平衡的注意事项
在配置及使用网络载量平衡的过程中,有许多应该注意的问题,如果配置不当,将会影响网络载量平衡的使用甚至导致配置失败。
现将这些问题给出如下:
1.如果可能,在每个群集主机上使用两个或更多的网卡。
第二个网卡可提高整个网络的性能并加速对后台数据库的访问。
2.同样,如果群集在单播模式(默认模式)下运行,群集主机之间的普通网络通信只有每个群集主机至少具有两个网卡时才能进行。
3.如果使用了第二个网卡,必须保证只在一个适配器(称为群集适配器)上安装了网络载量平衡。
4.TCP/IP是群集适配器上的唯一网络协议。
不能将任何其他协议(例如,IPX)添加到该适配器中。
5.确保群集参数和端口规则在所有群集主机上设置相同。
6.确保主机参数对每个群集主机都是唯一的。
7.确保进行载量平衡的应用程序使用的所有端口(例如,FTP使用了端口20、端口21、端口1024-65535)设置了端口规则。
8.在设置完端口规则后单击“添加”按钮。
否则,端口规则将不会在规则列表中显示,而且规则也不会生效。
9.确保给定的进行载量平衡的任何应用程序在所有已安装了这些程序的群集主机上均已启动。
网络载量平衡不启动程序。
10.安装时在“网络平衡属性”对话框中输入的专用IP地址和群集的IP地址必须也在“Internet协议(TCP/IP)属性”对话框中输入。
确保在这两个地方的地址相同。
11.确保专用的IP地址在“Internet协议(TCP/IP)属性”对话框总是列在最前(在群集IP地址前)。
12.专用IP地址和群集IP地址必须是静态IP地址。
而不能是DHCP地址。
13.确保群集中的所有主机属于同一个子网并且群集的客户机能够访问该子网。
14.确保所有的群集主机要么运行于单播模式,要么运行于多播模式,而不是在两种模式下运行。