HAProxy 连接到第二个和第三个节点,应该只连接到第一个节点

HAProxy connections to second and third node, should be only to the first node

这是我们的/etc/haproxy/haproxy.cfg

global
  daemon
  stats  socket /var/lib/haproxy/stats

defaults
  maxconn  10000
  mode  tcp
  timeout  connect 5s
  timeout  client 30s
  timeout  server 30s

listen galera
  bind 192.168.55.19:3306
  option httpchk
  option tcplog
  stick on dst
  stick-table type ip size 2
  timeout client 90m
  timeout server 90m
  server galera-1 192.168.55.31:3306 check inter 1s port 9200 on-marked-down shutdown-sessions
  server galera-2 192.168.55.32:3306 check inter 1s port 9200 on-marked-down shutdown-sessions
  server galera-3 192.168.55.33:3306 check inter 1s port 9200 on-marked-down shutdown-sessions

listen monitor
  bind 127.0.0.01:9300
  mode http
  monitor-uri /status
  stats enable
  stats uri /admin
  stats realm Haproxy\ Statistics
  stats auth root:Eef7ye9Aeemu7Cei
  stats refresh 5s

我们希望只与第一个节点 galera-1 建立连接。 galera-2 和 galera-3 应该只是故障转移。

我看到 netstat 有很多连接。为什么?如何排除故障?

# netstat -tupan | grep 192.168.55.32
tcp        0      0 192.168.55.34:59482        192.168.55.32:3306         ESTABLISHED 5045/haproxy
tcp        0      0 192.168.55.34:59466        192.168.55.32:3306         ESTABLISHED 5045/haproxy
tcp        0      0 192.168.55.34:54498        192.168.55.32:3306         ESTABLISHED 5045/haproxy
tcp        0      0 192.168.55.34:45546        192.168.55.32:3306         ESTABLISHED 5045/haproxy
tcp        0      0 192.168.55.34:54430        192.168.55.32:3306         ESTABLISHED 5045/haproxy
tcp        0      0 192.168.55.34:59502        192.168.55.32:3306         ESTABLISHED 5045/haproxy
tcp        0      0 192.168.55.34:59515        192.168.55.32:3306         ESTABLISHED 5045/haproxy
tcp        0      0 192.168.55.34:60039        192.168.55.32:3306         TIME_WAIT   -
tcp        0      0 192.168.55.34:59454        192.168.55.32:3306         ESTABLISHED 5045/haproxy
tcp        0      0 192.168.55.34:59523        192.168.55.32:3306         ESTABLISHED 5045/haproxy
tcp        0      0 192.168.55.34:59518        192.168.55.32:3306         ESTABLISHED 5045/haproxy
tcp        0      0 192.168.55.34:59413        192.168.55.32:3306         ESTABLISHED 5045/haproxy

故障转移

如果您希望 galera-2galera-3 仅作为故障转移,请将 backup 关键字添加到其 server 行。

多个连接

我看起来很正常。这些可能由您的 MySQL 客户端或连接到数据库的应用程序打开。要确认这些连接的用途,您可以使用数据包嗅探器,例如 Wireshark(运行 来自客户端)或 tcpdump(来自服务器)。


对您的设置的一些评论

  • 1 个活动和 2 个备份似乎有点矫枉过正。您预计这些服务器会出现很多故障吗?
  • 当您只有 1 个活动服务器时,固定表没有意义。
  • 这是您在 Monitor 块中使用的实际 root 密码吗?!