MySQL高可用之LVS + Keepalived + MySQL(2)

最能反映keepalived 启动情况的地方当属系统日志。手动执行启动操作后,使用命令 tail –f /var/log/syslog 滚动查看输出,就能详细了解其运行情况。图6-3 为某个lvs 环境的keepalived 启动输出:

另外一个反映keepalived 正常运行状态的地方是网络接口vip 的启用。通过执行ip add 即可看见vip 已经被绑定在制定的网络接口(注意:ifconfig 不能显示 vip)。需要注意的是,BACKUP 的vip 暂时不绑定。如下图所示:

4.6. Vip验证

Master

MySQL高可用之LVS + Keepalived + MySQL

Slave

MySQL高可用之LVS + Keepalived + MySQL

4.7. IPVSADM验证

Master

MySQL高可用之LVS + Keepalived + MySQL

Clave

MySQL高可用之LVS + Keepalived + MySQL

4.8. 测试验证

实体mysql

Vip mysql

4.9. 高可用测试结果

LB:

10.24.6.4 Master关闭以后,10.24.6.7 BACKUP启用接管

MYSQL:

10.24.6.5:3306

10.24.6.6:3306

任意一个mysql异常之后,可连接到其他mysql

5. 遇到问题 5.1. Mysql连接不上(错误码111)分析

1.Mysql连接vip

2.Mysql连接vip的抓包情况

MySQL高可用之LVS + Keepalived + MySQL

通过抓包可知,10.24.6.2:3306是可以连上的,它有回包,只不过回包的状态为R

3.TCP连接出现RST的情况分析:

 

 

 

 

4.在结合mysql返回值为111可以知道应该是mysql服务提前关闭了,

Google了下mysql111的解决办法:

QT链接Mysql的时候出现QSqlError(2003, "QMYSQL: Unable to connect", "Can't connect to MySQL server on '172.18.186.244' (111)")错误,google之后发现是mysql为了安全,对hostname进行了绑定。

解决办法:修改/etc/mysql/my.cnf(不同Linux发行版位置可能不同,我用的是Ubuntu 11.04,windows是my.ini文件),里面有一句:bind-address = 127.0.0.1用#注释掉,重启mysql服务就OK了。

原文地址:

5. 解决方案(去掉bind-address):

修改在10.24.6.5的mysql配置:

MySQL高可用之LVS + Keepalived + MySQL

修改在10.24.6.6的mysql配置:

MySQL高可用之LVS + Keepalived + MySQL


6. 总结

主mysql和从mysql可以同时存在服务

Keepalive从可用的服务列表里面选择一��服务访问

主mysql和从mysql随机选择

适合做负载均衡,主从备份

share nothing架构

Linux下HAProxy+Keepalived双机高可用方案 

Haproxy+Keepalived搭建Weblogic高可用负载均衡集群

Keepalived+HAProxy配置高可用负载均衡

CentOS 6.3下Haproxy+Keepalived+Apache配置笔记

Haproxy + KeepAlived 实现WEB群集 on CentOS 6

Haproxy+Keepalived构建高可用负载均衡

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/830e64694d0bf8115ef0e365feb8e915.html