5. 提升一个 slave 为新的 master;
6. 使其他的 slave 连接新的 master 进行复制;
目前 MHA 主要支持一主多从的架构,要搭建 MHA,要求一个复制集群中必须最少有三台
数据库服务器,一主二从,即一台充当 master,一台充当备用 master,另外一台充当从库。
MHA 优点
1. 故障切换快:在主从复制集群中,只要从库在复制上没有延迟,MHA 通常可以在数
秒内实现故障切换。9-10 秒内检查到 master 故障,可以选择在 7-10 秒关闭 master
以避免出现裂脑,几秒钟内,将差异中继日志(relay log)应用到新的 master 上,因
此总的宕机时间通常为 10-30 秒。恢复新的 master 后,MHA 并行的恢复其余的
slave。即使在有数万台 slave,也不会影响 master 的恢复时间。
2. master 故障不会导致数据不一致:当目前的 master 出现故障时,MHA 自动识别
slave 之间中继日志(relay log)的不同,并应用到所有的 slave 中。这样所有的
salve 能够保持同步,只要所有的 slave 处于存活状态。和 Semi-Synchronous
Replication 一起使用,可以保证没有数据丢失。
3. 无需修改当前的 MySQL 设置:MHA 的设计的重要原则之一就是尽可能地简单易用。
MHA 工作在传统的 MySQL 5.0 版本和之后版本的主从复制环境中。和其它高可用
解决方法比,MHA 并不需要改变 MySQL 的部署环境。MHA 适用于异步和半同步
的主从复制。
4. 启动/停止/升级/降级/安装/卸载 MHA 不需要改变(包扩启动/停止)MySQL 复制:
当需要升级 MHA 到新的版本,不需要停止 MySQL,仅仅替换到新版本的 MHA,
然后重启 MHA Manager 就好了。
5. 无需增加大量的服务器:MHA 由 MHA Manager 和 MHA Node 组成。MHA
Node 运行在需要故障切换/恢复的 MySQL 服务器上,因此并不需要额外增加服务器。
MHA Manager 运行在特定的服务器上,因此需要增加一台,但是 MHA Manager
可以监控大量(甚至上百台)单独的 master,因此,并不需要增加大量的服务器。即
使在一台 slave 上运行 MHA Manager 也是可以的。综上,实现 MHA 并没用额外增
加大量的服务。
6. 无性能下降:MHA 适用于异步或半同步的 MySQL 复制。监控 master 时,MHA 仅
仅是每隔几秒(默认是 3 秒)发送一个 ping 包,并不发送重查询。可以得到像原生
MySQL 复制一样快的性能。
7. 适用于任何存储引擎:MHA 可以运行在只要 MySQL 复制运行的存储引擎上,并不
仅限制于 InnoDB,即使在不易迁移的传统的 MyISAM 引擎环境,一样可以使用
MHA。
MHA 缺点
1. 需要编写脚本或利用第三方工具来实现 vip 的配置。
2. MHA 启动后只会对数据库进行监控,需要基于 ssh 免认证配置,存在一定的安全隐
患。
3. 没有提供从服务器的读负载均很的功能。
MHA 安装配置
1.系统准备
相关文档
评论