RAC腦裂的理解

lusklusklusk發表於2016-06-02
腦裂(split brain):描述的是私有網路心跳出現故障的時候,而每個節點都正常執行,這時侯每個節點都認為其他的節點當機了,自己應該獲得叢集的控制權,這種狀況就是腦裂。腦裂了某些原因導致心跳線無法連線,這時候每個NODE都是獨立的個體了,突然心跳線恢復了,然後節點們互相爭主權。

在腦裂檢查階段Reconfig Manager會找出那些沒有Network Heartbeat而有Disk Heartbeat的節點,並透過Network Heartbeat(如果可能的話)和Disk Heartbeat的資訊來計算所有競爭子叢集(subcluster)內的節點數目,並依據以下2種因素決定哪個子叢集應當存活下去:
  1. 擁有最多節點數目的子叢集(Sub-cluster with largest number of Nodes)
  2. 若子叢集內數目相等則最低節點號的子叢集(Sub-cluster with lowest node number)把其他子叢集踢出,舉例來說在一個2節點的RAC環境中總是1號節點會獲勝。

只有2個節點的時候,投票演算法就失效了,number較小的1節點透過voting disk向2號節點發起驅逐
不過個人的理解為:第一個啟動的節點,就是主節點(不一定是節點1),兩個節點時,主節點驅逐另一個節點

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2112832/,如需轉載,請註明出處,否則將追究法律責任。

相關文章