mysql-mmm配置
最近一周主要是对mysql的mmm进行的相关测试。
它的官方网站是mysql-mmm.org
mmm其实是一个针对mysql双master的一个套件,是完全使用perl来写的。主要作用是监控2个mysql的状态和在出现问题的情况下进行IP漂移切换。不能算是完全意义上的mysql高可用。只是在传统的双master基础上加个监控和漂移,这个完全可以自己写程序来实现。因为mmm在切换过程中也会导致当前连接的丢失,而且这种模式在innodb的情况下出现故障后恢复是一个非常麻烦的问题。
mmm的主要架构是这样的,一个是mmm
monitor服务器,它来负责监控和切换,所以它的配置文件主要是进行设置如何进行监控。2个mysql服务器是客户端。但是需要配置上虚IP,所以每个mysql服务器最少有3个IP,一个真实的IP,2个虚IP。mmm monitor就是进行切换虚IP的,而不是实际的IP
安装过程就不详细说了,主要是要安装一堆perl包,如果可以cpan的话完全可以用cpan来安装,不然就自己下tar包安装,最后做个rpm包来进行安装。
下面就是整个配置流程:
首先对2个mysql配置好了双master,就是互为主备的那种模式。
首先我们定义一下各个机器的IP,mmm monitor的IP是10.10.36.111, mysql
- 的真实IP为10.10.36.112, 虚拟IP为10.10.36.201和10.10.36.202,mysql
- 的真实IP为10.10.36.113,虚拟IP同样是10.10.36.201和10.10.36.202。
安装完mmm后首先要对mmm monitor进行配置
1 | cat /etc/mysql-mmm/mmm_monitor.conf |
接着是配置mmm_common.conf,这个文件在monitor和agent上都是一样的。
1 | cat /etc/mysql-mmm/mmm_common.conf |
下面这个是10.10.36.112上的agent上的mmm_agent.conf的配置
1 | cat /etc/mysql-mmm/mmm_agent.conf |
下面是10.10.36.113上的agent的mmm_agent.conf的配置
1 | cat /etc/mysql-mmm/mmm_agent.conf |
这些都配置完成了,首先是启动2个mysql服务,同时都启动slave。然后各自启动mmm_agent服务。最后是启动mmm_monitor服务。
启动完成后mmm_monitor进行相关事务:
首先是启动监控2个agent服务,启动方式为mmm_contorl set_online mysql_db1以及mmm_control set_online mysql_db2
启动结果我们可以通过mmm_control show来进行展示,也可以检查监控的状态,mmm_contorl checks来检测现在监控的状态。