MHA+LVS+Keepalived搭建MySQL高可用集群

本文讲解MHA+LVS+Keepalived搭建MySQL集群的方法,当主库故障时通过MHA实现快速完成主从切换。并且,以此为基础,能够很轻松的实现横向扩展,比如读写分离、扩展主库、扩展从库。

系统环境

操作系统 CentOS 7.2 x64
数据库 MySQL 5.7
应用平台 MHA / Perl / LVS / Keepalived

服务器部署方案及说明

  1. 如果需要实现MHA高可用,可以将它部署在两台LVS中,或者再加一台,同样通过keepalived实现高可用。
  2. LVS通过Keepalived实现高可用,其功能是负载多台MySQL从库,实现MySQL读分离,此时从库可以随意横向扩展。
  3. 当MySQL主库出现故障后,MHA将MySQL-candicate切换IP并提升为主库,同时将其VIP漂移至其他从库服务器上。

服务器IP 主机名 应用 角色 备注
10.10.10.11 MYSQL-A mysql mha-node master server_id=11
10.10.10.12 MYSQL-B mysql mha-node candicate server_id=12
10.10.10.13 MYSQL-C mysql mha-node slave server_id=13
10.10.10.101 MHA mha-manager mha-node monitor
10.10.10.201 LVS-A ipvsadm keepalived lvs ha 10.10.10.200
10.10.10.202 LVS-B ipvsadm keepalived

部署MySQL

安装数据库

在各数据库节点上安装MySQLl5.7,安装方法略。

数据库集群方案为1主2从,2个从库中,1个用于主从切换,1个恒从库用于同步relay-log。

配置同步账号

在各数据库创建用于mha的复制账号:

配置master

修改配置/etc/my.cnf

配置slave

修改配置/etc/my.cnf

定时清理relay-log:

加入以下定时任务:

从库开启绑定VIP的服务

修改文件/etc/init.d/realserver

启动服务realserver:

部署MHA

0x01 安装mha4mysql-manager

首先,安装基础依赖:

然后,下载MHA资源包并解压,依次安装node和manager,本文以0.57版本为例:

0x02 配置mha4mysql-manager

在各数据库创建用于mha的复制账号:

将源码包中的masterha_default.cnf和app1.cnf复制到/etc/mha/,编辑配置/etc/mha/app1.cnf

在源码包的samples目录中,包含以上配置中conf和scripts文件。

0x03 启动mha4myql-manager

1x01 部署mha4mysql-node

各数据库节点安装mha4mysql-node:

MHA管理端与各数据库节点、各数据库节点之间配置免密登录:

测试配置结果:

部署LVS+keepalived

配置LVS

开启路由转发功能:

配置Keepalived

分离keepalived日志:

修改配置/etc/keepalived/keepalived.conf

原创文章禁止转载:技术学堂 » MHA+LVS+Keepalived搭建MySQL高可用集群

精彩评论

2+3=

感谢您的支持与鼓励

支付宝扫一扫打赏

微信扫一扫打赏