简介
本文档介绍如何在Nexus 7000上配置Microsoft网络负载均衡(NLB)。
先决条件
要求
本文档没有任何特定的要求。
使用的组件
本文档中的信息基于Cisco NX-OS软件5.2(x)版或更高版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
配置
注意:使用命令查找工具(仅限注册用户)可获取有关本部分所使用命令的详细信息。
NLB概述
网络负载均衡(NLB)技术用于在一组服务器之间分发客户端请求。
NLB有三种主要模式:单播、组播和互联网组管理协议(IGMP)组播:
- 单播模式为集群分配虚拟IP和虚拟MAC地址。此方法依赖于未知单播泛洪。由于虚拟MAC地址未在任何交换机端口上获知,因此发往虚拟MAC地址的流量会泛洪到VLAN中。这意味着所有群集服务器都会接收发往虚拟MAC地址的流量。此方法的一个缺点是VLAN中的所有设备都会收到此流量。缓解此行为的唯一方法是将NLB VLAN仅限于NLB服务器接口,以避免泛洪到应接收流量的接口。
- 组播模式将单播IP地址分配给非互联网编号分配机构(IANA)组播MAC地址(03xx.xxxx.xxxx)。IGMP监听不会动态编程此地址,这会导致VLAN中NLB流量泛洪。有关如何为此模式配置的示例,请参阅选项2A。
- IGMP组播模式为集群分配IANA范围(01:00:5E:XX:XX:XX)内的虚拟单播IP地址和虚拟组播MAC地址。 集群服务器为已配置的组播组发送IGMP加入,因此交换机动态填充其IGMP监听表以指向集群服务器,从而防止单播泛洪。有关如何为此模式配置的示例,请参阅选项1A和选项2。
本文档介绍如何为组播和IGMP组播模式NLB配置Nexus 7000系列交换机。如前所述,组播NLB要求您有一个单播IP地址映射到组播MAC地址。如果您有Catalyst交换机,可以按照Catalyst交换机 for Microsoft网络负载均衡配置示例中的配置。Nexus 7000遵循相同的概念,但配置不同。
Nexus 7000需要能够运行5.2(x)版或更高版本才能执行以下配置:
- 在NX-OS版本4.2及更高版本中,您可以将静态地址解析协议(ARP)组播MAC地址映射到单播IP地址,但到该IP地址的流量会泛洪VLAN。
- 在NX-OS版本5.2及更高版本中,您可以配置系统,将这些数据包限制为仅限需要它们的接口。您可以使用多种方法来配置系统,每种方法各有优缺点。
注意:单播模式NLB在重叠传输虚拟化(OTV)重叠的多个站点上存在需要版本6.2(2)或更高版本。有关详细信息,请参阅单播模式NLB和OTV配置注意事项部分。
选项 1:静态ARP +基于MAC的L2组播查找+动态加入
- 配置静态ARP条目,将单播IP地址映射到启用协议独立组播(PIM)的接口上IP地址组播范围中的组播MAC地址:
interface Vlan10
no shutdown
ip address 10.1.2.1/24
ip pim sparse-mode
ip arp 10.1.2.200 0100.5E01.0101
- 在VLAN中启用基于MAC的第2层组播查找(默认情况下,组播查找基于目标组播IP地址):
vlan configuration 10
layer-2 multicast lookup mac
在要使用组播MAC地址限制IP单播数据包的VLAN中,必须使用基于MAC的查找。
当主机(负载均衡[LB]服务器或防火墙)加入与ARP条目的MAC地址对应的IP地址组播组时,系统会安装一个监听条目,该条目将发往该组MAC地址的流量限制为仅允许其加入的端口。
选项1的优点:允许服务器/防火墙动态加入/离开相应的组;启用/禁用目标流量的接收(例如,维护模式)。
选项1的缺点:仅当至少一个服务器/防火墙加入到组地址时,才会发生约束;如果最后一台设备离开组,流量将泛洪到VLAN中的所有端口。
选项1A:静态ARP +基于MAC的L2组播查找+动态加入,带IGMP监听查询器
- 如选项1中所示,配置静态ARP条目,但不要在交换机虚拟接口(SVI)上启用PIM:
interface Vlan10
no shutdown
ip address 10.1.2.1/24
ip arp 10.1.2.200 0100.5E01.0101
- 在VLAN中启用基于MAC的第2层组播查找,并启用互联网组管理协议(IGMP)监听查询器:
vlan configuration 10
ip igmp snooping querier 10.1.1.254
layer-2 multicast lookup mac
选项1A的优点:不需要启用PIM的SVI。否则,优点与选项1中相同。
选项1A的缺点:与选项1相同。
选项 2:静态ARP +基于MAC的L2组播查找+静态加入+ IP组播MAC
- 在此选项中,您再次配置静态ARP条目,该条目将单播IP地址映射到IP地址组播范围中的组播MAC地址:
interface Vlan10
no shutdown
ip address 10.1.2.1/24
ip arp 10.1.2.200 0100.5E01.0101
- 在VLAN中启用基于MAC的第2层组播查找(默认情况下,组播查找基于目标组播IP地址):
vlan configuration 10
layer-2 multicast lookup mac
在要使用组播MAC地址限制IP地址单播数据包的VLAN中,必须使用基于MAC的查找。
- 为连接到需要流量的NLB服务器的接口配置静态IGMP监听组条目:
vlan configuration 10
ip igmp snooping static-group 239.1.1.1 interface Ethernet8/2
ip igmp snooping static-group 239.1.1.1 interface Ethernet8/4
ip igmp snooping static-group 239.1.1.1 interface Ethernet8/7
选项2的优点:不需要启用PIM的SVI或IGMP监听查询器。
选项2的缺点:仅当至少一个服务器/防火墙端口处于UP状态(链路打开)时,才会发生约束;如果静态组接口设置中的所有端口均未启用,流量将泛洪到VLAN中的所有端口。如果服务器/防火墙移动,管理员必须更新静态组配置。
选项2A:静态ARP +基于MAC的L2组播查找+静态加入+非IP组播MAC
- 配置静态ARP条目,将单播IP地址映射到组播MAC地址,但此次在非IP地址组播范围:
interface Vlan10
no shutdown
ip address 10.1.2.1/24
ip arp 10.1.2.200 03bf.0000.1111
- 在VLAN中启用基于MAC的第2层组播查找(默认情况下,组播查找基于目标组播IP地址):
vlan configuration 10
layer-2 multicast lookup mac
在要使用组播MAC地址限制IP地址单播数据包的VLAN中,必须使用基于MAC的查找。
- 配置指向连接到NLB服务器的接口和任何冗余接口的静态MAC地址表条目:
mac address-table multicast 03bf.0000.1111 vlan 10 interface Ethernet8/2
mac address-table multicast 03bf.0000.1111 vlan 10 interface Ethernet8/4
mac address-table multicast 03bf.0000.1111 vlan 10 interface Ethernet8/7
注意:静态MAC条目应应用于任何共享NLB VLAN的设备,该VLAN指向服务器和冗余链路。 每个平台的具体配置各不相同。
选项2A的优点:不需要启用PIM的SVI或IGMP监听查询器;与非IP组播应用(自定义应用)配合使用。
选项2A的缺点:仅当至少一个服务器/防火墙端口处于UP状态(链路打开)时,才会发生约束;如果接口集中的所有端口均未启用,流量将泛洪到VLAN中的所有端口。如果服务器/防火墙移动,管理员必须更新静态组播MAC表配置。
单播模式NLB和OTV配置注意事项
注意:组播和IGMP组播模式在OTV重叠上被视为广播。 它们在OTV中运行,无需额外配置。
OTV允许在OTV边缘设备之间通告MAC地址,以及将MAC地址目标映射到可通过网络传输到达的IP下一跳。 结果是,OTV边缘设备开始像路由器而不是第2层网桥一样运行,因为如果它之前收到了有关如何到达该远程MAC目的地的信息,它会通过重叠转发第2层流量。
当OTV边缘设备收到通过重叠发往MAC的帧时,默认情况下它在MAC表中执行第2层查找。 由于它没有MAC信息,因此流量会从内部接口泛洪出去(因为它们的行为与常规以太网接口相同),但不会通过重叠。
在低于6.2(2)的版本中,单播模式NLB仅在服务器位于OTV重叠的单一侧时才起作用。 这些服务器所在站点的OTV VDC配置如下:
mac address-table static 02bf.0000.2222 vlan 10 interface <internal-interface>
在版本6.2(2)及更高版本中,单播模式NLB服务器可存在于OTV重叠的两端。 在服务器所在站点的OTV VDC上使用selective unicast flood命令可完成此操作:
otv flood mac 02bf.0000.2222 vlan 10
注意:当您将NLB用于OTV扩展VLAN时,必须在重叠上禁用ARP ND缓存“no otv suppress-arp-nd”。
注意事项
Nexus 7000上的NLB有一些注意事项:
- 思科漏洞ID CSCtw73595:IGMP模式泛洪M1和M2模块上的路由流量。这是一种硬件限制。
- 思科漏洞ID CSCtv00148:组播模式泛洪路由流量。此问题在版本5.2(3a)、6.0(2)及更高版本中已解决。
支持的平台
本文档专为Nexus 7000编写。但是,目前只有这些NX-OS平台支持NLB:
- Nexus 7000
- Nexus 6000
- Nexus 5000
- Nexus 9500(仅单播;请参阅Cisco Bug ID CSCup90853)
以下是有关NLB支持的其他信息:
- 3548系列平台上对NLB的支持由Cisco Bug ID CSCup43205跟踪。
- 30xx和31xx系列平台上对NLB的支持由Cisco Bug ID CSCup92860和CSCui82585跟踪。
- Cisco Bug ID CSCuq14783和CSCuq03168跟踪Nexus 9300/9500系列平台上对NLB的支持情况。
验证
注意:命令输出解释程序工具(仅限注册用户)支持某些 show 命令。使用输出解释器工具来查看 show 命令输出的分析。
静态ARP可以使用以下命令进行验证:
show ip arp
IGMP监听条目可通过以下命令进行验证:
show ip igmp snooping groups
vlan
静态MAC地址表条目可通过以下命令进行验证:
show ip igmp snooping mac-oif vlan
故障排除
目前没有针对此配置的故障排除信息。