首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

利用 Keepalived 構建高可用 MySQL (MySQL-HA) 架構設計

     編輯:MySQL 綜合教學

利用 Keepalived 構建高可用 MySQL (MySQL-HA) 架構設計

本文為架構設計大綱,詳細配置請參考後續實作文章 (ID 175223)。

核心組件

  • Keepalived:基於 VRRP 協議實現虛擬 IP (VIP) 漂移,提供主備切換與健康檢查。
  • MySQL Replication:主從非同步/半同步複制,保證資料同步。
  • VIP 設計:
    Write VIP (如 192.168.1.100) → 指向當前 Master,所有寫入走此 IP。
    Read VIP (如 192.168.1.101) → 指向 Master+Slave (或僅 Slave),讀請求負載均衡。

故障切換邏輯

  1. 正常:Master 持有 Write VIP,Read VIP 負載分發至 Master/Slave。
  2. Master 掛掉:Keepalived 偵測失效 → Slave 升級為 Master (執行腳本 reset slave; change master to master_host=localhost;) → Write VIP 漂移至新 Master,Read VIP 同步更新。
  3. Slave 掛掉:Read VIP 從池中移除故障節點,Master 繼續服務。

關鍵腳本

  • notify_master:升主時執行,停止 Slave 線程、重置 Binlog、設為獨立 Master。
  • notify_backup:降備時執行,重新配置 CHANGE MASTER TO 指向新 Master。
  • health_check:定期檢查 mysqladmin ping、SHOW SLAVE STATUS 關鍵指標。

生產環境補強

  • 加入 **Orchestrator / MHA / GTID** 自動化故障轉移與拓撲管理。
  • 監控 Seconds_Behind_Master、Slave_IO/SQL_Running、VIP 狀態、磁碟/記憶體/CPU。
  • 跨機房部署需考慮網路延遲與 Split-Brain 風險,建議三節點以上仲裁。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved