在每个节点上具有两个网络接口的Pacemaker Cluster

问题描述

我正在尝试在2个节点之间创建一个群集,每个节点具有2个网络接口。这个想法是,当处于活动状态的节点的2个接口中的某些接口掉落(或逻辑上2个)时,群集的节点发生更改。问题在于,仅当活动节点的接口eth1掉落时,群集才会更改节点。如果活动节点的接口eth0掉线,则群集将永远不会更改节点。

这是节点的网络配置

node1:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
      inet 192.168.0.3  netmask 255.255.255.248  broadcast 192.168.0.7
eth1: flags=4163<UP,MULTICAST>  mtu 1500
      inet 172.26.34.2  netmask 255.255.255.248  broadcast 172.26.34.7

node2:
eth0: flags=4163<UP,MULTICAST>  mtu 1500
      inet 192.168.0.4  netmask 255.255.255.248  broadcast 192.168.0.7
eth1: flags=4163<UP,MULTICAST>  mtu 1500
      inet 172.26.34.3  netmask 255.255.255.248  broadcast 172.26.34.7

这些是命令,我用于在节点之间创建集群并分配资源:

pcs cluster auth node1 node2 -u hacluster -p 1234 --debug --force 
pcs cluster setup --name HAFirewall node1 node2 --force
pcs cluster start --all
pcs resource create VirtualIP_eth0 ocf:heartbeat:IPaddr2 ip=192.168.0.1 cidr_netmask=29 nic=eth0 op monitor interval=30s --group InterfacesHA
pcs resource create VirtualIP_eth1 ocf:heartbeat:IPaddr2 ip=172.26.34.1 cidr_netmask=29 nic=eth1 op monitor interval=30s --group InterfacesHA
pcs property set stonith-enabled=false
pcs property set no-quorum-policy=ignore
pcs resource enable InterfacesHA

这是 corosync.conf 文件的配置:

totem {
    version: 2
    secauth: off
    cluster_name: HAFirewall
    transport: udpu
}

nodelist {
    node {
        ring0_addr: node1
        nodeid: 1
    }

    node {
        ring0_addr: node2
        nodeid: 2
    }
}

quorum {
    provider: corosync_votequorum
    two_node: 1
}

logging {
    to_logfile: yes
    logfile: /var/log/corosync/corosync.log
    to_syslog: yes
}

这是 pcs status 命令的输出:

Cluster name: HAFirewall
Stack: corosync
Current DC: node1 (version 1.1.16-94ff4df) - partition WITHOUT quorum
Last updated: Tue Oct 27 19:01:35 2020
Last change: Tue Oct 27 18:22:27 2020 by hacluster via crmd on node2

2 nodes configured
2 resources configured

Online: [ node1 ]
OFFLINE: [ node2 ]

Full list of resources:

 Resource Group: InterfacesHA
     VirtualIP_eth0 (ocf::heartbeat:IPaddr2):   Started node1
     VirtualIP_eth1 (ocf::heartbeat:IPaddr2):   Started node1

Daemon Status:
  corosync: active/disabled
  pacemaker: active/disabled
  pcsd: active/enabled

这是 crm configure show 命令的输出:

node 1: node1
node 2: node2
primitive VirtualIP_eth0 IPaddr2 \
    params ip=192.168.0.1 cidr_netmask=29 \
    op start interval=0s timeout=20s \
    op stop interval=0s timeout=20s \
    op monitor interval=30s
primitive VirtualIP_eth1 IPaddr2 \
    params ip=172.26.34.1 cidr_netmask=29 \
    op start interval=0s timeout=20s \
    op stop interval=0s timeout=20s \
    op monitor interval=30s
group InterfacesHA VirtualIP_eth0 VirtualIP_eth1
location cli-prefer-InterfacesHA InterfacesHA role=Started inf: node1
property cib-bootstrap-options: \
    stonith-enabled=false \
    no-quorum-policy=ignore \
    have-watchdog=false \
    dc-version=1.1.16-94ff4df \
    cluster-infrastructure=corosync \
    cluster-name=HAFirewall

这些是node1处于活动状态并具有虚拟IP时的接口

eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
 link/ether ac:1f:6b:90:a5:58 brd ff:ff:ff:ff:ff:ff
 inet 192.168.0.3/29 brd 192.168.0.7 scope global eth0
    valid_lft forever preferred_lft forever
 inet 192.168.0.1/29 brd 192.168.0.7 scope global secondary eth0
    valid_lft forever preferred_lft forever
 inet6 fe80::ae1f:6bff:fe90:a558/64 scope link 
    valid_lft forever preferred_lft forever
eth1: <BROADCAST,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
 link/ether ac:1f:6b:90:a5:59 brd ff:ff:ff:ff:ff:ff
 inet 172.26.34.2/29 brd 172.26.34.7 scope global eth1
    valid_lft forever preferred_lft forever
 inet 172.26.34.1/29 brd 172.26.34.7 scope global secondary eth1
    valid_lft forever preferred_lft forever
 inet6 fe80::ae1f:6bff:fe90:a559/64 scope link 
    valid_lft forever preferred_lft forever

有人知道为什么在eth1接口关闭时群集可以正常工作而在etho接口关闭时群集却无法工作吗?

问候和感谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...