Назад | Перейти на главную страницу

монитор ресурса systemd с кардиостимулятором и corosync возвращает «не работает» при клонировании, пока он

Настройка: - ОС: CentOS 7, последние версии на Corosync, Pacemaker и PCS - двухузловой активный / активный кластер с виртуальным IP-адресом - на обоих узлах Exim работает для отправки почты (SMTP), ничего особенного в конфигурации - когда Exim выходит из строя на одном из узлов, узел больше не должен участвовать в ответах на виртуальный IP-адрес, пока Exim не будет восстановлен и запущен

Как я пытался заставить это работать: - клонированный ресурс ocf: heartbeat: IPaddr2 для виртуального IP - клонированный ресурс systemd: exim для просмотра Exim с опцией on-fail = "standby"

Проблема: Изначально все работает как надо. Когда один из узлов не может запустить exim, он останавливается правильно, и узел больше не участвует в виртуальном IP. Проблема в том, что каким-то образом после остановки и запуска одного из узлов exim перезапускается (как и должно), но монитор возвращает «не работает». Когда ресурс Exim не настроен с on-fail = "standby", все работает как задумано, и я могу запускать / останавливать Exim и один из узлов столько, сколько захочу.

Сообщение в журнале:

Jan 28 16:17:30 testvm101 crmd[14183]: notice: process_lrm_event: LRM operation exim:0_monitor_30000 (call=141, rc=7, cib-update=211, confirmed=false) not running
Jan 28 16:17:30 testvm101 crmd[14183]: warning: status_from_rc: Action 20 (exim:0_monitor_30000) on testvm101 failed (target: 0 vs. rc: 7): Error
Jan 28 16:17:30 testvm101 crmd[14183]: warning: update_failcount: Updating failcount for exim:0 on testvm101 after failed monitor: rc=7 (update=value++, time=1422458250)

Вывод состояния ПК:

[root@testvm101 ~]# pcs status
Cluster name: smtp_cluster
Last updated: Wed Jan 28 16:31:44 2015
Last change: Wed Jan 28 16:17:13 2015 via cibadmin on testvm101
Stack: corosync
Current DC: testvm101 (1) - partition with quorum
Version: 1.1.10-32.el7_0.1-368c726
2 Nodes configured
4 Resources configured


Node testvm101 (1): standby (on-fail)
Online: [ testvm102 ]

Full list of resources:

 Clone Set: virtual_ip-clone [virtual_ip] (unique)
     virtual_ip:0       (ocf::heartbeat:IPaddr2):       Started testvm102
     virtual_ip:1       (ocf::heartbeat:IPaddr2):       Started testvm102
 Clone Set: exim-clone [exim] (unique)
     exim:0     (systemd:exim): Started testvm102
     exim:1     (systemd:exim): Started testvm102

Failed actions:
    exim:0_monitor_30000 on testvm101 'not running' (7): call=141, status=complete, last-rc-change='Wed Jan 28 16:17:30 2015', queued=6ms, exec=15002ms

Насколько я понимаю, на момент сообщения Exim запущен и работает на systemd. Я уже пытался указать опцию start-delay, надеясь, что это изменит ситуацию (но это не так).

При беге: pcs resource cleanup exim-clone чтобы очистить счетчик сбоев, все работает до тех пор, пока действие монитора не появится в первый раз, затем узел, помеченный как резервный, переключается другим ...

Пример: Состояние после сбоя монитора Exim на узле testvm102:

[root@testvm101 ~]# pcs status
...
Node testvm102 (2): standby (on-fail)
Online: [ testvm101 ]

Full list of resources:

 Clone Set: virtual_ip-clone [virtual_ip] (unique)
     virtual_ip:0       (ocf::heartbeat:IPaddr2):       Started testvm101
     virtual_ip:1       (ocf::heartbeat:IPaddr2):       Started testvm101
 Clone Set: exim-clone [exim] (unique)
     exim:0     (systemd:exim): Started testvm101
     exim:1     (systemd:exim): Started testvm101

Failed actions:
    exim:0_monitor_30000 on testvm102 'not running' (7): call=150, status=complete, last-rc-change='Wed Jan 28 16:33:59 2015', queued=5ms, exec=15004ms

Я запускаю очистку ресурса exim-resource, чтобы сбросить счетчик сбоев:

[root@testvm101 ~]# pcs resource cleanup exim-clone
Resource: exim-clone successfully cleaned up

По прошествии небольшого времени статус выглядит хорошо (и на самом деле также хорошо работает):

[root@testvm101 ~]# pcs status
...
Online: [ testvm101 testvm102 ]

Full list of resources:

 Clone Set: virtual_ip-clone [virtual_ip] (unique)
     virtual_ip:0       (ocf::heartbeat:IPaddr2):       Started testvm101
     virtual_ip:1       (ocf::heartbeat:IPaddr2):       Started testvm102
 Clone Set: exim-clone [exim] (unique)
     exim:0     (systemd:exim): Started testvm101
     exim:1     (systemd:exim): Started testvm102

В следующий раз, когда будет выполнено действие монитора, проверка на другом узле завершится ошибкой:

[root@testvm101 ~]# pcs status
...
Node testvm101 (1): standby (on-fail)
Online: [ testvm102 ]

Full list of resources:

 Clone Set: virtual_ip-clone [virtual_ip] (unique)
     virtual_ip:0       (ocf::heartbeat:IPaddr2):       Started testvm102
     virtual_ip:1       (ocf::heartbeat:IPaddr2):       Started testvm102
 Clone Set: exim-clone [exim] (unique)
     exim:0     (systemd:exim): Started testvm102
     exim:1     (systemd:exim): Started testvm102

Failed actions:
    exim:0_monitor_30000 on testvm101 'not running' (7): call=176, status=complete, last-rc-change='Wed Jan 28 16:37:10 2015', queued=0ms, exec=0ms

Может что-то забываю?

Цените помощь