网络负载平衡问题

网络负载平衡问题

概括

我在 NLB 群集中有两台机器。如果我关闭一台机器(模拟故障),那么第二台机器就不会承担负载。我正在寻求帮助来诊断原因。

细节

我构建了一个由两台网络负载平衡主机组成的测试/登台系统。这些主机实际上是在 VMware Server 下运行的虚拟机。每台主机都运行已应用 SP2 的 Windows 2003 Server Enterprise,并且每台主机都有两个 NIC。它们是新建的,除了安装 IIS6 外,配置更改很少。

IP地址如下:

  • 主机 1:专用:192.168.0.140 集群:192.168.0.141

  • 主机2:专用:192.168.0.142 集群:192.168.0.143

  • 群集 IP 地址:192.168.0.144

  • 子网掩码:255.255.255.0

在每个主机上我都设置了连接绑定顺序,以便专用连接排在第一位。

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

有一个端口规则:

  • 所有集群 IP 地址
  • 端口范围 80 至 80
  • 所有协议
  • 无亲和性的多主机过滤

创建集群没有问题,并且集群收敛正常。我可以 ping 集群地址,并且对该地址的 http 请求返回预期结果。我从一台单独的机器执行此操作,始终使用 IP 地址。

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

问题:有人能建议我如何解决这个问题吗?我遗漏了什么?

我已检查以下内容:

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

(我是一名开发人员,不是 IT 人员,因此如果我的术语有误或不准确,请谅解)

答案1

问题的原因是我使用单播模式创建 NLB 群集,这与 VMware 的虚拟化网络管道存在兼容性问题。当我使用多播重新创建群集时,它工作正常。

微软的文档表明使用单播是最简单的选择,因为它不需要更改路由器配置。但在 VMware 下则不然,它需要进行一些网络配置更改。多播模式似乎可以正常工作。

有用的链接:

答案2

当服务器 1 启动时,您是否仍然看到服务器 2 的集群 NIC 上有任何与集群相关的流量?

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

相关内容