本文描述了微软NLBNetwork Load Balancing)服务器直连S交换机做网关的一种应用场景。若干台服务器配置NLB特性后,组成一个群集,该群集虚拟出一个公共IP和本地管理MAC地址,群集通过该IP/MAC和做网关的S交换机直连互通,交换机通过三层转发将网络侧的流量同时转发一份给NLB群集中每一台服务器,然后NLB群集服务器内部通过特定算法实现负载分担,决定由哪一台服务器向网络侧回应报文。


背景知识

NLB服务器群集中的服务器使用一个共同的IP地址(NLB群集IP地址)和一个共同的MAC地址(NLB群集MAC地址)。交换机作为接入网关连接NLB服务器群集时,要求交换机将发往NLB群集IP地址的数据报文发往NLB服务器群集中的每台服务器。

NLB服务器可以工作在NLB单播模式(群集中各服务器采用的群集MAC地址以02BF开头),NLB组播模式(群集中各服务器采用的群集MAC地址以03BF开头)等。

对接分析

l  NLB服务器工作在单播模式时,S设备上ARP表中NLB群集IP地址的ARP表项只能学习到一个出接口。因此设备只能将发往服务器群集IP地址的数据报文发送给群集中一台服务器,而无法发送给服务器群集中的所有服务器。

l  NLB服务器工作在组播模式时,S设备收到ARP应答报文后,由于协议源MAC地址为组播MAC地址,设备不会进行ARP学习。若通过静态ARP方式将NLB群集IP地址和NLB群集共同的MAC地址进行绑定,也只能指定一个出接口。因此设备只能将发往服务器群集IP地址的数据报文发送给群集中一台服务器,而无法发送给服务器群集中的所有服务器。

如上分析,必须解决只能发送一台服务器的问题,S交换机和NLB服务器才能实现对接。

对接方案

多端口ARP方案:多端口ARP可以实现将发往服务器群集的报文同时发送给群集中所有的服务器。多端口ARP主要通过静态ARP表项将NLB群集IP地址与NLB服务器群集使用的共同MAC地址进行绑定,并且通过多端口MAC表项将NLB服务器群集使用的共同MAC地址与设备上与服务器相连的出接口进行绑定。这样发往服务器群集IP地址的数据报文会从设备上所有与服务器相连的出接口发送出去。 这种方案适用于S交换机V200R003C00及以后版本。

对于V200R003之前的版本,可以通过如下两种方式实现对接:

l  在交换机与NLB服务器之间增加二层交换机(当NLB服务器工作在组播模式时,需要在交换机上使能ARP动态学习组播MAC的功能或者配置静态ARP表项)。这种方法需要多增加一台二层交换机,适用于设备资源充足的情况。

l  物理链路环回方法。这种方法与增加二层交换机的方法相比,配置较复杂。


 

对接案例—多端口ARP方案


anchor.gifanchor.gif支持型态

V200R003C00版本以下款型支持多端口ARPS5700HIS5710HIS5710EIS6700EIS7700S9700

其中:框式设备的SA单板不支持多端口ARP。


anchor.gifanchor.gif组网需求

如图所示,Switch通过属于VLAN10的三个接口GE1/0/1GE1/0/2GE1/0/3分别连接三台NLB服务器。NLB服务器群集工作在组播模式。NLB服务器群集中每台服务器除了各自拥有一个IP地址和MAC地址外,还共同使用一个群集IP地址和群集MAC地址。NLB服务器的群集IP地址为10.128.246.252/24,对应的群集MAC地址为03bf-0a80-f6fcSwitch与客户端之间路由可达。

当客户端访问NLB服务器群集IP地址时,Switch能够将发往NLB服务器群集IP地址的报文发送给NLB服务器群集中的每台服务器。

 

anchor.gifanchor.gif配置思路

多端口ARP的配置思路如下:

1.   配置接口IP地址,并将接口加入相应VLAN

2.   配置对应多出接口的MAC地址表项,并配置静态ARP表项,实现Switch将发往NLB群集IP地址的报文发送给NLB群集内三台服务器。

anchor.gifanchor.gif操作步骤

1.  创建VLAN,并将接口加入到VLAN

Switch上创建VLAN,并将接口加入到VLAN中。

<Quidwaysystem-view

[Quidwaysysname Switch

[Switchinterface gigabitethernet 1/0/1

[Switch-GigabitEthernet1/0/1] port link-type access  //连接服务器的接口以ACCESS方式加入VLAN

[Switch-GigabitEthernet1/0/1] quit

[Switchinterface gigabitethernet 1/0/2

[Switch-GigabitEthernet1/0/2] port link-type access  //连接服务器的接口以ACCESS方式加入VLAN

[Switch-GigabitEthernet1/0/2] quit

[Switchinterface gigabitethernet 1/0/3

[Switch-GigabitEthernet1/0/3] port link-type access  //连接服务器的接口以ACCESS方式加入VLAN

[Switch-GigabitEthernet1/0/3] quit

[Switchvlan 10

[Switch-vlan10] port gigabitethernet 1/0/1 to 1/0/3  //配置连接服务器的三个接口的缺省VLAN并加入该VLAN

[Switch-vlan10] quit

2.  Switch上创建VLANIF接口,并配置IP地址

[Switchinterface vlanif 10

[Switch-Vlanif10] ip address 10.128.246.251 24  //配置VLANIF10IP地址,由于是直连,要和NLB群集的虚拟IP在同一网段

[Switch-Vlanif10] quit

3.  Switch上配置对应多出接口的MAC地址表项

[Switchmac-address multiport 03bf-0a80-f6fc interface gigabitethernet 1/0/1 to gigabitethernet 1/0/3 vlan 10 //配置多个交换机出接口的MAC地址表项

4.  Switch上配置静态ARP表项

[Switcharp static 10.128.246.252 03bf-0a80-f6fc  //配置NLB群集的ARP表项,此处必须配置短表项。

[Switchquit

5.  验证配置结果

Switch上使用display mac-address multiport vlan 10命令,查看已配置的对应多出接口的MAC地址表项信息。

<Switchdisplay mac-address multiport vlan 10

--------------------------------------------------------------------------------

MAC Address       VLANID    Out-Interface               Status 

--------------------------------------------------------------------------------

03bf-0a80-f6fc    10        GigabitEthernet1/0/1        Active                               

                            GigabitEthernet1/0/2        Active                               

                            GigabitEthernet1/0/3        Active                               

                                            3 port(s)                          

--------------------------------------------------------------------------------

Total Group(s) : 1

Switch上使用display arp static命令,查看静态ARP表项信息。

<Switchdisplay arp static

IP ADDRESS      MAC ADDRESS     EXPIRE(M) TYPE        INTERFACE   ×××-INSTANCE 

                                          VLAN/CEVLAN                          

------------------------------------------------------------------------------

10.128.246.252  03bf-0a80-f6fc            S--         Multi-port:3           

------------------------------------------------------------------------------ 

Total:1        Dynamic:0      Static:1     Interface:0

 

配置注意事项

1.   接口加入的VLAN不能是MAC VLANSuper-VLAN、专线VLANX1E系列单板上的MUX VLANSEPSmart Ethernet Protection)和RRPPRapid Ring Protection Protocol)的控制VLAN

2.   当出接口为Eth-Trunk时,需要通过执行命令unknown-unicast load-balance enhanced,将接口配置为非已知单播负载分担方式,否则配置不生效。