MHA自動切換的步驟1、MHA manager啟動時的校驗階段 根據配置文件校驗復制配置以及識別當前的master導致監控終止情形:復制配置異常,存在的異常slave,一些需要的腳本腳本異常MHA manager啟動前可以通過masterha_check_ssh以及masterha_check_repl檢測
2、監控master server階段MHA manager啟動成功后,輸出日志[info] Ping(SELECT) succeeded, waiting until MySQL doesn't respond.. MHA會定期ping master,缺省的間隔為1秒,直到master死掉MHA manager不會監控slave的狀態,任意的Stopping/Restarting/Adding/Removing slaves不影響當前MHA監控 當添加或移除slave節點時,建議修改配置文件以及重啟MHA manager
3、偵測到master server異常階段 3次連續ping master失敗,參數secondary_check_script可用于double check
4、開啟failover階段MHA再次讀取配置文件(防止主從配置已更改),校驗master以及當前masetr的從庫MHA也會校驗諸如復制異常以及是否存在一些從庫有不同的主 啟動failover(排除上次failover失敗或者failover時間間隔太短)
5、隔離master server階段(可選)
如果配置文件定義了IP漂移腳本則此時會關閉master IP如果配置文件定義了關閉master腳本,則調用腳本關閉master以避免腦裂
6、恢復一個新的master從slave節點獲取最新的end_log_pos (Read_Master_Log_Pos)位置 從上一步獲取的位置開始,讀取及保存crashed master全部二進制日志文件(ssh可達) 決定新的master(根據配置文件定義的優先級別) 產生差量的binary/relay log events并且apply到新的master
7、激活一個新的master如果配置文件定義了IP漂移腳本則此時會將IP漂移到新master
8、恢復剩余的slave對所有從庫并行地產生差量binary/relay log events并用apply差量binary/relay log events到各從庫 啟動復制
9、通過切換結果(可選) 郵件發送 備份作業,管理工具調整等
|
新聞熱點
疑難解答