Не удалось сопоставить имя UUID |Кардиостимулятор |Linux кластеризация - PullRequest
0 голосов
/ 15 октября 2018

У меня есть Linux Cluster, основанный на настройке Pacemaker (v1.1.18-11) и corosync (v2.4.3-2) на Centos 7.2. Это установка двух узлов с узлами = DBHA (master)и 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

}

Я попытался выполнить обе команды crm_node -n и uname -n на узле DBHA, оба возвращают следующее: DBHA

Также в cibadmin:

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

Когда я вручнуюЗапустите команду crm_attribute для установки атрибута, она снова возвращает ту же ошибку.

Вот CIB: CIB

Пожалуйста, помогите

Заранее спасибо

ПРИМЕЧАНИЕ: у нас есть несколько установок на разных ОС (CENTOS (6.5,6.7,7.2,7.5) Redhat (7.5). Мы никогда не сталкивались с этой проблемой раньше. Кроме того, заглавная буква (или строчные буквы) в именах узлов никогдаВызывали какие-либо проблемы раньше.

1 Ответ

0 голосов
/ 30 января 2019

Оказывается, что кардиостимулятор изменил логику получения имен узлов в crm_attribute и оставил ошибку при сравнении имен узлов.

Это исправлено ( 7618c29 ) в более новой версиикардиостимулятора.Обновление до последней версии исправило это для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...