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
1的真实IP为10.10.36.112, 虚拟IP为10.10.36.201和10.10.36.202,mysql
2的真实IP为10.10.36.113,虚拟IP同样是10.10.36.201和10.10.36.202。
安装完mmm后首先要对mmm monitor进行配置
cat /etc/mysql-mmm/mmm_monitor.conf

include mmm_common.conf

check_period 1
trap_period 2
timeout 2


check_period 1
trap_period 2
timeout 2


ip                                      127.0.0.1
pid_path                                /var/run/mmm_mond.pid
bin_path                                /usr/lib/mysql-mmm/
status_path                             /var/lib/misc/mmm_mond.status
ping_ips                                10.10.36.113,10.10.36.112


monitor_user                    mmm_monitor
monitor_password                mmm_monitor_password

debug 0

接着是配置mmm_common.conf,这个文件在monitor和agent上都是一样的。
cat /etc/mysql-mmm/mmm_common.conf

active_master_role      writer

cluster_interface               eth0
pid_path /var/run/mmm_agentd.pid
bin_path /usr/lib/mysql-mmm/
replication_user mmm_repl
replication_password mmm_repl_password
agent_user mmm_agent
agent_password                  mmm_agent_password


ip                                      10.10.36.112
mode                                    master
peer                                    mysql_db2


ip                                      10.10.36.113
mode                                    master
peer                                    mysql_db1


hosts                                   mysql_db1,mysql_db2
ips                                     10.10.36.201
mode                                    exclusive


hosts                                   mysql_db1,mysql_db2
ips                                     10.10.36.202
mode                                    balanced

下面这个是10.10.36.112上的agent上的mmm_agent.conf的配置
cat /etc/mysql-mmm/mmm_agent.conf

include mmm_common.conf
this mysql_db1

下面是10.10.36.113上的agent的mmm_agent.conf的配置
cat /etc/mysql-mmm/mmm_agent.conf

include mmm_common.conf
this mysql_db2

这些都配置完成了,首先是启动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来检测现在监控的状态。 

###########################################

Best regards
Timo Seven
blog:http://www.timoseven.com
twitter: http://twitter.com/zauc
Linux System Admin  & MySQL DBA

关于 Timo
XNIX SA & MYSQL DBA

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: