Seu script de replicação executado pelo xinetd deve retornar HTTP 200 ou 503, portanto, o HAProxy pode detectar a integridade da replicação do MySQL.
Eu configurei a replicação multimestre do MySQL com o HAProxy como um balanceador de carga seguindo o tutorial de Alex Williams encontrado aqui; link
Estou usando um verificador de status encontrado aqui; link
bem como um verificador de replicação encontrado aqui; link
O verificador de status Mysql funciona bem quando eu tenho a seguinte linha no meu arquivo de configuração HAProxy:
server db02 192.168.15.119:3306 check port 9200 inter 1s weight 1 rise 1 fall 1
Mas quando tento testar o script de replicação de verificação com esta linha:
server db02 192.168.15.119:3306 check port 9201 inter 1s weight 1 rise 1 fall 1
e tente se conectar através do proxy Eu tenho uma falha:
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
Quando faço telnet da máquina HAProxy para essa porta, tudo funciona bem:
# telnet 192.168.15.119 9201
Trying 192.168.15.119...
Connected to 192.168.15.119.
Escape character is '^]'.
Replication slave is running
Connection closed by foreign host.
Existe algum motivo para que isso não funcione enquanto eu ainda posso verificá-lo através do telnet? Esta é uma limitação do HAProxy? Eu diria que não é como parece que isso é o que os outros usaram para suas configurações. É um problema de configuração ou permissão? Estou confuso sobre como um deles funcionaria e deixarei que eu me conecte bem, mas o outro não o fará.
Seu script de replicação executado pelo xinetd deve retornar HTTP 200 ou 503, portanto, o HAProxy pode detectar a integridade da replicação do MySQL.
Tags mysql xinetd haproxy replication