Oracle RAC集群簡介

2021-05-27 05:44:46 字數 2269 閱讀 4188

對於rac

來說,最重要的還是要理解內部原理和體系結構。安裝不是非常難的事情。排錯和維護都離不開體系結構以及內部原理。

集群分類 1

、高效能計算

計算任務分配到不同計算機節點來提高整體計算能力,主要應用在科學計算領域。主要利用的是平行計算。 2

、負載均衡集群(lb)

把業務的負載流量盡可能的平均合理的分配到集群的各個節點上,每個節點都可以處理一部分負載,並且可以根據負載情況進行動態的平衡。負載均衡演算法不是簡單的平均,而是根據每個節點的可用資源或網路的特殊情況來進行優化分配。因此分配

+合理才是負載均衡的核心。 3

、高可用性(ha)

側重於提高系統的可用性,整合硬體和軟體的容錯性來實現整體服務的高可用性。如果某個節點發生故障,另外的節點代替他。

rac是真正的lb和

ha的複合體。從某種意義上說,只有最終應用(資料庫)才能實現真正意義上的

lb,而絕大多數的集群都是ha。

集群環境的特殊問題 1

、併發控制

集群環境中,存在共享儲存的問題。集群中各個節點對共享儲存是對等的,所有節點對資料有相同的訪問許可權,因此需要某種機制來控制節點對資料的訪問。 在

rac中,採用的是

dlm(

distribute lock management

)機制來進行例項間的併發控制。 2

、健忘症(

amnesia)

如果集群環境的配置檔案不是集中存放,每個節點都有乙個本地副本,集群正常執行的時候,使用者可以在任何節點修改集群的配置,並且這些更改都會自動同步到其他節點。

如果節點

1因為正常的維護需要關機,節點

2修改了配置,然後關閉節點

2.啟動節點

1,因為之前節點

2做的配置修改沒有同步到節點

1,所以將節點

1啟動以後,他仍然使用舊的配置檔案,造成配置丟失。 3

、腦裂(

split brain)

集群中,節點之間需要通過某種機制(心跳)了解彼此的健康情況,以確保各個節點協調工作。假設只是心跳出現故障,各個節點還在正常的工作,每個節點都認為其他節點宕機,自己是整個集群的唯一健在者,因此需要獲得整個集群的「控制權」。儲存是共享的,這就意味著災難,這種情況就是「腦裂」。

投票演算法可以解決這個問題

如果乙個集群分成了兩個

partition

,乙個partition是3

個節點,乙個

partition是2

個節點。那麼

3個節點的

partition

裡面所有的節點的票數都是

3,兩個節點的

partition

裡面所有節點的票數都是

2.擁有兩個節點的

partition

會被踢出,自動重啟。如果兩個

partition

的節點都相同,那麼第乙個控制投票區的

partiton

將會存活,另外乙個

partition

將會被踢出而重啟,這種情況通常是

master

節點(一般是第乙個啟動的節點)所在的

partition

將會存活。 4

、io隔離(io fencing)、

集群出現故障,必須判斷哪個節點應該獲得集群的控制權,那些節點需要被踢出。這時投票需要解決的問題。

僅僅將他們踢出還不足夠,因為他們可能還在繼續執行(只是離開了這個集群),需要保證他們不再訪問共享資料。這就是

io隔離要解決的問題。

io fencing

實現有硬體和軟體方式。各個集群廠商使用的方式不同,有些需要硬體的支援(主要是儲存裝置是否支援某些協議)。

oracle rac

使用的是軟體的 方式,直接重啟故障節點。

無論採用哪種方式,

io fencing

的目的就是保證故障節點不能繼續訪問共享資料。

有一些儲存裝置支援

scsi reserve/release

命令,正常節點使用

scsi reserve

命令鎖住儲存裝置,故障節點發現儲存被鎖定,就知道自己已經被踢出了

cluster

,自行重啟,這種機制叫做自殺機制(

suicide

)。例如

sun和

veritas

的集群使用的就是這種機制。

無論軟體還是硬體,大致原理就是:正常節點通過某種方式告知故障節點,故障節點會進行重啟。告知的方式有硬體和軟體之分,硬體更加安全一些。

Oracle RAC集群簡介

對於 rac來說,最重要的還是要理解內部原理和體系結構。安裝不是非常難的事情。排錯和維護都離不開體系結構以及內部原理。集群分類 1 高效能計算 計算任務分配到不同計算機節點來提高整體計算能力,主要應用在科學計算領域。主要利用的是平行計算。2 負載均衡集群 lb 把業務的負載流量盡可能的平均合理的分配...

Oracle RAC 集群結構

oracle rac的特點 01 可以實現多節點的負載均衡 rac資料庫集群可以根據設定的調整策略,在集群中實現負載均衡的功能,在集群中每個節點都是正常工作的,各個節點也是相互監控的,當集群中某個節點出現故障,rac會自動將故障的節點從集群中隔離,並將在失敗節點上的業務自動切換到其他健康的節點中。0...

ORACLE RAC集群原理

oracle rac原理 在乙個應用環境當中,所有的伺服器使用和管理同乙個資料庫,目的是為了分散每一台伺服器的工作量,硬體上至少需要兩台以上的伺服器,而且還需 要乙個共享儲存裝置。同時還需要兩類軟體,乙個是集群軟體,另外乙個就是oracle資料庫中的rac元件。同時所有伺服器上的os都應該是同一類o...