RAC集羣學習(一)

real application cluster

功能作用:

        HA  高可用

        LB   負載均衡

物理結構:

       由多個節點組成,每個節點一個實例

       節點間通過特殊的機制通訊、協調

       一般由多節節點、內網鏈接、外網鏈接、共享庫組成

邏輯結構:

       —— 集羣件(也就是clusterware):管理相關資源(資源需要預先註冊),記錄資源信息,監控資源狀態。資源裏包括:OMS、VIP、數據庫、實例、監聽器;Clusterware同時也管理硬件節點資源,使這些節點模擬一個計算機。節點對用戶是透明的。

     ——網絡要素:RAC需要多個局域網,內網、外網、存儲網絡

     ——共享存儲:多節點、每個節點一個實例,多節點分享共享存儲。控制文件、數據文件、日誌文件存放在同一個共享存儲上,保證RAC環境只有一個數據庫。

     ——CRS的資源服務:

             CLUSTER用於管理集羣中多個節點的各種資源,如:監聽、實例等,與節點相關的VIP、GSD、ONS(這仨資源用VIPCA來管理),這些都是CRS管理的資源。這些資源存儲在OCR磁盤上,通過Clusterwarehouse中的相關進程監控ORC磁盤上的信息,從而實現監控這些資源的目的。


單實例和RAC結構上的區別:

    ——GRD內存區域

    ——多個後臺進程

    ——部分數據庫文件

  

    1.首先介紹GRD:Global Resource Directory、全局資源目錄

            RAC環境心下每個節點實例都有自己的GRD內存區域,用來存儲同一個數據庫在不同節點上的分佈,既多個實例併發操作同一個數據塊兒的時候,該數據塊就在節點各自的GRD內存中,RAC通過特殊的機制來監控不同的實例上同一個數據塊兒的當前狀態 。

   2. 其次是部分進程的

    LMON進程:

            RAC環境中多個節點實例之間定期通訊,檢查各自當前狀態。這種節點之間的協調通訊,以完成節點間健康檢查的任務由LMON來完成。

    LMD進程:

            CaheFusion(內存融合) 裏有個GES(Global Enqueue Service)服務,該服務協調節點之間對同一數據塊兒訪問的次序,LMD就是提供GES服務。

    LCK進程:Lock進程,和顯然是提供集羣環境中對同一數據塊兒訪問的鎖管理。

    LMSn進程:CacheFusion裏有一個GCS服務(),該服務作用是節點之間拷貝數據塊兒,而LMSn進程就提供GCS服務。

    DIAG進程:集羣裏的日誌進程,記錄集羣健康狀態、實例錯誤診斷日誌。

    3.部分數據文件:

     參數文件和日誌文件的存儲:集羣環境先所有節點的參數文件和日誌文件存放於共享存儲上,所有節點實例共享。防止一個節點做修改二其他節點“一無所知”。


RAC與Clusterware:

     Clusterware是個集羣件,提供相當於一箇中間件的功能! 單實例環境通過OS內核操作數據文件, RAC是個集羣環境,是多實例環境,有多個OS,無法通過OS來操作數據文件,因爲操作系統之間沒有這樣的協調,###   因此Oracle開發了一個東西,在Oracle數據庫和操作系統之間加了一箇中間件,叫Clusterware,這樣操作數據的時候通過Clusterware之間協調,這樣實例之間還可以共同完成數據庫的操作。

     RAC是個集羣環境,它讓數據庫服務器之間通過一個集羣軟件來一起協調工作,該集羣環境提供了“實例”對“數據庫”的多對一的對應關係,既多實例對應一個數據庫; 多實例環境相對於單實例環境提高了系統吞吐量和可擴展性。提供系統的可靠性和負載均衡。

     Clusterware是一種集羣件產品,負責管理RAC節點的硬件資源,管理各種應用資源,爲集羣數據庫提供基礎服務;  多個實例之間的工作通過Clusterware 來協調管理同一個物理數據庫。  Clusterware 相當於一箇中間層軟件,置於系統和數據庫軟件之間。當多個實例協調的時候通過它來完成,同事也監控很多資源。


Clusterware羣集件的組成:  OCR 、 Voting disk 、後臺進程 、 網絡組件

   ——OCR

           1.磁盤文件  2.存儲在共享存儲上(或裸設備)  3.作用是記錄RAC集羣節點的配置信息  。 這樣可實現整個環境中只有一個存儲配置的磁盤文件,實現對集羣配置的同步修改(放置單點修改,二其他節點“一無所知”)。

   ——voting disk

           用於存儲節點狀態信息,一旦節點失效通過“投舉”算法將失效節點踢出羣集,該文件存儲在共享存儲上,每個節點都可以訪問到,通過節點狀態信息,根據投票結果踢出失效節點,重構健康集羣環境。

   ——後臺進程

          1.occsd 後天進程:提供CSS(Clusterware Synchronization service)集羣同步服務,該服務通過某種機制判斷集羣的節點是否還“活着”,監控節點狀態,ocssd 進程就完成。

          2.crsd (Clusterware ready service)這些資源,並在這些資源故障時提供系統的 高可用性(修復)。  RAC環境下,資源會註冊到OCR,crsd進程就是讀取OCR中存儲的狀態信息來管理資源, 如監控資源的運行狀態,何時以及重啓或關閉這些註冊的資源。

          3.EVMD進程:負責分發CRS進程產生的事件(event),RACGIMON進程負責檢查數據庫的狀態。


  ——網絡組件:RAC環境中每個節點至少需要兩個網卡,一個爲public 網卡,配置IP爲public ip,用於提供外部服務;一個爲private 網卡,配置的爲private IP,用於內部連接,實現節點之間的通訊,如:心跳線(heartbeat)和內存融合(cachefusion)等。   在安裝Clusterware的時候還需要配置一個Virtual IP ,該地址會綁定到public IP上,已實現RAC故障時failover。



拓展內容:

連接1:RAC集羣簡介   http://czmmiao.iteye.com/blog/1629166

連接2:Oracle RAC 基本概念及入門 http://blog.itpub.net/9399028/viewspace-682678/

連接3:  http://blog.csdn.net/zq9017197/article/details/7637458



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