drbd corosync cluster segundo nó está tentando ser primário todas as vezes

1

Estamos enfrentando o problema com o cluster drbd corosync.

Em um nó que é primário, todos os recursos (serviços mysql, drbd) estão funcionando bem. Mas o segundo nó está tentando ser primário o tempo todo.

Os logs de erro do segundo nó, conforme mostrado abaixo:

lrmd: [25272]: info: RA output: (mysql-drbd:0:promote:stderr) 0: State change failed: (-1) Multiple primaries not allowed by config 

Oct  1 16:39:39 node2 lrmd: [25272]: info: RA output: (mysql-drbd:0:promote:stderr) 0: State change failed: (-1) Multiple primaries not allowed by config 

Oct  1 16:39:39 node2 lrmd: [25272]: info: RA output: (mysql-drbd:0:promote:stderr) Command 'drbdsetup 0 primary' terminated with exit code 11 

Oct  1 16:39:39 node2 drbd[25416]: ERROR: mysql-disk: Called drbdadm -c /etc/drbd.conf primary mysql-disk

Oct  1 16:39:39 node2 drbd[25416]: ERROR: mysql-disk: Called drbdadm -c /etc/drbd.conf primary mysql-disk

Oct  1 16:39:39 node2 drbd[25416]: ERROR: mysql-disk: Exit code 11
Oct  1 16:39:39 node2 drbd[25416]: ERROR: mysql-disk: Exit code 11
Oct  1 16:39:39 node2 drbd[25416]: ERROR: mysql-disk: Command output: 
Oct  1 16:39:39 node2 drbd[25416]: ERROR: mysql-disk: Command output: 

corosync o status Mestre / escravo não é perfeito. Veja o status do corosync abaixo.

Node1

[root@node1 ~]# crm status
============
Last updated: Thu Oct  2 09:01:30 2014
Stack: openais

Current DC: node1 - partition WITHOUT quorum

Version: 1.0.10-da7075976b5ff0bee71074385f8fd02f296ec8a3

2 Nodes configured, 2 expected votes 4 Resources configured.

============

Online: [ node1 ]

OFFLINE: [ node2 ]

 mysql-vip      (ocf::heartbeat:IPaddr2):       Started node1

 Master/Slave Set: mysql-drbd-ms

     Masters: [ node1 ]

     Stopped: [ mysql-drbd:1 ]

 mysql-fs       (ocf::heartbeat:Filesystem):    Started node1

 mysql-server   (ocf::heartbeat:mysql): Started node1

You have new mail in /var/spool/mail/root

Node2

[root@node2 ~]# crm status
============
Last updated: Thu Oct  2 09:03:04 2014
Stack: openais

Current DC: node2 - partition WITHOUT quorum

Version: 1.0.10-da7075976b5ff0bee71074385f8fd02f296ec8a3
2 Nodes configured, 2 expected votes 4 Resources configured.
============

Online: [ node2 ]

OFFLINE: [ node1 ]


 Master/Slave Set: mysql-drbd-ms

     mysql-drbd:0       (ocf::linbit:drbd):     Slave node2 (unmanaged) FAILED

     Stopped: [ mysql-drbd:1 ]


Failed actions:
    mysql-drbd:0_promote_0 (node=node2, call=7, rc=-2, status=Timed Out): unknown exec error
    mysql-drbd:0_stop_0 (node=node2, call=13, rc=6, status=complete): not configured

O status do DRBD está aparecendo bem em ambos os nós

Nó1 (principal):

[root@node1 ~]# service drbd status

drbd driver loaded OK; device status:

version: 8.3.8 (api:88/proto:86-94)

GIT-hash: d78846e52224fd00562f7c225bcc25b2d422321d build by 

[email protected], 2010-06-04 08:04:09

m:res         cs         ro                 ds                 p  mounted  fstype

0:mysql-disk  Connected  Primary/Secondary  UpToDate/UpToDate  C

Node2 (secundário):

[root@node2 ~]# service drbd status

drbd driver loaded OK; device status:

version: 8.3.8 (api:88/proto:86-94)

GIT-hash: d78846e52224fd00562f7c225bcc25b2d422321d build by 

[email protected], 2010-06-04 08:04:09

m:res         cs         ro                 ds                 p  mounted  fstype

0:mysql-disk  Connected  Secondary/Primary  UpToDate/UpToDate  C
    
por Ankush Tupe 02.10.2014 / 09:34

2 respostas

1

Isso acontece, porque você não tem o cluster fencing configurado (stonith), agora seu cluster está no cérebro dividido

 Now you have a cluster with two DC and every node are trying to start the resource
    
por 02.10.2014 / 14:43
0

Parece que o seu corosync em cada nó não é capaz de se comunicar entre si. É por isso que todo nó está marcando seu nó como Online.

Sugiro tentar com unicast em vez de opções multicast.

  1. Pare o corosync nos dois nós.
  2. Atualize sua versão do corosync que suporta unicast 1.4.1
  3. Altere sua configuração do corosync e adicione abaixo:
  4. Iniciar corosync

member {

                    memberaddr: <node1 IP>
            }
            member {
                    memberaddr: <node2 IP>
            }
            ringnumber: 0
            bindnetaddr: <Network address of your nodes> 
            mcastport: 5405
    } 

transport: udpu

Por favor, comente a linha que diz

mcastaddr

Permita as portas 5404 e 5405 através do firewall Iptable e inicie o corosync em ambos os nós.

Obrigado.

    
por 03.12.2014 / 14:20

Tags