Oracle clusterware組成概述

dbasdk發表於2014-07-08
       ㈠ clusterware和RAC的關係
       
          狹義上,RAC指藉助“某種叢集件”搭建出來的一個“多例項、單資料庫”的環境
          這裡的叢集件可以是 Oracle clusterware、Sun cluster等
          clusterware把分散式主機虛擬成一個計算機
          RAC把分散式例項虛擬成一個例項
          clusterware向下管理硬體資源,向上為RAC提供服務
          
       ㈡ Oracle clusterware組成
       
          ① 磁碟檔案
             
             OCR disk和voting disk必須放在共享儲存上
             
             ⑴ OCR disk
             
                由於修改節點的配置資訊不同步引起的“健忘”問題
                Oracle採用OCR disk儲存整個叢集的配置資訊
                OCR disk的位置在/etc/oracle/ocr.loc
                配置資訊以“key-value”形式儲存
                
                每個節點在記憶體中都有一份OCR disk的複製,這份記憶體叫 OCR cache
                OCR cache的內容可由每個節點的OCR process讀
                OCR disk的內容只能由master node上的OCR process讀寫
                master node上的OCR process負責更新本地和其他節點的OCR cache內容
                需要OCR 內容的其他程式,如CSSD、EVMD等都叫client process
                這些程式不會直接訪問OCR Cache,而是向OCR process傳送請求,藉助OCR process獲得內容
                如果想要修改OCR 內容,需要由該node的OCR process向Master node上的OCR process提交請求
                由master OCR process完成物理讀寫,並同步到所有OCR cache
                
             ⑵ voting disk
             
                在叢集重構的投票階段,節點向reconfig manager傳送該節點所瞭解的成員的健康狀況
                在network heartbeat不可用的情況下, cluster分裂成多個 subcluster時
                確定對方的subcluster中node的數量、傳送killblock 以實現evictee的驅逐通知
                這是個訊號的傳遞者
                crsctl query css votedisk檢視voting disk的位置
      
          ② 後臺程式
             
             在安裝clusterware最後階段,會要求在每個節點執行root.sh
             這個指令碼會在/etc/inittab檔案的最後新增如下3行:
             h1:35:respawn:/etc/init.d/init.evmd run >/dev/null 2>&1 < /dev/null
             h1:35:respawn:/etc/init.d/init.cssd fatal >/dev/null 2>&1 < /dev/null
             h1:35:respawn:/etc/init.d/init.crsd run >/dev/null 2>&1 < /dev/null
             可見,clusterware若干後臺程式中最重要的無非是CSSD、CRSD、EVMD
              
              ⑴ OCSSD
              
                 這個算是最關鍵的程式了,如果它出現異常,會直接導致系統重啟
                 CSSD透過心跳機制,實時監控叢集健康狀態,提供“腦裂保護”等基礎服務
                 CSS服務有兩種心跳機制:
                    私有網路的network heartbeat
                    voting disk的disk heartbeat
                 注意,在配置ASM時,也有個CSSD程式
                 用於支援ASM instance和RDBMS instance通訊
                 在ASM上搭RAC需要透過$ORACLE_HOME/bin/localconfig.sh delete將此從/etc/inittab刪除
                 因為RAC要求node只有一個CSSD程式
                 
              ⑵ CRSD
              
                 需要HA的元件,都會以CRS resource的形式登記到OCR disk
                 而CRSD就是根據OCR 中的內容,負責監控CRS resource的執行狀態,並要啟動、停止、failover這些資源
                 
              ⑶ EVMD
              
                 EVMD有兩個任務:
                     ● 負責釋出CRS生成的各種事件
                     ● 是CSSD和CRSD通訊的橋樑
                     
          ③ 網路元件
          
             每個節點至少有2張網路卡提供連線
                     ● 共有網路卡:提供對外資料服務
                     ● 私有網路卡:用於節點間的通訊,通訊內容包括network heartbeat和cache fusion
             每個節點需要3個IP地址:public IP、private IP和virtual IP(俗稱:VIP)
<!-- Baidu Button BEGIN --&gt

相關文章