當前位置:龍圖IT服務 > 行業新聞 >

盤點構成Oracle RAC搭建軟件的三種類型

作者:IT服務外包 發布時間:08-06 閱讀: 轉至微博:

RAC搭建的實現都是基于硬件的配合,使用軟件產品來實現的,根據前面討論到的邏輯層次結構,構成RAC的軟件主要包括存儲層、集群層和數據庫層,分別由存儲管理軟件、集群管理軟件和數據庫管理軟件來實現。
在10g版本之前的Oracle RAC中,要搭建一個Oracle集群環境需要用到第三方的集群管理軟件和存儲管理軟件。Oracle從10g開始,推出了自己的集群管理軟件和存儲管理軟件。Oracle 11g R2將這兩部分軟件進行打包,作為一個基礎的架構軟件推出,同時支持第三方產品的使用。下面對這三部分軟件進行詳細的討論。
RAC搭建
存儲管理軟件
Oracle 11g之前,Oracle數據庫支持直接使用裸設備,雖然它有高性能等特點,但也存在不便于管理等問題。從11gR2開始,Oracle圖形化界面不再支持直接使用裸設備,取而代之的是使用Oracle ASM(Automated Storage Management,自動存儲管理)作為Oracle默認的存儲管理方式。
ASM結構沒有文件系統那么復雜,豐富的特性使它同樣具有出色的性能,非常適合Oracle數據庫的使用。從11gR2版本開始,包括Clusterware磁盤文件OCR和Votedisk在內的所有Oracle文件,都支持直接存放到ASM當中,并且在ASM的基礎上還推出了ACFS(ASM Clusterware File System,ASM集群文件系統)。由此Oracle有了自己的集群文件系統,ASM開始成為一種完整的存儲解決方案。
ASM也是建立在裸設備基礎上,沒有任何文件系統對它進行格式化。ASM能夠實現鏡像和條帶化,支持動態地添加、刪除磁盤,并且能自動實現重新平衡(可以簡單地理解為碎片整理功能)。ASM管理工具SRVCTL、ASMCMD在10g的基礎上進行了擴展和增強。11gR2版本新推出的ASM圖形化管理工具ASMCA,為ASM的使用提供了強有力的支撐。
除了ASM外,Oracle繼續支持使用集群文件系統作為存儲方式。10g版本中出現的OCFS(Oracle Cluster File System,Oracle集群文件系統)依然能夠繼續使用,從10g版本的使用情況來看OCFS是很穩定的,但它的穩定性依賴于節點網絡(使用OCFS需要配置網絡心跳)和存儲連接的穩定性。Oracle也支持使用NFS的方式實現共享存儲,同時繼續支持第三方的集群文件系統,如Red Hat 的GFS、IBM AIX的GPFS等。
集群管理軟件
部署RAC不僅硬件上有一定的要求,軟件也不像單實例數據庫只需要一個數據庫軟件。除了數據庫軟件外,集群還需要集群管理軟件協調節點服務器之間的工作,以管理集群的各種資源,配合數據庫實現集群的高可用性。Oracle有自己的集群管理軟件Clusterware,Clusterware與Database高度地集成,它們的組合成為部署RAC的首選。同時,Oracle也支持第三方的集群軟件來實現RAC,但這并不意味著不需要Clusterware,即使使用第三方集群管理軟件也只能代替Clusterware的部分功能,從某種角度講,使用第三方集群管理軟件來實現RAC只會增加管理難度和維護成本。
Clusterware為所有平臺的Oracle數據庫提供一個完整的集群解決方案,并為RAC運行提供必要的基礎架構。Clusterware通過對VIP地址、數據庫、監聽器、服務等CRS資源的管理提供RAC的高可用性。
使用Clusterware不僅可以使Database具有高可用性,通過簡單的配置也可以使應用服務器具有高可用性。所以,Clusterware更像是一個獨立的產品,它不只限于配合Database的使用,還可以和其他應用產品集成來實現各種產品的高可用性。從Oracle 11g開始,Clusterware作為Grid Infrastructure的一部分被安裝和使用。安裝和運行Clusterware的服務器可以具備不同機型、不同配置,但同一個集群必須安裝相同的操作系統。
RAC的部署不依賴于第三方集群管理軟件,提供了只使用Oracle產品就能完成集群搭建的整體解決方案。對于客戶來說,這樣既降低了維護成本,減少了廠家之間責任的推脫,也使問題得到了更快的解決。
數據庫管理軟件
狹義上講,RAC特指RAC Database,是廣義RAC體系中的數據庫層,是RAC體系中最核心的部分,由分布在不同節點服務器的數據庫實例和共享存儲上的數據庫組成。一個RAC Database只有一個數據庫,但是有多個實例分布在不同的服務器上。RAC Database也是個集群,比單實例數據庫有更多的后臺進程來保證節點間實例訪問的一致性,同時,它又與集群管理軟件的后臺進程配合,共同實現RAC高可用性。
在單實例數據庫中,實例和數據庫是一對一的關系;在RAC數據庫中,實例和數據庫是多對一的關系。RAC Database不同于Oracle單實例數據庫,每個RAC實例有如下特點:
·有獨立的Redo進程和文件,必須放在共享存儲上。
·有獨立的UNDO表空間,必須放在共享存儲上。
RAC Database通常包含兩個或更多的數據庫實例,每個實例包含自己的內存結構和后臺進程。RAC Database和單實例數據庫有相同的內存結構和后臺進程,另外還附加了一些RAC所特有的進程和內存結構。RAC數據庫使用Cache Fusion技術,將所有實例的SGA融合到一起,使之形成邏輯上單一的緩沖區,每個節點實例緩沖區都是集群緩沖區的組成部分。由于Cache Fusion的原因,RAC數據庫占用的SGA空間要比單實例占用SGA的空間更大。
RAC并不能解決運行中可能出現的所有故障。存儲失敗(如陣列磁盤損壞)對RAC來說是致命的,一旦存儲失敗就可能導致所有運行節點都會出現問題。Oracle針對這種情況提出了MAA(Maximum Availability Architecture,最高可用性構架),即RAC+Active Data Guard,它可以有效地避免存儲失敗導致的數據丟失和長時間停機。Active Data Guard中的Active指的是從11gR2開始,物理Standby以只讀方式打開的情況下,依然可以應用傳送過來的日志。本書第11章將詳細討論Data Guard技術。
需要說明的是,MAA構架是最高可用性,但不是完全可用性。Data Guard的主備切換可能需要幾分鐘或更長的時間。所以即使使用了MAA構架,當RAC所有節點出現了故障,在一定時間內也會影響系統的正常使用。
小結
RAC具有非常多的特點,首先RAC是并行運行的架構,所有的節點都同時工作,具備非常高的可用性,能夠在出現單點故障的時候依然提供服務。由于11gR2版本中網格即插即用的出現,集群添加、刪除節點變得非常方便,RAC的吞吐量隨著節點數目的增加也不斷得到增大。
RAC是高可用性的解決方案,但是由于它的運行需要眾多不同類型硬件產品的支持和協同工作,所以可能存在一些不穩定的情況;同時,由于RAC的體系結構導致私有網絡成為RAC的一個性能瓶頸,后面將對這兩個問題進行詳細的討論。最后討論了組成RAC的軟件,分別由存儲管理軟件、集群管理軟件和數據庫管理軟件構成。

關鍵詞: RAC搭建
    日本一级婬片人妻