A verificação do HAProxy MySQL falha permanentemente e é inesperada

2

Estou executando o HAProxy para distribuir a carga entre 3 nós galera do mysql. Infelizmente o HAProxy mostra que node2 está permanentemente offline enquanto os outros nós funcionam perfeitamente. A configuração parece muito bem, nome de usuário, senhas, portas tudo como deveria ser. Não consigo encontrar a causa disso.

Esta é a parte relevante da configuração do HAProxy:

listen mysql-galera-cluster
        bind 10.0.0.10:3306
        mode tcp
        option mysql-check user haproxy_check
        balance roundrobin
        source 10.0.0.10
        server db1 10.0.0.101:3307 check
        server db2 10.0.0.102:3307 check
        server db3 10.0.0.103:3307 check

No db3 eu recebo a seguinte entrada dentro do mysql.log:

151111 17:48:06  1518 Connect   [email protected] on 
     1518 Quit

No db2 não existe tal entrada. No entanto o log funciona, se eu tentar logar manualmente ( mysql -h 10.0.0.102:3307 -u root -p ), fico:

151111 17:30:48   342 Connect   root@node1 on 
      342 Connect   Access denied for user 'root'@'node1' (using password: YES)

Então por que o HAProxy não está tentando verificar a 10.0.0.102? Eu tentei a mesma linha com 10.0.0.103 e isso funciona perfeitamente.

Agradeço antecipadamente por qualquer ajuda sobre isso!

    
por merlin 11.11.2015 / 17:53

2 respostas

1

Eu resolvi o problema. Ele não estava relacionado à configuração do HAProxy, mas a uma configuração incorreta do keepalived. Há um backup mantido ativo configurado no db2 que tinha eth0 como 10.0.0.10 configurado em vez de eth1. Alterar isso resolveu o problema.

    
por 12.11.2015 / 12:37
0

Tente aumentar o intervalo entre duas verificações de integridade consecutivas.

Por exemplo: 5s

server db1 10.0.0.101:3307 check inter 5s
server db2 10.0.0.102:3307 check inter 5s
server db3 10.0.0.103:3307 check inter 5s
    
por 12.11.2015 / 06:34

Tags