首页 > 代码库 > 第4天 二篇、【MHA】介绍
第4天 二篇、【MHA】介绍
【2016年11月30日】
MHA作者是yoshinori Matsunobu,目前就职与facebook,它与MMM架构都是采用perl语言编写,可在宕机时间(通常为10~30s)内完成故障切换工作。并且还支持在线切换,从当前运行的master切换到另一个新的Master,只需要(0.5~2秒内),此时仅阻塞写操作,并不影响读操作,便于主机的硬件维护。
与MMM架构区别:MHA会把丢失的数据在每个slave节点上补齐。
1) 工作原理
当master宕机时,MHA管理机会试图scp丢失的那一部分binlog,然后把该binlog拷贝到最新的slave机器上,再补齐差异的binlog并应用。当最新的slave补齐数据后,
再把它的relay-log拷贝到其他的slave上,以识别差异并应用。至此,整个恢复过程结束,从而保证切换后的数据是一致的。
2) 恢复过程
1. master 宕机
2. 识别最新的slave,并试图从死掉的master上将scp那一部分差异的binlog执行完,并提升为新的master
3. 等待最老的slave把中继日志relay-log执行完
4. 从最新的slave上scp那一部分差异的中继日志relay-log并执行完
5. scp 死掉Master上那一部分差异的binlog并执行完,至此数据全部恢复一致
通过{Master_Log_File,Read_Master_Log_Pos} from show slave status 得到位置,mysqlbinlog ---start-position=12345 mysqld-bin.0000123 mysqld-bin.0000124.......
本文出自 “崛起” 博客,请务必保留此出处http://binbinwudi8688.blog.51cto.com/3023365/1878220
第4天 二篇、【MHA】介绍