网络负载平衡

Network Load Balance

我在从集群中的节点访问 NLB 集群时遇到问题。

场景如下。

我在 IP 10.10.10.1105.0.0.0 [协议:两者都具有过滤单一主机] 上创建了一个 NLB 集群,单播模式具有三个节点

10.10.10.1095.0.0.0 -> 优先级 2
10.10.10.1345.0.0.0 -> 优先级 1
10.10.10.1015.0.0.0 -> 优先级 3

现在,如果我从任何其他节点 [forsay 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。我想根据集群优先级和状态来解析节点。

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

这个问题的解决方法很简单。 只需根据集群 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 集群完成,即使是从作为集群一部分的主机。

Note: Route needs to be added on all hosts that are part of the cluster that need resolution of address from cluster.