我正在尝试配置一个包含两台服务器的集群,每台服务器都有两个接口,我想配置两个浮动 IP,一个是私有的,另一个是公共的。这个想法是,如果一台服务器的两个接口之一出现故障,集群将切换到另一台服务器。
我正在使用 Pacemaker,但到目前为止,我只能让它使用一个浮动 IP。使用两个,到目前为止,没有办法。我正在配置两个资源(2 个浮动 IP)和两个环。
有人试过这个吗?或者有人可以指导我吗?
提前致谢!
答案1
应该相当简单。只需配置另一个 IPaddr2 原语。如果您需要指定虚拟 IP 绑定到哪个接口,可以通过参数相当容易地完成nic=
。当然,如果使用参数,两个节点上的接口名称将需要匹配nic=
。例如:
primitive p_ip_private IPaddr2 \
params ip=192.168.35.5 cidr_netmask=255.255.255.0 nic=eth1 \
op start interval=0 timeout=20 \
op stop interval=0 timeout=20s \
op monitor interval=20 timeout=20
但您不需要使用该nic=
参数。IPaddr2 资源代理应该足够智能,能够根据已分配给接口的网络和子网正确选择正确的接口。
答案2
谢谢您的回答。我刚刚试过,但没有成功。我创建了两个浮动 IP,如下所示:
pcs 资源创建公共 IP ocf:heartbeat:IPaddr2 ip=10.0.0.110 cidr_netmask=32 nic=enp0s3 op 监控间隔=30 秒
pcs 资源创建私有 IP ocf:heartbeat:IPaddr2 ip=192.168.123.110 cidr_netmask=32 nic=enp0s8 op 监控间隔=30 秒
在我的服务器中,我有两个网络接口,位于上述相同的范围内。因此,当我停止一个接口 enp0s3 集群时,会将资源移至另一台服务器。但如果我停止 enp0s8,则不会发生任何事情。如果任何网络接口发生故障,最好的情况是移动资源。
谢谢
答案3
为此,您应该创建一个监视资源 IP 地址,例如
如果 ping 失败,所有资源都转移到节点 X