在单播模式下,分配给 Microsoft NLB 群集的所有网卡将共享通用的 MAC 地址。这要求交换机上的所有网络流量都通过端口传输(泛滥)到所有的 NLB 节点。通常,在交换机获取通过其发送网络流量的主机的 MAC 地址时,可以在交换环境中避免通过端口传输(泛滥)流量。
Microsoft NLB 群集会屏蔽群集的所有传出流量的 MAC 地址,以防交换机获取 MAC 地址。
在 ESXi/ESX 主机中,每次出现特定的操作(例如,打开虚拟机电源、遇到组合故障切换、执行特定 vMotion 操作等)时,VMkernel 都会发送一个 RARP 数据包。RARP 数据包会通知交换机有关该虚拟机的 MAC 地址。在 NLB 群集环境中,只要打开 NLB 节点,就会公开群集网卡的 MAC 地址。这会导致所有入站流量通过单个交换机端口传递到 NLB 群集的单个节点中。
要解决此问题,必须将 ESXi/ESX 主机配置为在打开其任何虚拟机电源时不发送 RARP 数据包。
注意:
- VMware 建议配置群集以使用 NLB 多播模式,即使在完成这些步骤后 NLB 单播模式可以正常工作也是如此。之所以提出此建议,是因为这些步骤中介绍的设置有可能影响虚拟机上的 vMotion 操作。此外,单播模式会强制 LAN 上的物理交换机将所有的 NLB 群集流量广播到 LAN 上的每台机器中。如果您计划使用 NLB 单播模式,请确保:
- NLB 单播成员既可位于同一 ESX 主机上,也可位于不同 ESX 主机上。
连接到 NLB 群集的客户端计算机必须通过物理交换机与群集通信。
这是因为 NLB 单播依赖端口传输(泛滥)流量访问所有群集成员,并且虚拟交换机没有端口传输(泛滥)单播流量。
要确保客户端和群集之间的流量始终通过物理交换机,客户端和 NLB 群集应位于不同的广播域上。 - 不支持单播 NLB 虚拟机的 vMotion。
- 端口组上的安全策略伪传输设置为接受。
- 端口组/虚拟交换机会阻止 RARP 数据包的传输,如本文后面部分所述。
- VMware 建议在 NLB 服务器上提供两个网卡。
ESXi/ESX 3.x、4.x 和 5.x
在使用 Virtual Infrastructure (VI) Client 或 vSphere Client 打开虚拟机、组合故障切换等时,您可以阻止 ESXi/ESX 主机发送 RARP 数据包。您可以在虚拟交换机级别或端口组级别控制此设置。
要阻止虚拟交换机进行 RARP 数据包传输,请执行以下操作:
注意:此设置会影响所有使用交换机的端口组。您可以通过为端口组配置 RARP 数据包传输来覆盖各个端口组的此设置。
- 登录到 VI Client/vSphere Client,然后选择 ESXi/ESX 主机。
- 单击配置选项卡。
- 单击“硬件”下的网络。
- 单击 vSwitch 的属性。将显示“vSwitch 属性”对话框。
- 单击端口选项卡。
- 单击 vSwitch,然后单击编辑。
- 单击网卡绑定。
- 从“通知交换机”下拉列表中选择否。
![](https://api-broadcomcms-software.wolkenservicedesk.com/attachment/get_attachment_content?uniqueFileId=1512263632653)
- 单击确定,然后关闭“vSwitch 属性”对话框。
要阻止端口组进行 RARP 数据包传输,请执行以下操作:
注意:此设置会覆盖您为整个虚拟交换机进行的设置。
- 登录到 VI Client 或 vSphere Client,然后选择 ESXi/ESX 主机。
- 单击配置选项卡。
- 单击“硬件”下的网络。
- 单击 vSwitch 的属性。将显示“vSwitch 属性”对话框。
- 单击端口。
- 单击要编辑的端口组,然后单击编辑。
- 单击网卡绑定。
- 从“通知交换机”下拉列表中选择否。
![](https://api-broadcomcms-software.wolkenservicedesk.com/attachment/get_attachment_content?uniqueFileId=1512265163160)
- 单击确定以关闭“vSwitch 属性”对话框。
ESX 2.x
- 登录到管理界面,然后单击选项 > 高级设置。
- 将
Net.NotifySwitch
的值设置为 0
。
注意:Net.NotifySwitch
是影响所有虚拟机的全局设置。
有关 NLB 的详细信息,请参见 Microsoft TechNet 文章
Network Load Balancing Technical Overview。
注意:截至 2014 年 1 月 14 日,上述链接正确无误。如果您发现该链接已损坏,请提供反馈,VMware 员工将会更新该链接。此链接中的信息按原样提供,VMware 对于这些信息的准确性或适用性不做任何保证。如需了解相关信息,请参见
Microsoft Network Load Balancing Multicast and Unicast operation modes (1006580)。
Windows 2008 引入了一个强大的主机模型,该模型不允许不同的网卡相互通信。例如,如果请求发送到第二个网卡,并且没有默认的网关设置,则网卡不会使用第一个网卡来答复请求,即使第一个网卡上有默认的网关设置也是如此。
要更改此行为并返回 2003 模型,请在命令提示符下运行这些命令:
netsh interface ipv4 set interface "Local Area Connection" weakhostreceive=enable
netsh interface ipv4 set interface "Local Area Connection" weakhostsend=enable
其中,
Local Area Connection
为网络接口的名称。
有关详细信息,请参见关于
Strong and Weak Host Models 的 Microsoft TechNet 杂志文章。
注意:截至 2014 年 1 月 14 日,上述链接正确无误。如果您发现该链接已损坏,请提供反馈,VMware 员工将会更新该链接。此链接中的信息按原样提供,VMware 对于这些信息的准确性或适用性不做任何保证。
其他信息