MHA切換過程(精細)

* Phase 1: Configuration Check Phase..

檢查當前存活實例及主從同步狀態,是否可以進行切換

* Phase 1: Configuration Check Phase completed.

 

* Phase 2: Dead Master Shutdown Phase..

去掉VIP

如果配置了shutdown_script,在VIP去掉後執行shutdown_script

* Phase 2: Dead Master Shutdown Phase completed.

 

* Phase 3: Master Recovery Phase..

* Phase 3.1: Getting Latest Slaves Phase..

找出latest slave,根據Read_Master_Log_Pos最多,查看當前位置點

 

* Phase 3.2: Saving Dead Master''s Binlog Phase..

根據latest上位置點,從dead master 提取差異binlog

將提取出來的差異日誌scp到監控節點

 

* Phase 3.3: Determining New Master Phase.. #檢測新主

檢查latest slave的relay log,是否可以恢復其他slave

根據config裏面配置,選擇出new master

 

* Phase 3.3: New Master Diff Log Generation Phase..

從latest slave上獲取差異relay log(因實例日誌裏面new master就是latest slave,所以不需要此步操作)

監控節點將3.2步接收到的差異binlog,發送到new master上面

 

* Phase 3.4: Master Log Apply Phase..

應用diff realy log,此時new master與latest slave數據一致

應用監控節點發過來的差異日誌,此時new master數據已經與dead master一致

查看new master binlog位置,同時生成CHANGE MASTER語句,所有slave同步從此位置開始

添加VIP

* Phase 3: Master Recovery Phase completed.

 

* Phase 4: Slaves Recovery Phase..

* Phase 4.1: Starting Parallel Slave Diff Log Generation Phase..

                       slave從latest slave上獲取差異relay log,生成文件並scp到slave本地

 

* Phase 4.2: Starting Parallel Slave Log Apply Phase..

監控節點將3.2步接收到的差異binlog,發送到slave上面

將在latest slave上面獲取到的差異relay log合成到total_binlog_for_xxx

檢查差異binlog的120位之前是否有效,通常120之前爲binlog頭信息和rotate信息,無實際意義,只合成有效日誌

應用上面合成的日誌

reset slave &&change master

檢查所有slave是否recovery成功

 

* Phase 5: New master cleanup phase..

在new master上面,清空複製信息

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