MHA自动Failover过程解析
MHA是一位日本MySQL大牛用Perl写的一套MySQL故障切换方案,来保证数据库系统的高可用。近期,在田老师的推动下,开始一步步深入了解这个HA方案,并也计划在公司线上尝试部署。下面的东西是这段时间的学习笔记和个人理解,没有具体的实战经验,只是人为测试模拟故障的发生,通过日志来分析MHA背后的自动切换过程。首先,介绍下它的一些特点,以及为什么用它,在哪种场合更适合用它。 1. 10-30s实现master failover(9-12s可以检测到主机故障,7-10s可以关闭主机避免SB,在用很短的时间应用差异日志) 2. 部署简单,无需对现有M-S结构做任何改动(至少3台,保证切换后仍保持M-S结构) 3. 支持手动在线切换(主机硬件维护),downtime几乎很短0.5-2s 4. 保证故障切换后多从库数据的一致性 5. 完全自动化的failover及快速复制架构恢复方案(一主多从)