我在Centos 7.2上有一个基于Pacemaker(v1.1.18-11)和corosync(v2.4.3-2)设置的Linux群集
这是一个两个节点设置,其中节点= DBHA(主)和DBFAILOVER(从)
我有一个使用此资源代理的资源Postgresql9:pgsql稍有变化
我正在使用标准文档来设置Postgres复制:PgSQL_Replicated_Cluster
在为主人完成所有步骤之后,它仍然不是主人。在/var/log/cluster/corosync.log中显示以下错误Could not map name=dbha to a UUID
经过一阵调试后,我发现以下命令返回上述错误:/usr/sbin/crm_attribute -l reboot -N "dbha" -n "Postgresql9-status" -v "STOP"
计算节点名的方式:NODENAME=$(ocf_local_nodename | tr '[A-Z]' '[a-z]')
ocf_local_nodename()来自ocf-shellfuncs:
ocf_local_nodename() {
# use crm_node -n for pacemaker > 1.1.8
which pacemakerd > /dev/null 2>&1
if [ $? -eq 0 ]; then
local version=$(pacemakerd -$ | grep "Pacemaker .*" | awk '{ print $2 }')
version=$(echo $version | awk -F- '{ print $1 }')
ocf_version_cmp "$version" "1.1.8"
if [ $? -eq 2 ]; then
which crm_node > /dev/null 2>&1
if [ $? -eq 0 ]; then
crm_node -n
return
fi
fi
fi
# otherwise use uname -n
uname -n
}
我尝试在DBHA节点上同时运行命令
crm_node -n
和uname -n
都返回以下内容:DBHA
同样在cibadmin中:
<nodes> <node id="2" uname="DBHA">...
当我手动运行crm_attribute命令来设置属性时,它再次返回相同的错误。
这是CIB:CIB
请帮忙
提前致谢
注意:我们在不同的OS(CENTOS(6.5,6.7,7.2,7.5)Redhat(7.5)上有多种设置,我们以前从未遇到过此问题,而且,节点名称中的大写字母(或小写字母)也从未引起过任何问题。 。
最佳答案
事实证明,起搏器更改了在crm_attribute
中获取节点名称的逻辑,并在比较节点名称时留下了错误。
在较新版本的起搏器中,此问题已修复(7618c29)。更新到最新补丁已为我修复。
关于centos - 无法映射名称UUID |起搏器| linux集群,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52812899/