1

我在从属于集群一部分的节点访问 NLB 集群时遇到问题。

这是场景。

我在具有三个节点

10.10.10.109\255.0.0.0 -> 优先级 2
10.10.10.134\255.0.0.0 ->优先级 1
10.10.10.101\255.0.0.0 -> 优先级 3

现在,如果我从任何其他节点 [例如 10.10.10.105] 访问集群 [10.10.10.110],它将解析 10.10.10.109,这是预期的。

现在,如果我从主机 10.10.10.109 访问 10.10.10.110,它会解析为 10.10.10.109,这不是集群所期望的。同样,如果我从主机 10.10.10.101 访问它,它会解析 10.10.10.101,尽管集群具有优先级。

我相信它是一个环回,因为 NLB IP 也在当前节点上注册,它自行解决而不是命中集群。

在应用程序设计中,应用程序将托管在作为集群一部分的节点上,并将访问 NLB 集群 ip。我想根据集群优先级和状态解析节点。

请建议我们如何解决这种情况。

4

1 回答 1

0

这个问题的解决方案很简单。只需根据您的集群 ip 添加一条到您的默认网关的路由。原因:我们想绕过本地解析并使用基于集群的优先级。

首先运行跟踪到 10.10.10.110 的路由(NLB 集群 IP)

PS C:\Users\Administrator> tracert 10.10.10.110

你会看见

  1    <1 ms    <1 ms    <1 ms  vm-xx.xxxx.local [10.10.10.110]

现在我们将添加一个路由,以便从路由器重定向请求。在我的示例中,我的网关是 10.10.10.99。

PS C:\Users\Administrator> route add 10.10.10.110 mask 255.255.255.255 10.10.10.99
 OK!

现在重新检查跟踪路线

PS C:\Users\Administrator> tracert 10.10.10.110

Tracing route to vm-xx.xxxx.local [10.10.10.110]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  10.10.10.99
  2     1 ms    <1 ms    <1 ms  vm-xx.xxxx.local [10.10.10.110]

现在,请求将通过网关路由,并且解析将按预期从 NLB 集群完成,即使从属于集群一部分的主机也是如此。

注意:需要在集群中需要从集群解析地址的所有主机上添加路由。

于 2015-03-06T10:48:42.533 回答