本文介绍不同的网络负载均衡(NLB)操作模式如何影响网络基础结构,以及网络可以支持每个模式的最佳方法。
原始 KB 数: 4494444
总结
根据我们的经验,用户在使用 NLB 时遇到的最常见问题是,他们没有足够的技术信息。 因此,部署和实现通常缺少一些强制设置,或者不考虑每个网络中最重要的因素:带宽消耗。
NLB 可以采用以下三种模式中的任何一种操作:使用 Internet 组成员身份协议的单播、多播和多播(IGMP 多播)。 每种模式都有不同的要求,并在网络基础结构上提出了不同的需求。
重要
群集中的所有节点都必须使用相同的操作模式。
下表总结了每种模式的要求、优点和缺点。
NLB 操作模式 | 特殊要求 | 优点 | 缺点 |
---|---|---|---|
单播 | NLB 必须能够更改 MAC 适配器地址。 |
|
|
多播 | 网络基础结构必须使用静态 ARP 条目和静态 MAC 地址表条目。 |
|
配置比单播更复杂 |
使用 IGMP 进行多播 | 网络交换机必须能够窥探 IGMP。 |
|
要求网络硬件具有其他模式不需要的特定功能 |
可以在三种操作模式之一中配置 NLB 群集:单播、多播或 IMGP 多播。 如果基础结构配置正确,这三种模式都非常有效。 但是,如果尚未准备好网络基础结构以支持所使用的模式,则严重问题可能会开发。 每个模式对网络基础结构有不同的影响。
单播
单播是配置的最简单操作模式。 从理论上讲,无需在网络基础结构中执行任何其他操作。 实际上,可能需要修改基础结构来管理网络流量。
在单播模式下,NLB 使用 NLB MAC 地址替换群集每个节点中每个适配器的原始硬件 MAC 地址。 由于多个适配器现在具有相同的地址,因此网络中的任何物理交换机都无法再正确维护其 MAC 地址表。 由于它们无法确定哪些流量发送到哪个交换机端口,因此交换机开始将所有流量发送到所有端口,以确保流量到达其目标。 这称为单播洪水方案。
单播洪水可能会严重影响网络性能。 除了常规网络流量外,每个 NLB 节点还会发送检测信号数据包(每个检测信号数据包包含大约 1500 字节的数据)。 默认情况下,节点每秒发送一个检测信号数据包,并等待接收其中五个数据包,直到将节点视为聚合为止。 在单播洪水情况下,任何交换机都会将此检测信号流量重新广播到所有交换机端口,就像常规网络流量一样。 例如,如果网络具有 24 个端口或 48 端换机,并且其中只有两个端口连接到 NLB 节点,则交换机最终可能会将重要的网络流量广播到不需要它的 22(或 46) 服务器。
若要避免单播洪水,可以选择以下选项:
选项 1:在网络交换机和 NLB 节点之间插入中心。 中心使用 NLB 单播 MAC 地址并连接到单个交换机端口,以便交换机可以正确管理其 MAC 地址表。 中心将流量转发到 NLB 节点,连接到其他交换机端口的服务器不会接收额外的 NLB 流量。
选项 2:为 NLB 服务器创建单独的 VLAN。 确保其他子网可以访问 VLAN。 此配置将 NLB 流量隔离到分配给该 VLAN 的交换机端口。
在单播模式下配置具有双 NIC 的计算机
在某些情况下,你需要在计算机上有两个网络接口卡(NIC)。 如果运行的是 Windows Server 2008 或更高版本,则必须在 NIC 上启用 IP 转发,以确保流量正确路由。 默认情况下,在早期版本的 Windows 中启用 IP 转发。
启用 IP 转发之前,必须获取群集 NIC 的索引。 在要配置的计算机上,打开命令提示符窗口并运行以下命令:
netsh interface ipv4 show int
此命令的输出将列出计算机上的接口,如下所示。
在命令提示符窗口中,运行以下命令:
netsh interface ipv4 set interface <Cluster Idx> forwarding=enabled
在此命令中, <群集 Idx> 表示群集接口的索引。
若要验证设置是否已更改,请运行以下命令:
netsh interface ipv4 show interface <Cluster Idx> l=verbose
在此命令中, <群集 Idx> 表示群集接口的索引。
输出显示现在已启用转发。
在单播模式下配置虚拟环境
默认情况下,虚拟环境中的虚拟交换机通常防止单播泛滥。 有关配置的详细信息,请参阅以下资源:
如果使用 Hyper-V 运行虚拟环境,请打开 Hyper-V 管理控制台。 选择虚拟机设置,选择 NIC 设置,然后选择“ 启用 MAC 地址欺骗”。 选择“确定”。 有关详细信息,请参阅提示:为虚拟网络适配器配置 MAC 地址欺骗。
如果使用 VMware 运行虚拟环境,请参阅 VMware 文章 Microsoft NLB 在单播模式(1556)中无法正常工作。 本文介绍如何配置虚拟网络基础结构。 如果对 VMware 文档有疑问,请记得联系 VMware。
如果使用另一个虚拟环境(如 XenServer 或 VirtualBox),并且遇到类似的问题,请联系制造商获取指导。
多播
多播模式不同于单播模式。 NLB 将 NLB 虚拟 IP (VIP) 地址转换为 NLB 多播 MAC 地址,而不是更改网络适配器上的 MAC 地址。 此 MAC 的格式为 03-BF-XX-XX-XX-XX-XX。 NLB 还确保群集的主要 IP 地址作为地址解析协议(ARP)的一部分解析为此多播地址。 尽管单个网络适配器保留其原始 MAC 地址,但 NLB 流量将寻址到 NLB 多播 MAC 地址。
若要支持此配置,必须将网络基础结构配置为使用静态 ARP 条目和 MAC 地址表条目。 网络交换机在常规操作过程中无法了解 NLB 多播 MAC 地址。 如果跳过手动配置步骤,网络交换机可能会将 NLB 流量淹没到所有端口或丢弃数据包。 网络最初似乎能够正常运行,但问题会随着时间的推移而增加。
下表中列出的文章清楚地说明了根据网络基础结构供应商正确配置网络基础结构需要执行的操作。 请记住,我们不维护这些文章。 因此,我们无法保证它们准确或可用。 如果对这些文章有任何疑问,请联系相应的供应商。
供应商 | 文章 |
---|---|
VMware | 示例配置 - 通过路由子网进行网络负载均衡 (NLB) 多播模式 - Cisco 交换机静态 ARP 配置(1006525) |
Cisco |
|
Juniper | |
HPE | HP 交换机 5500/5500G - 如何在交换机 5500 和 5500G 上使用多播实现Microsoft网络负载均衡 |
Dell | Dell Networking Force10 交换机和Microsoft网络负载均衡 |
Huawei | 将设备连接到 NLB 群集的示例(使用多接口 ARP) |
D-Link | 多播模式配置示例中的 D-Link 第 3 层交换机Microsoft NLB |
Avaya | Microsoft网络负载均衡 的技术配置指南(下载) |
在多播模式下配置虚拟环境
在虚拟环境中,网络交换机连接到虚拟机监控程序主机服务器。 在高可用性虚拟环境中,一组虚拟机监控程序主机支持一组虚拟机。 单个虚拟机可以驻留在任何虚拟机监控程序主机上,并且在特定情况下,它可能会迁移到其他虚拟机监控程序主机。 无论虚拟机运行的虚拟机监控程序主机如何,网络流量都必须能够到达正确的虚拟机。
若要在此类环境中使用多播模式,必须配置网络交换机的 MAC 地址表,以便连接到虚拟机监控程序主机的每个端口都使用静态条目映射到 NLB 多播 MAC 地址。 例如,请考虑包含八个虚拟机监控程序主机的环境。 每个虚拟机监控程序主机都有两个网络适配器,所有适配器都连接到交换机。 交换机的 MAC 地址表需要将每个端口映射到 NLB 多播 MAC 地址的静态条目。
IGMP 多播
若要使用 IGMP 多播,网络交换机必须能够窥探 IGMP。
此模式基本上与多播模式相同,不同之处在于交换机可以在此模式下自动生成其 MAC 地址表。
启用 IGMP 多播时,NLB 节点会将 IGMP 联接消息发送到 239.255.x.y 多播地址(在此地址中,x.y 表示 NLB VIP 的最后两个八进制数)。 例如,如果 NLB VIP 为 10.0.0.1,则 IGMP 联接消息的多播地址为 239.244.0.1。 这些消息指示 NLB 节点的组成员身份。 这些开关使用此信息来配置 MAC 地址表。
多播部分中列出的一些文章包括其设备的正确配置参数,以便使用 IGMP 进行多播。 若要验证设备是否可以支持此模式,请联系硬件供应商。
注意
直到 Windows Server 2022,NLB 在包含 IGMP 多播模式的任何 Windows 版本上都支持 IGMP 版本 1。
配置 NLB 操作模式
从 NLB 的角度来看,配置非常简单:安装角色、打开控制台、创建负载均衡群集、选择节点、设置 NLB 模式,然后设置端口和相关性。
注意
若要使用 NLB 管理器配置群集节点,你必须是群集节点上的 Administrators 组的成员。
若要配置 NLB 群集操作模式,请使用以下步骤:
- 在服务器管理器中,选择“管理工具”,然后选择“网络负载均衡管理器”。
- 如果 NLB 管理器尚未列出群集,请连接到群集。
- 右键单击群集并选择“ 群集属性”。
- 在“群集参数”选项卡上,选择群集操作模式下的单播或多播。 如果适用,还可以通过选中 “IGMP 多播 ”复选框来启用 Internet 组管理协议(IGMP)支持。
若要为 NLB 配置 MAC 寻址(具体取决于 NLB 模式),最重要的工具是 NLB IP2MAC。 此工具可在安装了 NLB 的任何计算机上使用,并且易于使用。 若要启动该工具,请打开命令提示符窗口并运行以下命令:
NLB IP2MAC <VIP of NLB>
在此命令中, <NLB> 的 VIP 表示 NLB 虚拟 IP 地址。
如屏幕截图所示,可以使用此命令轻松获取每个模式的 MAC 地址。 作为替代方法,可以执行数学运算,请考虑以下准则(数字对应于屏幕截图中的红色数字):
在单播模式下,MAC 地址以 02-BF 开头。 随后是一系列十六进制代码,表示 VIP 地址的每个八进制代码。
在多播模式下,MAC 地址以 03-BF 开头。 同样,接下来是一系列十六进制代码,这些代码表示 VIP 地址的每个八进制字节。
在采用 IGMP 模式的多播中,MAC 地址以 01-00-5E-7F 开头。 地址的最后两个部分是 VIP 地址的最后两个八进制。
有关如何部署和维护 NLB 的详细信息,请参阅以下资源:
第三方信息免责声明
本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 Microsoft 对这些产品的性能和可靠性不作任何明示或默示担保。
第三方联系人免责声明
Microsoft 会提供第三方联系信息来帮助你查找有关本主题的其他信息。 此联系信息可能会更改,恕不另行通知。 Microsoft 不保证第三方联系信息的准确性。