mysql高可用架构之MMM架构

什么是高可用:指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性

严重的主从延迟,主从复制中断,锁引起的大量阻塞

如何实现高可用:

避免导致系统不可用的因素,减少系统不可以的时间

因素:服务器磁盘空间耗尽,性能糟糕的sql,表结构和索引没有优化,主从数据不一致,人为的操作失误等等

磁盘空间耗尽:备份或者各种查询日志突增导致的磁盘空间被占满。mysql由于无法记录二进制日志,无法处理新的请求而产生的系统不可用的故障

解决:建立完善的监控及报警系统;对备份文件进行恢复测试;正确的配置数据库环境;对不需要的数据进行归档和清理

增加系统冗余,保证发送系统不可以时可以尽快恢复(避免存在单点故障,主从切换及故障转移)

单点故障:指一个系统提供相同功能的组件只有一个,如果失效,会影响整个系统的正常使用

如何避免mysql单点故障:利用sun共享存储或DRDB磁盘复制解决mysql单点故障;

利用多写集群或NDB集群来解决

主服务器单点问题:

MMM的主要作用:

MMM监控MySQL主从复制健康情况,在主库出现宕机时进行故障转移并自动配置其他从对新主的复制

主动主动模式的主主复制

主动被动模式的主主复制

配置主主模式:mysqldump --master-data = 2

 获取yum源

安装MMM

yum search MMM;

 

在监控服务器上安装监控包:

在主服务上建立账号:

MMM监控账号 

MMM代理账号:(进行故障转移和切换) 

MMM复制账号(之前已经建立好)

配置MMM:cd /etc/mysql-mmm

mmm_common.conf

 

此公共文件scp  capy到所有服务器中(不包括监控服务器)

下面单独配置 

单独配置监控服务器节点:vi mmm.mon.conf

 

启动MMM 代理

/etc/init.d/mysql-mmm-agent start

在监控节点启动监控服务 

/etc/init.d/mysql-mmm-monitor start

查看集群状态:mmm_control show

MMM架构的优缺点:

MMM提供了从服务器的延迟监控

MMM提供了主数据库故障转移后从服务器对新主的重新同步功能

很容易对发生故障的主数据库重新上线

MM提供了从服务器的延迟监控

MMM工具缺点:

发布时间比较早不支持mysql新的复制功能(只支持基于日志点的复制)

基于gtid的复制可以保证日志不会重复在slave服务器上被执行

对应mysql5.6后所提供的多线程复制技术也不支持

没有读负载均衡的功能

在进行主从切换时,容易造成数据丢失

MMM监控服务存在单点故障

需开发MMM监控服务的监控程序

猜你喜欢

转载自blog.csdn.net/qq_40876291/article/details/86566557