mysql+keepalive高可用方案操盘实战
概述
这是关于php进阶到架构之MySQL进阶学习的系列课程:mysql+keepalive高可用方案操盘实战
学习目标:
- 掌握mysql主从复制中的双主模式以及环境搭建
- 掌握keeplived的工作原理
- Mysql+Keepalived双主热备的高可用环境实战搭建
双主热备
双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务。当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短。mysql实现双主热备是通过主从复制的双主模式。
MySQL双主复制,即互为Master-Slave(只有一个Master提供写操作),可以实现数据库服务器的热备,但是一个Master宕机后不能实现动态切换。需要人工控制,那么如何实现动态自动切换呢?
使用Keepalived,可以通过虚拟IP,实现双主对外的统一接口以及自动检查、失败切换机制,从而实现MySQL数据库的高可用方案。
虚拟IP:逻辑上是虚拟的,实际是可以提供客户端访问的,类似Nginx负载均衡调度器。
keeplive工作流程
通过VIP实现Mysql双主对外连接的统一接口。即客户端通过Vip连接数据库;当其中一台宕机后,VIP会漂移到另一台上,这个过程对于客户端的数据连接来说几乎无感觉,从而实现高可用。
keeplive实现原理
Keepalived,保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,用来防止单点故障(单点故障是指一旦某一点出现故障就会导`整个系统架构的不可用)的发生。
那说到keepalived不得不说的一个协议VRRP协议,可以说这个协议就是keepalived实现的基础。`
1)Keepalived的工作原理:
VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议。
在VRRP中有两组重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。
2)VRRP路由器是指运行VRRP的路由器,是物理实体,虚拟路由器是指VRRP协议创建的,是逻辑概念。一组VRRP路由器协同工作,共同构成一台虚拟路由器。
3)Vrrp中存在着一种选举机制,用以选出提供服务的路由即主控路由,其他的则成了备份路由。当主控路由失效后,备份路由中会重新选举出一个主控路由,来继续工作,来保障不间断服务
Mysql+Keepalived双主热备的高可用架构图
mysql主主模式环境搭建
环境描述
Master1:182.148.15.238 #安装mysql和keepalived
Master2: 182.148.15.237 #安装mysql和keepalived
VIP:182.148.15.236