Mariadb 主动被动故障转移不适用于 HAProxy

Mariadb 主动被动故障转移不适用于 HAProxy

我的 HAProxy 配置有什么问题?

这个线程有点类似,但仍然不一样:Haproxy mysql 故障转移负载平衡

我有一个主动-被动 Mariadb galera 集群。今天在主节点上,MYSQL 进程由于 winbind oomkill 而停止。没有发生到从属节点的故障转移,因为在我当前的设置下,似乎只有在节点关闭时才有效,但如果 MYSQL 进程关闭则什么也不做 :/

这是我的 HAProxy 配置:

defaults
    retries                 2
    timeout connect         5s
    timeout client          60s
    timeout server          60s

listen Mariadb-cluster
bind 0.0.0.0:3306
mode tcp
option mysql-check user haproxy
balance roundrobin
server server1-DB1 1.1.1.1:13306 check
server server2-2002-DB2 1.1.1.2:13306 check backup

listen webinterface
bind 0.0.0.0:9000 ssl crt /com.pem
mode http
balance
timeout client 5000
timeout connect 4000
timeout server 30000
stats enable
stats uri /
stats realm Strictly\ Private
stats auth admin:sdfsdf

这是keepalived:

global_defs {
        lvs_id LBL
}

vrrp_sync_group CLD  {
        group {
                CLOUD
        }
}

vrrp_script check_haproxy {
        script "killall -0 haproxy"
        interval 2
        weight 2
}

vrrp_instance CLOUD {
  virtual_router_id 13
  priority  100
  state     BACKUP
  interface eth0

  virtual_ipaddress {
        1.1.1.3/24 dev eth0
  }

  track_script {
    check_haproxy
  }
}

答案1

也许不是最好的解决方案,但就目前而言这可以起到作用,增加重量和检查端口。

server server1-DB1 1.1.1.1:13306 weight 1 check port 13306
server server2-2002-DB2 1.1.1.2:13306 weight 100 check port 13360 backup

相关内容