keepalived是如何实现MySQL高可用的?

  • 时间:
  • 浏览:2
  • 来源:大发5分排列5_极速5分排列3

1 可能性传输到备库的binlog需要执行完成

MySQL需要采用MM克隆qq好友好友内部结构,也要是master-master。当一台为主库的但是,备库开启只读模式(set global read_only=1)

可能性一台机器上起着多个MySQL端口,也还需要多些一部分,缺检测不同端口是否存活。

当A工作正常的但是 会将VIP对应的MAC地址为节点A网卡的MAC地址

部署完Keepalived,要是修改完对应的参数文件后,亲戚亲戚朋友 启用VIP

3 使用VIP

要是亲戚亲戚朋友 查看一下主库的IP上是否飘着亲戚亲戚朋友 的VIP

1 手动修改应用配置

一组vrrp路由协同工作一块儿构成一台虚拟路由器 vrrp中占据 一种生活选举机制 用以选出提供服务的路由 即主控路由 一种生活则成了备份路由 当主控路由失效后 备份路由中会重新选举出那我主控路由来继续工作 来保障不间断

当A占据 故障的但是 节点B上的keepalived会检测到 并将VIP的MAC等于B的MAC地址

主库切换但是 还需要将应用进程的数据库切换备库,还需要通过以下途径来实现切换:

手动修改数据库连接配置显然都有 很好的法律法律依据 修改时间不可控

正常切换是指主库能正常访问 切换的但是保证主备数据库一致

vrrp路由器是指运行的vrrp路由器是物理实体 虚拟路由器是指vrrp协议创建的 是逻辑概念

要是亲戚亲戚朋友 来看一下数据库在不同情况报告下,切换是怎么可否进行的:

异常切换的情况报告下 无法保证数据严格一致 有几种法律法律依据保证主备库数据尽可能性一致

异常切换

异常切换是指主库占据 异常 无法连接到主库的情况报告

1 主库设置只读 kill主库进程

最后一部分要是debug的地方了,就不完整说明了。

还需要看多eth0网卡上起着那我IP,那我是本机IP,另那我要是VIP,这但是,亲戚亲戚朋友 就还需要通过一种生活VIP对亲戚亲戚朋友 的MySQL数据进行访问了。

上端步骤任何步骤失败 则切换失败 在一种生活情况报告下 无法将主库设置成只读 则备库延迟时间太长 则无法进行正常的主备切换

工作原理:VRRP(vritual router redundancy protocol)虚拟路由冗余协议

正常切换

keepalived安装下 两台物理服务器上 并互相监控对方是否正常运行

keepalived原理:

dns切换补救了上端哪些地方地方问题图片报告

Keepalived的部署比较容易,直接还需要yum 安装,主要的要是他的参数文件,参数文件是怎么可否控制主备的。

首先亲戚亲戚朋友 来看一下通过Keepalived实现,需要对MySQL哪些地方地方要求

要是用Keepalived,就还需要补救主库挂掉但是,我的代码找可不可否了目的地的情况报告。嘴笨 要是给了这两台数据库那我IP,供亲戚亲戚朋友 访问

2 主库开启心跳 定期更新一跳心跳记录 备库上查看心跳记录的时间戳和系统当前时间的差异 可能性差异超过一定时间 则可不可否了切换到主库

先看第一部分,检测系统上3506端口,监控的途径是通过/opt/dtstack/dtagent/agent/mysqlha_check_alive.py 3506这条命令来判断的,要是判断系统3506端口是否占据 ,可能性你的MySQL是别的端口,如此就需要作下更改,脚本是一大神写的,就不贴出来了。

3 备库上关闭只读模式(set global read_only=0)

MySQL切换无非一种生活,一种生活是人为切换,一种生活是天灾。也要是一种生活是正常切换一种生活是异常切换。

2 备库上听候主库将所有binlog都可能性传过来 要是binlog执行完成

再来看第二部分,一种生活部分主要决定的你这台机器上的3506端口是否主库,要是这台机器的外网是都有 eth0网卡上。

正常切换的流程

2 使用dns 主备切换后 将dns指向新的主库