腦裂及其常見處理

2022-01-12 10:58:20 字數 1060 閱讀 7343

對付ha系統「裂腦」的對策,目前達成共識的的大概有以下幾條:

1)新增冗餘的心跳線,例如:雙線條線(心跳線也ha),儘量減少「裂腦」發生機率;

2)啟用磁碟鎖。正在服務一方鎖住共享磁碟,「裂腦」發生時,讓對方完全「搶不走」共享磁碟資源。但使用鎖磁碟也會有乙個不小的問題,如果占用共享盤的一方不主動「解鎖」,另一方就永遠得不到共享磁碟。現實中假如服務節點突然宕機或崩潰,就不可能執行解鎖命令。後備節點也就接管不了共享資源和應用服務。於是有人在ha中設計了「智慧型」鎖。即:正在服務的一方只在發現心跳線全部斷開(察覺不到對端)時才啟用磁碟鎖。平時就不上鎖了。

3)設定仲裁機制。例如設定參考ip(如閘道器ip),當心跳線完全斷開時,2個節點都各自ping一下參考ip,不通則表明斷點就出在本端。不僅「心跳」、還兼對外「服務」的本端網路鏈路斷了,即使啟動(或繼續)應用服務也沒有用了,那就主動放棄競爭,讓能夠ping通參考ip的一端去起服務。更保險一些,ping不通參考ip的一方乾脆就自我重啟,以徹底釋放有可能還占用著的那些共享資源。

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

drbd腦裂處理

自動處理 通過 etc drbd.conf配置中設定自動處理策略,在發生資料不一致時自動處理。自動處理策略定義如下 1 after sb 0pri.當兩個節點的狀態都是secondary時,可以通過after sb 0pri策略自動恢復。1 disconnect 預設策略,沒有自動恢復,簡單的斷開連...

it 腦裂 讓我們聊聊腦裂這事情

萬事皆有因 最近im雲平台也好,社交應用也好,大量的使用ejabberd的廠商湧現出來了。不過所有使用ejabberd廠商可能都會遇到mnesia腦裂的問題。在這裡打算簡單的談談腦裂這個事情。什麼是腦裂 我在這裡面給個非官方的定義吧。當乙個集群的不同部分在同一時間都認為自己是活動的時候,我們就可以將...

mysql腦裂 如何防止HA集群的腦裂

luozhaode 博主這篇有關腦裂的文章是我看到過的理解的最透徹的。真是學習了,不過在實際工作中還是對腦裂存在著疑惑,懇請博主釋疑一下。謝謝!我們熟知的腦裂問題一般表現形式是 在mysql主備上安裝集群軟體,比如keepalive管理vip的飄逸 heartbeat管理包括vip在內的共享資源的轉...