pacemaker - corosync/pacemaker 将 OCF_RUNNING_MASTER 视为错误
问题描述
我创建了一个 ocf 资源代理,我想将它作为主/从集运行。起初,我的监控函数在一个正在运行的节点(无论它是主节点还是从节点)上返回了 OCF_SUCCESS,它确实有效,但起搏器不知道哪个是当前主节点(两个实例都报告为从节点)。
这就是为什么我将monitor函数更改为在master上返回OCF_RUNNING_MASTER,在slave上返回OCF_SUCCESS(因为我在drddb的代码中看到了它)。不幸的是,起搏器似乎将此解释为错误,杀死了主节点,将第二个节点推向主节点,等等。
有谁知道我如何让起搏器将 OCF_RUNNING_MASTER 解释为成功?
CRM配置:
node 3232286770: VStorage1 \
attributes standby=off
node 3232286771: VStorage2
primitive virtual_ip IPaddr2 \
params ip=192.168.100.230 cidr_netmask=32 nic=ens256 \
op monitor interval=10s \
meta migration-threshold=10
primitive filecluster ocf:msn:cluster \
op start timeout=120 interval=0 \
op stop timeout=120 interval=0 \
op promote timeout=120 interval=0 \
op demote timeout=120 interval=0 \
op monitor interval=20s role=Slave \
op monitor interval=10s role=Master \
meta migration-threshold=10
ms ms filecluster
property cib-bootstrap-options: \
have-watchdog=false \
dc-version=1.1.14-70404b0 \
cluster-infrastructure=corosync \
cluster-name=debian \
stonith-enabled=false \
no-quorum-policy=ignore
crm状态输出:
root@VStorage1:/usr/lib/ocf/resource.d# crm status
Last updated: Mon Nov 5 11:21:34 2018 Last change: Fri Nov 2 20:22:53 2018 by root via cibadmin on VStorage1
Stack: corosync
Current DC: VStorage1 (version 1.1.14-70404b0) - partition with quorum
2 nodes and 3 resources configured
Online: [ VStorage1 VStorage2 ]
Full list of resources:
virtual_ip (ocf::heartbeat:IPaddr2): Started VStorage1
Master/Slave Set: ms [filecluster]
Slaves: [ VStorage1 ]
Stopped: [ VStorage2 ]
Failed Actions:
* filecluster_monitor_20000 on VStorage1 'master' (8): call=153, status=complete, exitreason='none',
last-rc-change='Fri Nov 2 20:27:28 2018', queued=0ms, exec=0ms
* filecluster_monitor_20000 on VStorage2 'master' (8): call=135, status=complete, exitreason='none',
last-rc-change='Fri Nov 2 20:27:11 2018', queued=0ms, exec=0ms
解决方案
仅当升级为主失败时,主从资源代理才会报告两个从属。您的 ocf_agent 中晋升为大师的条件是什么。当资源被提升为 master 时,请参阅 drbd 代理。
推荐阅读
- amazon-web-services - 将一堆 URL 下载到 S3 中的简单方法是什么?
- assembly - INC 语句是否存储结果?
- regex - 了解是否在 Jquery Validate 中进行正则表达式验证
- python - 如何为每个数据数组按具有不同数据大小长度的相似形状对曲线进行分组?
- python - Python - 给定一个字典,我如何解构这些值
- python - 三角函数的奇怪行为
- opencv - 如何在opencv3中调用types_c.h中定义的函数
- aframe - 在工作网站后端托管时,全景图不会加载到 AFrame 360 Image 脚本中
- c# - WCF 服务未加载下拉菜单
- algorithm - 你如何完美地散列一个可能的 unicode 字符与一个 32 位整数的联合?