У меня есть один сервер haproxy (172.24.2.42), который перенаправляет на один сервер mariadb с ip 172.24.2.13. Затем я хотел заменить этот сервер другим сервером mariadb с IP 172.24.2.11, потому что на этом новом сервере больше места на жестком диске. Эти серверы - redhat.
Я даю вам haproxy.cfg
global
log 127.0.0.1 local2
maxconn 3000
user haproxy
group haproxy
daemon
defaults
log global
mode http
option tcplog
option dontlognull
option redispatch
timeout client 600000
timeout connect 5000
timeout server 600000
retries 3
maxconn 3000
listen db_cluster 0.0.0.0:1513
mode tcp
balance roundrobin
option httpchk
default-server port 9200 inter 2s downinter 5s rise 3 fall 2 slowstart 60s maxconn 500 maxqueue 200
server node-2 172.24.2.11:3306 check weight 200
Когда я перезапустил службу haproxy. Было показано следующее сообщение:
Message from syslogd@localhost at Mar 2 19:25:59 ...
haproxy[17163]: proxy db_cluster has no server available!
Проверка var / log / haproxy.log показывает:
Mar 2 19:25:57 localhost haproxy[17158]: Server db_cluster/node-2 is DOWN, reason: Layer4 connection problem, info: "Connection refused", check duration: 0ms. 1 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue.
Даже когда использую шпатлевку на 172.24.2.42. Я делаю:
mysql -uuser1 -p --host=172.24.2.13 ## it logins
mysql -uuser1 -p --host=172.24.2.11 ## it logins
Даже я сделал:
nmap 172.24.2.11
PORT STATE SERVICE
22/tcp open ssh
3306/tcp open mysql
4567/tcp open tram
Порт 3306 включен брандмауэром, а getenforce показывает отключено
Итак, что я делаю, чтобы это работало, я добавил в haproxy.cfg:
server node-4 172.24.2.13:3306 check weight 20
Затем я перезапустил службу haproxy, и mariadb 172.24.2.13 был распознан haproxy. Хотя идея не в этом, потому что сервер 172.24.2.11 необходимо заменить на сервер 172.24.2.13.
Я не знаю, что порт 9200 имеет какое-то отношение.
Чего не хватает?
Если вы не знаете, для чего используется порт по умолчанию 9200, я бы рекомендовал удалить его или изменить на 3306 (что вам и нужно). Кроме того, у вас есть опечатка в строке сервера по умолчанию: lowstart 60s должен быть slowstart 60s.
Ошибка, которую вы получаете, означает очень быстрый сбой, то есть отсутствие маршрута к серверу. У вас есть несколько IP-адресов на балансировщике нагрузки? Может быть, в качестве источника проверки используется неправильный?
Я бы упростил конфигурацию и попробовал еще раз.