深度详解如何配置NLB集群

NLB集群工作原理:
所有目标指向集群ip的请求,都会先到达反射口,再由反射口转发的所有成员口中,最后由相应的NLB集群服务根据算法计算由哪个成员来回复。通过这样的方式来实现向成员口泛洪。
server 2003环境下配置NLB集群:
NLB集群拓扑如下:两台server 2003在同一个NLB集群中,集群ip:10.1.1.254。同时上连一台接入交换机。
下面开始配置NLB集群:
注:这里要注意两台2003的密码要一致,否则会出现异常。
1.在开始程序---》管理工具—》网络负载平衡管理器
右击新建集群
配置集群IP:10.1.1.254,同时选择单播模式(这里以单播模式配置为例)
注:在单播模式下运行网络负载平衡的节点不能相互通讯,而出现该现象的原因是 NLB 使节点使用了相同的 MAC。因此,网络重定向器不会将任何数据包发送到 NLB 的节点上。在应用 Service Pack 后,必须在每个节点上修改注册表,为此执行下述步骤:
(1)启动 regedit 注册表编辑器;
(2)定位到注册表位置:
HKEY_LOCAL_MACHINE\SystemCurrentControlSet\Services\WLBS\Parameters\Interface\{GUID}
(3)新建 DWord,名称为:UnicastInterHostCommSupport,值为:1
(4)退出注册表编辑器,在 CMD 下执行 NLB RELOAD
注:如果是配置多播模式的话就不用这么复杂,因为多播是使用多播地址就不需要修改注册表来修改单播mac地址。但是需要在交换机上再开启一条二层多播功能:ip igmp snooping ivgl
端口编辑下选择编辑:
选择无,否则只会映射到一台服务器上。
连接主机:主机地址为本机IP。连接后选中主机确定。
2.新建第二台主机到集群中:
这个状态无法聚合的原因是 10.1.1.200 没有配置集群,需要进入这台设备也配置集群功能。
3.交换机端配置如下:

    1. nlb-group 1 ip 10.1.1.254 reflector-port TenGigabitEthernet 2/2/44  //配置集群的反射口,这个端口不论UP或是DOWN都可以。注:这个端口不能接用户否则下连用户不能通信。
    2. nlb-group 1 destination-port TenGigabitEthernet 1/2/15  //下面两个端口是配置NLB集群成员端口。
  1. nlb-group 1 destination-port TenGigabitEthernet 2/2/47

配置成功后,交换机可以ping集群ip和集群下两台03的ip,在交换机上查看mac地址表和arp表如下:

    1. switch(config)#sh mac
    2. Vlan        MAC Address          Type     Interface
    1. ----------  -------------------- -------- -------------------
    2.    1        0201.0a01.01fe       DYNAMIC  TenGigabitEthernet 2/2/47
    1.        1        0202.0a01.01fe       DYNAMIC  TenGigabitEthernet 1/2/15
    1. switch(config)#sh arp
    2. Protocol  Address          Age(min)  Hardware        Type   Interface
    1. Internet  10.1.1.100       14        02bf.0a01.01fe  arpa   VLAN 1
    2. Internet  10.1.1.200       59        02bf.0a01.01fe  arpa   VLAN 1
  1. Internet  10.1.1.254       14        02bf.0a01.01fe  arpa   VLAN 1
  2. Total number of ARP entries: 5

可以看到上面两个表项有个奇怪的现像,同一台设备在两个表项中mac地址不一样。在这里解释一下,由于在集群中所有成员的mac地址都不会使用自己的物理mac地址和是使用标准中定义的集群mac地址,而标准中又将集群mac地址分为两类:一个NLB物理地址,一个是NLB虚拟地址。
物理地址:0201.0a01.01fe 02是标准定义的,01是成员的优先级编号 0a01.01fe是集群ip地址
虚拟地址 :02bf.0a01.01fe 02bf是虚拟地址。加集群IP地址。
这样就形成两个mac地址。
如上可以看到,arp表项中的mac都是用虚拟mac。集群和成员的mac都是一个。所以学习arp的时候,以太头的mac是NLB物理MAC,请求报文内的MAC是虚拟NLB的MAC。这些信息我们也可以通过wireshark抓包工具来抓包查看。
4.如何测试NLB已经生效了呢?
我们可以在两台03上创建一个IIS WEB服务器,再写一个简单的HTML脚本。在其中一台2003上打开文本文件,输入THIS IS NLB-A。保存为HTML格式。这个文件放入IIS web目录中。在另一台2003也这样操作,不同是输入的内容改为THIS IS NLB-B。
最后用一台测试pc,打开浏览器输入web地址这里要注意输入的ip是集群的IP而不是成员口的IP:http://10.1.1.254
第一次在浏览器上输出结果为:THIS IS NLB-A
再刷新一次在浏览器上输出结果为:THIS IS NLB-B
注:可能有些设备的负载均衡算法不一样,可能要刷新好几次才会负载到另一台设备上。
这样NLB的配置和测试过程就完成了。希望这次分享对大家学习有所帮助。

weinxin
DC Farm小程序二维码
扫一扫添加博客小程序
Jim

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:1   其中:访客  1   博主  0

    • avatar 疯孩子 0

      看不太懂 呵呵