比较来自世界各地的卖家的域名和 IT 服务价格

Pacemaker: 如何为虚拟配置默认网关 IP?

我在同一子网上有三个节点和三个虚拟IP地址。 它与哪个地址被分配给哪个节点无关紧要。 IP地址公开可用。 结 - 这些是负载平衡,其将Web请求分发到多个内部系统。

在所有三个节点连接到网络的情况下,三个节点将平衡三个地址,以便每个节点都有一个地址。

如果只连接两个节点,则一个节点有一个地址,另一个节点 - 二。

如果只连接一个节点,则它具有所有三个地址。

这与此资源配置有关:

primitive IP_10 ocf:heartbeat:IPaddr2 params ip="x.x.x.10" cidr_netmask="24" nic="eth1"
primitive IP_11 ocf:heartbeat:IPaddr2 params ip="x.x.x.11" cidr_netmask="24" nic="eth1"
primitive IP_12 ocf:heartbeat:IPaddr2 params ip="x.x.x.12" cidr_netmask="24" nic="eth1"
现在事实是我有一个默认网关 (x.x.x.1), 在分配一个IP地址之后,需要在每个节点上配置。 显然,在地址为目标之前,无法配置默认网关。

我尝试的第一件事 - 它是为每个地址配置第二个资源, ocf: heartbeat: Route:

primitive default_gw_1 ocf:heartbeat:Route params destination="default" device="eth1" gateway="x.x.x.1"
primitive default_gw_2 ocf:heartbeat:Route params destination="default" device="eth1" gateway="x.x.x.1"
primitive default_gw_3 ocf:heartbeat:Route params destination="default" device="eth1" gateway="x.x.x.1"
然后将这些资源组合在一体中:

group net_10 IP_10 default_gw_1
group net_11 IP_11 default_gw_2
group net_12 IP_12 default_gw_3
虽然它有效,但在分配地址后正确设置默认网关。 在紧急开关的情况下,一切仍然按预期工作。 此示例显示断开连接后可能的资源分配。 Node1:

Node1: offline
Node2: net_10, net_11
Node3: net_12
出现问题时 Node1 返回网络。 然后节点上的其中一个资源 2, 例如 net_10, 将移动到节点 1. 现在资源经理 ocf: heartbeat: Route 停了下来 Node2, 删除默认网关并实际停止访问 Node2, 由于他没有默认的网关。 因此,剩下的地址 Node2 (net_11) 更不可用。

然后我试图纠正资源调度员 ocf: heartbeat: Route, 禁用路由删除。 似乎它有效,但似乎非常丑陋。

我想它应该是最好的解决方案。 如何配置何时将该节点分配至少一个IP地址,以便在节点上安装默认网关仍然安装在节点上?

(Pacemaker 1.1.7 在 Debian Wheezy)
已邀请:

三叔

赞同来自:

也许是迟到的,但只是为了别人有用。

在这种情况下,您必须只创建一个 GW, 然后将其克隆到所有节点上。 以下示例演示了此脚本

pcs

句法。

pcs cluster setup --name MyCluster node1 node2 node3 --start

pcs cluster cib cluster_cfg

pcs -f cluster_cfg property set stonith-enabled="false"

pcs -f cluster_cfg resource create IP_10 ocf:heartbeat:IPaddr2 ip="x.x.x.10" cidr_netmask="24" nic="eth1"
pcs -f cluster_cfg resource create IP_20 ocf:heartbeat:IPaddr2 ip="x.x.x.11" cidr_netmask="24" nic="eth1"
pcs -f cluster_cfg resource create IP_30 ocf:heartbeat:IPaddr2 ip="x.x.x.12" cidr_netmask="24" nic="eth1"

pcs -f cluster_cfg resource create default_gw ocf:heartbeat:Route destination="default" device="eth1" gateway="x.x.x.1"
pcs -f cluster_cfg resource clone default_gw

pcs -f cluster_cfg constraint order IP_10 then default_gw-clone
pcs -f cluster_cfg constraint order IP_20 then default_gw-clone
pcs -f cluster_cfg constraint order IP_30 then default_gw-clone

pcs -f cluster_cfg constraint colocation add IP_10 with IP_20 -1
pcs -f cluster_cfg constraint colocation add IP_10 with IP_30 -1
pcs -f cluster_cfg constraint colocation add IP_20 with IP_30 -1

pcs cluster cib-push cluster_cfg

要回复问题请先登录注册