什么是高可用:指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性
严重的主从延迟,主从复制中断,锁引起的大量阻塞
如何实现高可用:
避免导致系统不可用的因素,减少系统不可以的时间
因素:服务器磁盘空间耗尽,性能糟糕的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监控服务的监控程序
热门工具 换一换