Mysql+keepalive高可用自动切换

Posted zwj-linux

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql+keepalive高可用自动切换相关的知识,希望对你有一定的参考价值。

Keepalive

Keepalived是HA cluster的一种实现方案,其以vrrp协议(Virtual Router Redundancy Protocol,即虚拟路由冗余协议)为实现基础,在N台具有相同功能的路由器或服务器中选出一个master或多个backup,这些路由器或服务器会共用一个对外提供服务的VIP。在此HA cluster集群中,master主机会发送组播来跟backup主机进行通信确认双方是否存活。当backup主机在指定的时间内没有收到vrrp组播报文则认为master主机宕机了,此时就会在所有的backup主机中根据vrrp协议来选举出新的master主机来保证服务的高可用性。

1、域名指向,域名只能指向一个固定IP,如果该IP绑定的机器宕机了,那么这个域名便无法访问了;
2、数据库服务指向,应用是通过一个固定的IP连接到数据库,如果该IP宕机,也无法提供服务;

一般主要解决以上两个问题,即keepalived+lvs+nginx和keepalive+mysql等等


keepalived主要有三个模块,分别是ipvs wrapper、checkers和vrrp stack。

  • ipvs wrapper模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。
  • checkers负责健康检查,包括常见的各种检查方式。
  • vrrp stack模块是来实现VRRP协议的。
  • IPVS wrapper 用来发送设定的规则到内核IPVS代码。
  • Netlink Reflector 用来设定 vrrp 的vip地址等。

技术图片

 1、安装

keepalived源码包下载地址:http://www.keepalived.org/download.html

说明文档:https://www.keepalived.org/LVS-NAT-Keepalived-HOWTO.html

安装环境

# yum install -y openssl-devel popt-devel  curl gcc  libnl3-devel net-snmp-devel  libnfnetlink-devel

下载安装包,主机备机都要安装

wget https://www.keepalived.org/software/keepalived-2.0.0.tar.gz 

解压缩、编译、安装,过程中提示缺什么库就安装什么库,然后再重新编译安装。

# tar -zxf keepalived-2.0.0.tar.gz 
# cd keepalived-2.0.0
#  ./configure --prefix=/usr/local/keepalived
# make && make install
# echo $?
0
#
# cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
# cp ./keepalived/etc/init.d/keepalived /etc/init.d/
# mkdir /etc/keepalived
# cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

2、配置

 

以上是关于Mysql+keepalive高可用自动切换的主要内容,如果未能解决你的问题,请参考以下文章

Redis高可用架构—Keepalive+VIP

mysql抄书5:MySQL+kepalived高可用架构

Mysql+Keepalived双主热备高可用操作步骤详细解析

MySQL的keepalived高可用监控脚本

keepalive学习笔记

nginx+keepalive双VIP高可用搭建配置