最近我尝试在Ubuntu 20.04上安装和配置Corosync Pacemaker HA。所以,在我的2节点集群中一切都很顺利。但在我重新启动其中一个节点后,故障转移IP没有正确切换,大部分时间都在从节点上,而不是在主节点上。
这是我的Pacemaker配置。如果有人能帮我解决问题,我真的很感激。
property stonith-enabled=false
property no-quorum-policy=ignore
primitive ip IPaddr2 params ip=192.168.100.100 nic=eth0:0 op monitor interval=10s
primitive drbd_res ocf:linbit:drbd params drbd_resource=www op monitor interval=3s role=Master op monitor interval=30s role=Slave
ms drbd_master_slave drbd_res meta master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true
primitive fs_res ocf:heartbeat:Filesystem params device=/dev/drbd0 directory=/var/www/ fstype=ext4
colocation fs_drbd_colo INFINITY: fs_res drbd_master_slave:Master
order fs_after_drbd mandatory: drbd_master_slave:promote fs_res:start
commit
默认情况下,起搏器将尽可能均衡地在节点之间分配资源。您有3个基元资源,但您指定这两个资源必须始终与colocation fs_drbd_colo INFINITY: fs_res drbd_master_slave:Master
一起运行(文件系统和DRBD主资源(。当然,Pacemaker会尽力在另一个节点上运行其他资源(IP(,只要这样做有意义
如果你想同时运行这三个资源,那么你需要一个额外的主机代管约束来指定这一点。类似的东西下面的例子应该得到你想要的行为。
colocation ip_drbd_colo INFINITY: ip drbd_master_slave:Master
colocation ip_fs_colo INFINITY: ip fs_res