第7章 二篇、【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.......


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章