![Mariadb 主动被动故障转移不适用于 HAProxy](https://linux22.com/image/790440/Mariadb%20%E4%B8%BB%E5%8A%A8%E8%A2%AB%E5%8A%A8%E6%95%85%E9%9A%9C%E8%BD%AC%E7%A7%BB%E4%B8%8D%E9%80%82%E7%94%A8%E4%BA%8E%20HAProxy.png)
我的 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