monitor do recurso systemd com marca-passo e o corosync retorna “não executando” quando clonado enquanto está

2

A configuração: - SO: CentOS 7, versões mais recentes do Corosync, Pacemaker & PCS - cluster ativo / ativo de dois nós com um IP virtual - nos dois nós, o Exim está executando para ignorar o correio (SMTP), nada de especial na configuração - quando o Exim falha em um dos nós, o nó não deve mais participar da resposta ao IP virtual até que o Exim esteja de volta e funcionando

Como tentei fazer isso funcionar: - clonado ocf: heartbeat: recurso IPaddr2 para o IP virtual - systemd clonado: recurso exim para assistir ao Exim com a opção "standby" on-fail

O problema: Inicialmente, tudo está funcionando como deveria. Quando um dos nós falha ao executar o Exim, ele pára corretamente e o nó não participa mais do IP virtual. O problema é que, de alguma forma, após parar e iniciar um dos nós, o Exim é reiniciado (como deveria), mas o monitor está retornando "não em execução". Quando o recurso Exim não está configurado com on-fail="standby", tudo funciona como planejado e eu posso iniciar / parar o Exim e um dos nós o quanto eu quiser.

Mensagem no log:

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)

Saída do status das unidades:

[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

Tanto quanto eu posso ver, no momento da mensagem, o Exim está em execução e funcionando para o systemd. Eu já tentei especificar a opção start-delay, esperando que isso fizesse diferença (mas isso não acontece).

Ao executar: pcs resource cleanup exim-clone para limpar a contagem de falhas, tudo funciona até que a ação do monitor apareça pela primeira vez e, em seguida, o nó que está marcado como espera seja alternado pelo outro ...

Exemplo: Status depois que o monitor do Exim falhou no nó 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

Estou executando a limpeza de recursos para o recurso exim para redefinir a contagem de falhas:

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

Após um pequeno período de tempo, o status parece bom (e também funciona bem):

[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

Na próxima vez que a ação do monitor for executada, a verificação falhará no outro nó:

[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

Talvez algo que eu esteja esquecendo?

Aprecie a ajuda

    
por jensd 28.01.2015 / 16:43

0 respostas