Corosync/ кардиостимулятор рассматривает OCF_RUNNING_MASTER как ошибку

Я создал агент ресурса ocf и хочу запустить его как набор Master/Slave. Сначала функция моего монитора возвращала OCF_SUCCESS на работающем узле (независимо от того, был ли он ведущим или ведомым), который действительно работал, но кардиостимулятор не знал, какой из них был текущим (оба экземпляра были зарегистрированы как подчиненные).

Вот почему я изменил функцию монитора, чтобы она возвращала OCF_RUNNING_MASTER на ведущем устройстве и OCF_SUCCESS на ведомом устройстве (потому что я видел это в коде drdb). К сожалению, кардиостимулятор, по-видимому, воспринимает это как ошибку, убивает мастера, передает второй узел мастеру и т. Д.

Кто-нибудь знает, как я могу заставить кардиостимулятор интерпретировать 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

0 ответов

Агент ресурса "ведущий-ведомый" сообщит обо всех ведомых, только если не удается выполнить преобразование в ведущий. Каково условие в вашем ocf_agent для повышения до мастерства? См. Drbd agent для условия, когда ресурс повышен до master.

Другие вопросы по тегам