【问题标题】:Could not map name UUID | Pacemaker | linux clustering无法映射名称 UUID |起搏器 | linux集群
【发布时间】:2018-10-15 08:49:59
【问题描述】:

我在 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 的计算方式:

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 -nuname -n 都返回以下内容: DBHA

也在cibadmin中:

<nodes> <node id="2" uname="DBHA">...

当我手动运行 crm_attribute 命令设置属性时,它再次返回相同的错误。

这里是 CIB:CIB

请帮忙

提前致谢

注意:我们在不同的操作系统上有多个设置(CENTOS (6.5,6.7,7.2,7.5) Redhat(7.5)。我们以前从未遇到过这个问题。此外,节点名称中的大写字母(或小写字母)从未导致之前有任何问题。

【问题讨论】:

    标签: centos centos7 postgresql-9.3 high-availability pacemaker


    【解决方案1】:

    原来,pacemaker 更改了crm_attribute 中获取节点名称的逻辑,并在比较节点名称时留下了一个错误。

    此问题已在较新版本的起搏器中得到修复 (7618c29)。更新到最新补丁为我修复了它。

    【讨论】:

      猜你喜欢
      • 2021-12-10
      • 2020-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-22
      • 2021-11-21
      • 1970-01-01
      相关资源
      最近更新 更多