Oracle Grid Infrastructure CRS(集羣就緒服務)

CRS(Cluster Ready Service)主要負責管理集羣中的應用程序資源,實現集羣資源的高可用性,CRSD的另一部分功能是管理OCR,包括OCR的更新與備份。


CRSD的啓動過程

1)crsd.bin被ohasd的代理進程orarootagent啓動。

2)crsd.bin訪問OCR,獲得需要啓動的資源列表。

3)crsd.bin啓動對應的代理進程。

4)oraagent_root啓動集羣的公網資源,之後集羣的VIP和SCAN VIP資源也被啓動。

5)oraagent_grid啓動和VIP對應的listener資源,以及和SCAN VIP對應的SCAN listener資源。

6)oraagent_grid啓動ONS資源。

7)oraagent_grid啓動ora.asm資源,並啓動其他的磁盤組資源。

8)oraagent_oracle啓動數據庫資源,之前啓動對應的數據庫服務資源。

9)script_agent啓動ora.cvu資源。


CRSD的運行方式

步驟1:在請求節點的客戶端發出請求,例如:一個crsctl命令。

步驟2:請求節點CRSD的UI模塊收到對應的請求,並將請求發送給本地節點CRSD的PE模塊。

步驟3:本地節點的PE模塊在分析了請求所需要執行的操作之後,將該請求發送給PE主節點的PE模塊。

步驟4:PE主節點上的PE模塊在分析了收到的請求後,將需要執行的操作發送給目標節點的AGENT模塊。

步驟5:目標節點的AGENT模塊通知本地節點上對應的AGENT進程對資源進行操作。

步驟6;目標節點的AGENT進程完成了對資源的操作,並通知本地節點的AGENT模塊。

步驟7:目標節點的AGENT模塊將結果返回給PE主節點的PE模塊。

步驟8:PE主節點的PE模塊將返回結果發送給請求節點的PE模塊。

步驟9:請求節點的PE模塊將命令的返回結果發送給本節點的UI模塊。

步驟10:請求節點的UI模塊將請求結果發送給對應的客戶端。


AGENT(代理進程):agent只能被ohasd或crsd啓動,其中ohasd啓動的agent負責管理集羣的初始化資源;crsd啓動的agent負責管理集羣的應用程序資源。ohasd和CRSD根據資源的不同會啓動不同的agent,有些agent是由root用戶啓動的,有些是由grid用戶啓動,還有些是由oracle用戶啓動的,agent是高可用的進程,當agent由於某些原因崩潰後會有新的agent被啓動以繼續完成工作。


PE(Policy Engine):crsd是一個分佈式的集羣組件,集羣中的每一個節點都會運行該組件,而且它們要對一些共享的資源進行管理,所以對資源進行管理時需要一種協調機制保障操作能夠被順序執行,oracle採用的是主從模式,集羣中的一個節點會被選擇稱爲PE主節點,集羣中所有對資源的操作都會被髮送給PE主節點的crsd守護進程,再由這個主節點發送給需要執行相關操作節點的agent。


CRSD管理的資源

本地資源:該資源只能在本地節點上運行,不能轉移到集羣的其他節點上運行。本地資源包括:network資源,gsd資源,listener資源,ons資源,asm資源,磁盤組資源。


集羣資源:該資源會選擇在集羣的某一個或多個節點上運行,當某個節點出現問題時,資源可以切換到集羣中的其他節點上繼續運行。集羣資源包括:vip資源,scan vip資源,scan listener資源,gns資源,數據庫服務資源。


OCR的管理

OCR(Oracle Cluster Register):OCR主要用於記錄和CRSD相關的資源信息,CRSD通過訪問OCR來獲得集羣資源的列表,以及每個資源的屬性。


OCR主節點(OCR Master Node):由於集羣中的每個節點的crsd.bin都需要訪問OCR,而且有時需要修改其中的信息,所以集羣中最先啓動的節點上的crsd.bin會被選取去修改OCR的進程,而對應的節點被稱爲OCR主節點,集羣中的其他節點只會在本地將OCR信息維護在cache中,在讀取信息時從cache中讀取,而在寫入時,會將對應的信息發送給OCR主節點,由主節點完成最後的寫入操作。


OCR的自動備份

OCR主節點的crsd.bin會自動地備份OCR文件,每隔4個小時就會進行一次備份,備份文件放在$GRID_HOME/cdata/<cluster_name>目錄下,並且會自動保留一份周備份,日備份以及最近3次的備份。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章