一、keepalived简介
Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除。其使用 VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议,可以通过在一个路由器组(一个VRRP组)之间共享一个虚拟IP(VIP), 即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个MASTER和多个BACKUP 。当master宕掉后, 根据VRRP的优先级来选举一个BACKUP当MASTER,及时将业务切换到其它设备,从而保持通讯的连续性和可靠性 。
Mysql HA的实现原理(此处以两台为例),两台Mysql主主复制,使数据时刻保持一致,同时使用两个keepalived监听各自机器上的Mysql,当Mysql服务停掉后,执行脚本关掉keepalived服务,由另一台机器的keepalived接替。
实现此功能需要两个步骤:
配置Mysql主主复制
keepalived安装配置
环境信息:
master:192.168.102.129(CentOS6.8,hostname为master)
slave:192.168.102.130(CentOS6.8,hostname为salve)
VIP:192.168.102.128
二、Mysql主主复制
(1)修改mysql配置文件,开启二进制文件
master的my.cnf
[mysqld]
server_id = 1 #服务id,保证两台mysql唯一,不重复即可
log-bin = mysql-bin #开启二进制日志
relay-log = mysql-relay-bin
replicate-wild-ignore-table=mysql.% #配置不需要复制的库
replicate-wild-ignore-table=test.%
replicate-wild-ignore-table=information_schema.%
slave的my.cnf
[mysqld]
server_id = 2
log-bin = mysql-bin
relay-log = m