keepalived负责的是故障转移,至于故障转以后的节点之间数据的一致性问题依赖于具体的复制模式。
不管是主从、一主多从还是双主、集群节点个数、主从具体的模式无关(常规复制,半同步复制,GTID复制,多线程复制,甚至可以是MGR)都没有直接的关系。
个人认为,MySQL高可用方向,MGR+自动故障转移中间件(keepalived),应该是是个趋势。怎么感觉MHA的配置又臭又长。
keepalive的安装
1,参考http://blog.51cto.com/afterdawn/1888682
1、官方下载 wget http://www.keepalived.org/software/keepalived-XXXX.tar.gz 2、解压,编译安装 tar zxvf keepalived-XXXX.tar.gz ./configure --prefix=/usr/local/keepalived --with-kernel-dir=/usr/src/kernels/2.6.XXXXXXXX/ make && make install cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/ cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ mkdir /etc/keepalived cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/ cp /usr/local/keepalived/sbin/keepalived /usr/sbin/ service keepalived start
2,Keepalived配置
参考
https://www.cnblogs.com/gomysql/p/3856484.html
https://www.cnblogs.com/ivictor/p/5522383.html
3,自行主从(主主)搭建,注意事项
1,主从(或者主主)服务器之间相互ping的同,如果不同,可能是防火墙的原因
2,给予相关shell脚本的可执行权限,chmod +x mysql_check.sh
3,测试之前先搭建好主从,单纯测试keepalived的故障转移功能的话,甚至主从就不用搭建,所以高可用的本质,还是跟复制的模式有很大的关系
整个搭建过程不算复杂,如果各个节点之间使用脚本标准化安装的话并不需要花很长时间,以下是节点的故障转移的效果,可以发现一个连接可以自动从一个节点转移到另外一个节点。