Pacemaker 虚拟 IP 无法路由到其网络之外

Pacemaker 虚拟 IP 无法路由到其网络之外

我有一个由以下设置组成的服务器集群:

2 个带有 2 个 NIC 的虚拟服务器。 eth0(私网10.0.0.0/16)和eth1(公网77.1.2.0/24,网关为77.1.2.1)

对于 HA-01 VPS,我将 eth0 上的私有 IP 设置为 10.0.0.1 对于 HA-02 VPS,我将 eth0 上的私有 IP 设置为 10.0.0.2

Pacemaker/Corosync 集群已在私有 IP 地址和定义为克隆资源 (IPAddr2) 的虚拟 IP (77.1.2.4) 之间建立,因此它可以在两个节点之间浮动。

pcs resource create VirtualIP1 ocf:heartbeat:IPaddr2 ip="77.1.2.4" cidr_netmask="24" nic="eth1" clusterip_hash="sourceip-sourceport" op start interval="0s" timeout="60s" op monitor interval="1s" timeout="20s" op stop interval="0s" timeout="60s" clone interleave=true ordered=true

问题是,我无法从世界上访问该 IP 地址。我注意到缺少一条路由,所以我添加了静态路由

ip r add default via 77.1.2.1 dev eth1

但我仍然无法从这些服务器 ping google.com,世界也无法在该 IP 上看到它们。我还尝试在 eth1 上添加来自同一子网的 IP 地址,如下所示:

HA-01 eth1: 77.1.2.2
HA-02 eth1: 77.1.2.3

服务器可以按世界在这些 IP 上看到,但如果我添加 VirtualIP 资源,我无法通过虚拟 IP 地址访问它们。我还尝试在路由表中添加源IP

ip r add default via 77.1.2.1 src 77.1.2.4

无济于事。我不知道我应该做什么才能让这个 VirtualIP 正常工作。我可以从该网络上的其他服务器访问 77.1.2.4(虚拟 IP 地址),但不能访问该网络之外的服务器。

防火墙已建立并通过命令传递高可用性端口

firewall-cmd --add-service="high availability"; firewall-cmd --add-service="high availability" --permanent

这里有什么我想念的吗?如果我在其中一台服务器的接口上单独添加该地址(77.1.2.4 - 虚拟 IP),它将起作用......那么 ARP 表是否存在问题,或者路由器可能会阻止某些流量?

答案1

看看这个问题:https://serverfault.com/questions/778997/pacemaker-virtual-ip-loadbalancing-with-clone-and-clusterip

我认为这是一个路线问题。尝试问题中的最后一条评论,由strzelecki.maciek.他应用了一些 iptables 预路由,这很有帮助。也许是你的情况。

相关内容