本文档介绍在终端 — 主机模式下使用交换矩阵互联(FI)的思科统一计算系统 — B(UCS-B)系列上实施Microsoft网络负载均衡(NLB)模式。上游设备也有许多要求,以便正确转发NLB流量,本文档对此进行了说明。配置示例重点介绍组播互联网组管理协议(IGMP)模式。
Cisco 建议您了解以下主题:
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
Microsoft NLB在三种不同的操作模式下运行:单播、组播和组播IGMP。一组NLB节点统称为NLB集群。NLB集群为一个或多个虚拟IP(VIP)地址提供服务。NLB集群中的节点使用其负载均衡算法,以便商定哪个节点将为发往NLB VIP的特定流量提供服务。
本文档未针对UCS上的Microsoft NLB提出特定部署建议。如本文档所述,NLB依靠非常规方法来传输集群绑定流量。已观察到,组播和组播IGMP模式似乎在UCS-B系列服务器上具有稳定且一致的操作。虽然NLB规模确定指南不在本文档的范围内,但通常建议将其用作小型部署的解决方案。
NLB 默认设置是单播模式。在单播模式下,NLB 将集群中每个服务器的实际 MAC 地址替换为公用 NLB MAC 地址。通常,是02bf:xxxx:xxxx范围内的内容。NLB集群中的所有节点都了解NLB VIP和MAC地址是什么。流量(包括来自NLB节点的地址解析协议(ARP)应答)从不来自NLB MAC或IP地址。而NLB节点使用基于成员主机ID的分配MAC地址。MAC地址通常在0201:xxxx:xxxx、0202、0203等范围内,每个节点对应一个集群。这是应答ARP请求时第2层(L2)报头中的源地址。但是,ARP报头信息包含NLB MAC地址。因此,希望与NLB VIP地址对应的主机会向NLB MAC地址发送流量。
符合IEEE标准的交换机(L2设备)根据L2源报头(而非ARP负载中包含的信息)构建其MAC地址表。这意味着转发到NLB集群的流量将发送到NLB MAC地址,该地址从不是流量的源。因此,发往NLB MAC地址的流量会以未知单播方式泛洪。
组播模式将集群单播虚拟IP地址分配给非互联网编号分配机构(IANA)组播MAC地址(03xx.xxxx.xxxx)。IGMP监听不会动态注册此地址,这会导致VLAN中的NLB流量泛洪为未知组播。
组播IGMP模式在IANA范围(01:00:5E:XX:XX:XX)内分配集群虚拟IP地址和组播MAC地址。 集群节点为已配置的组播组发送IGMP成员身份报告,因此FI动态填充其IGMP监听表以指向集群服务器。
使用组播IGMP模式有一点操作优势,因为有关感兴趣的L2端口的状态信息(通过IGMP成员身份报告和IGMP监听)可以同时在上游和下游进行维护。如果不优化IGMP监听,NLB将依赖未知组播泛洪进入NLB VLAN,以便通过UCS指定的广播/组播接收器传输到集群。在UCS版本2.0之后的版本中,指定的广播/组播接收器是按VLAN选择的。
在组播IGMP模式下支持NLB所需步骤的摘要如下所示:
NLB的基本设置,节点可以是虚拟机(VM)或Windows Server OS的裸机安装,如下图所示。
IP子网为10.1.1.0 /24的NLB VLAN 10。为简洁起见,MAC地址被截断。
NLB VIP(MAC = 01,IP = 10.1.1.1)
节点A(MAC = AA,IP = 10.1.1.10)
NODE-B(MAC = BB,IP = 10.1.1.11)
NODE-C(MAC = CC,IP = 10.1.1.12)
上游交换机SVI上的静态ARP条目指向VIP地址10.1.1.1到MAC 01。
Microsoft NLB节点发送IGMP成员报告。请注意,IGMP监听表可能需要30-60秒才能填充。
使用IGMP监听和VLAN查询器,监听表填充了指向正确L2端口的NLB MAC地址和组。
有关详细信息,请参阅以下文档:
Nexus 1000v仅支持单播Microsoft NLB模式。因此,在使用UCS部署Nexus 1000v时,组播IGMP模式仅在您禁用Nexus 1000v上的监听后才能工作。完成此操作后,该VLAN上的Microsoft NLB数据包将作为未知组播泛洪。
为了将泛洪的影响降至最低:
本文档中描述的配置示例的验证过程在各节中提供。
目前没有针对此配置的故障排除信息。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
14-Aug-2014 |
初始版本 |