我正在为我的两个 mysql 服务器 (db01 和 db02) 配置两个带有 keepalived 的负载均衡器 (lb01 和 lb02),标准端口为 3306。有一个虚拟 ip 地址 (192.168.205.10) 可以访问它,也可以充当故障转移,但不知何故,前面的 web 服务器无法使用 vip 访问这个 mysql 服务器。这是我的配置:
Keepalived:
我在这里只添加了 mysql 部分。
LB01:
virtual_server 192.168.205.10 3306 {
delay_loop 6
lb_algo rr
lb_kind DR
protocol TCP
real_server 192.168.205.4 3306 {
weight 10
TCP_CHECK {
connect_port 3306
connect_timeout 2
}
}
}
LB02:
virtual_server 192.168.205.10 3306 {
delay_loop 6
lb_algo rr
lb_kind DR
protocol TCP
real_server 192.168.205.6 3306 {
weight 10
TCP_CHECK {
connect_port 3306
connect_timeout 2
}
}
}
我已经注释掉了两个服务器 my.cnf 中的“bind-address=127.0.0.1”部分。此外,还从我的 ubuntu 服务器(ufw 或 iptables)中删除了所有防火墙程序。
有什么帮助吗?
谢谢。
答案1
您是否检查过是否忘记从配置文件中删除 mysql 选项 --skip-network?
找出是否是网络/防火墙问题的最简单方法是从 Web 服务器在 lb* mysql 服务器端口 3306 上建立 telnet 连接。如果可以连接,则不是网络问题 :)
或者使用tcpdump -i ethX port 3306