nginx-7:高可用主備模式


參考:https://blog.csdn.net/ljx1528/article/details/82842194

 

 1. 原理

  VRRP 協議,全程 Virtual Router Redundancy Protocal,中文名為虛擬路由冗余協議,VRRP 的出現是為了解決靜態路由的單點故障。

  VRRP 是用 IP 多播的方式(默認多播地址 224.0.0.18)實現高可用對之間通信的。

  工作時,主節點發包,備用節點接包,當備用節點接收不到主節點發的數據包的時候,就啟動接管程序接管主節點的資源。備用節點可以有多個,通過優先級競選,但一般 keepalived 都是使用一對。

  

  

  

 2. 配置

  略

 

 3. keepalived 產生腦裂的原因與解決方法

  腦裂指在一個高可用(HA)系統中,當聯系着的兩個節點斷開聯系時,本來為一個整體的系統,分裂為兩個獨立節點,這時兩個節點開始爭搶共享資源,結果會導致系統混亂,數據損壞。

  一般來說,腦裂的發生,有一下幾種原因:

  1)高可用服務器對之間心跳線路發生故障,導致無法正常通信

  • 因心跳線壞了(包括斷了,老化)
  • 因網卡及相關驅動壞了,ip 配置及沖突問題
  • 因心跳線連接的設備故障(網卡及交換機)
  • 因仲裁的機器出現問題(采用仲裁的方案)

   2)高可用服務器上開啟了防火牆阻擋了心跳消息傳輸

  3)高可用服務器上心跳網卡地址等信息配置不正確,導致發送心跳失敗

  4)其他服務器配置不當等原因,如心跳方式不同,心跳廣插沖突

  5)keepalived 配置里同一 VRRP 實例,如果 virtual_router_id 兩端參數配置不一致也會導致裂鬧問題發生

 

  常見的解決方案

  1)同時使用串行電纜和以太網電纜連接,同時用兩條心跳線路,這樣一條線路壞了,另一個還是好的,依然能傳送心跳消息

  2)當檢測到裂鬧時強行關閉一個心跳節點(這個功能需要特殊設備支持,如果 Stonith、feyce)。相當於備用節點接收不到心跳消息,通過單獨的線路發送關機命令關閉主節點電源

  3)做好對裂腦的監控報警(如郵件或手機短信或值班)。在問題發生時人為第一時間介入仲裁,降低損失。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM