networking负载平衡问题

概要

我在NLB群集中有两台机器。 如果我closures一台机器(模拟故障),那么第二台机器不占用负载。 我正在寻求帮助诊断这个原因。

细节

我已经构build了一个由两个networking负载平衡主机组成的testing/分期系统。 主机实际上是在VMware Server下运行的虚拟机。 每个主机都运行应用了SP2的Windows 2003 Server Enterprise,并且每个主机都有两个NIC。 它们是新build的,并且除了安装IIS6之外,只有极less的configuration更改。

IP地址如下:

在每台主机上,我都设置了连接绑定顺序,以便首先进行专用连接。

群集被configuration为使用单播,因为我需要使用专用NIC的主机之间的通信,而我没有合适的多播路由器。 主机1是优先级1,主机2是优先级2.权重设置为“相等”。

有一个单一的端口规则:

  • 所有群集IP地址
  • 端口范围80到80
  • 所有协议
  • 多个主机过滤,没有亲和力

创build集群并没有问题,它收敛。 我可以ping群集地址,http请求到该地址返回预期的结果。 我从一个单独的机器做到这一点,总是使用IP地址。

问题:当我closures主机1(模拟主机故障)时,我希望主机2对群集地址上的ping和http请求做出响应,但是这没有发生。 看起来主机2没有做任何事情。

问:任何人都可以提出如何解决这个问题? 我错过了什么?

我检查了以下内容:

  • IP地址和子网掩码如上设置。 专用连接有指定的网关和DNS地址,群集连接不。
  • 群集NIC的MAC地址在两台机器上都相同。
  • 群集连接绑定到适当的本地IP地址和群集IP地址。

(我是开发人员,而不是IT人员,如果我的术语错误或不准确,请致歉)

造成这个问题的原因是我使用单播模式创build了NLB群集,这与VMware的虚拟networkingpipe道存在兼容性问题。 当我使用多播重新创build群集时,它工作正常。

微软的文档build议使用单播是最简单的select,因为它不需要更改路由器configuration。 在VMware下这不是真的,这将需要一些networkingconfiguration的变化。 多播模式似乎只是工作。

有用的链接:

  • Microsoft NLB在单播模式下工作不正常 – 描述了为什么单播在VMware下不易工作,以及如果您真的想要使用它,该怎么办。 链接的页面是指ESX服务器,但它似乎也适用于VMware服务器。

  • 示例configuration – networking负载平衡(NLB)多播模式configuration – 如何使用多播模式设置群集。

  • 在虚拟环境中实施Microsoftnetworking负载平衡(pdf)

  • 一个最佳的networking负载平衡(NLB)configuration – 一些有用的背景

当服务器1启动后,您是否还能看到服务器2的群集NIC上的任何与群集相关的通信?

我怀疑,如果故障转移不起作用,那么您可能会遇到群集通信问题。