MMM 之 MySQL

MMM 简介

MMM(Master-Master replication manager for MySQL)是一套支持双主故障切换和双主日常管理的脚本程序。MMM 用 Perl 语言开发,主要用来监控和管理MySQL Master-Master(双主)复制,虽然叫做双主复制,但是业务上同一时刻只允许对一个主进行写入,另一台备选主上提供部分读服务,以加速在主主切换时刻备选主的预热,可以说MMM这套脚本程序一方面实现了故障切换的功能,另一方面其内部附加的工具脚本也可以实现多个slave的read负载均衡。

MMM提供了自动和手动两种方式移除一组服务器中复制延迟较高的服务器的虚拟ip,同时它还可以备份数据,实现两节点之间的数据同步等。由于MMM无法完全的保证数据一致性,所以MMM适用于对数据的一致性要求不是很高,但是又想最大程度的保证业务可用性的场景。对于那些对数据的一致性要求很高的业务,非常不建议采用MMM这种高可用架构。

MMM 访问流程图

具体的配置信息如下所示

角色

ip地址

主机名字

server-id

monitoring 10.10.198.84 Db2 2
master1 10.10.149.199 Db1 1
master2 10.10.198.84 Db2 2
slave1 10.10.199.57 Db3 3

业务中的服务ip信息如下所示:

ip地址 角色 描述
W:192.168.0.180 R: 192.168.0.181 Write/Read 应用程序连接该ip对主库进行写请求
192.168.0.88 read 应用程序连接该ip进行读请求
192.168.0.98 read 应用程序连接该ip进行读请求

第一个能写也能读

具体的配置步骤如下:

(1)主机配置

配置/etc/hosts,在所有主机中,添加所有的主机信息:
db1:

db2:

db3:

(2)首先在3台主机上安装mysql和搭建复制(10.10.149.199和10.10.198.84互为主从,10.10.199.57为10.10.149.199的从)具体的复制搭建这里就省略,要是这都不会,那么该文章对你就没意思了。然后在每个mysql的配置文件中加入以下内容,

注意server_id 不能重复。

2.安装本地自带的依赖包

 3.安装其他依赖包(注意必须有序安装)

(这些在文件中有)

4.解压安装

到这里已经完成了MMM的基本需求,

配置文件设置:

(配置文件存放地址: /etc/mysql-mmm )
接下来需要配置具体的配置文件,其中mmm_common.conf,mmm_agent.conf为agent端的配置文件,mmm_mon.conf为monitor端的配置文件。

(5)配置agent端的配置文件,需要在db1,db2,db3上分别配置。
在db1主机上配置agent配置文件:

复制到db2 db3

前提先设置秘钥:

设置mmm_agent.conf
db1:

db2:

db3:

agent 、common 配置完毕

monitor可以配置在任何机器上面

monitor in db2

这里记得两个参数

  • 一个是monitor 密码
  • 二个是auto_set_online 10 10自动设置为online

设置同步权限

(db1,db2)

这里上下的%请设置具体IP

设置数据库访问权限:

(db1,db2,db3)三台机器都设置 (或者先配置好同步环境自动同步即可)

启动mmm agent

db1:

db2:

db3:

开启mmm monitor:

查看mmm node status

手动上线node

如果mmm_common.conf 中设置了auto_set_online 10 就不需要

查看every node virtual ip

db1:

db2:

db3:

查看every node status

切换演示:

如上图所知: db1 位db3的 master

模拟故障 :关闭 db1 看下 db3的 slave 是否自动切换到db2 writer的虚拟ip是否切换到

db2

停止db1 mysql服务 ,可以看到上图。vip已经切换

DB3 顺利切换到,db2为他的主库环境查看monitor切换log

总结:

在生产环境中MMM的HA这块的还是很可观,基本达到无缝切换,保证Master不间断的提供服务,还能利用READ-VIP做读写分离,到达读写负载分担,而且后期也可以在MMM的基础上面扩展,如:master 垂直拆分多库 到 级联(利用多库多线程),在后面结合水平拆分,来实现在DB架构重构过程中,做个缓冲的DB架构,到最后实现彻底的分布式,分布式的内容后期献上。

1 1 收藏 评论

关于作者:鬼脚七

相关文章

可能感兴趣的话题



直接登录
跳到底部
返回顶部