資源描述:
《oracle rac集群體系結(jié)構(gòu)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、OracleRAC集群體系結(jié)構(gòu)?一、Oracle集群體系結(jié)構(gòu)OracleRAC,全稱是OracleRealApplicationCluster,即真正的應(yīng)用集群,是oracle提供的一個(gè)并行集群系統(tǒng),整個(gè)集群系統(tǒng)由OracleClusterware(集群就緒軟件)和RealApplicationClusters(RAC)兩大部分組成。?oracleRAC的實(shí)質(zhì)是位于不同操作系統(tǒng)的Oracle實(shí)例節(jié)點(diǎn)同時(shí)訪問同一個(gè)Oracle數(shù)據(jù)庫,每個(gè)節(jié)點(diǎn)間通過私有網(wǎng)絡(luò)進(jìn)行通信,互相監(jiān)控節(jié)點(diǎn)的運(yùn)行狀態(tài),oracle數(shù)據(jù)庫所有的數(shù)據(jù)文件、聯(lián)機(jī)日志文件、控制文件等均
2、放在集群的共享存儲(chǔ)設(shè)備上,而共享存儲(chǔ)設(shè)備可以是RAW、ASM、OCFS2等,所有集群節(jié)點(diǎn)可以同時(shí)讀寫共享存儲(chǔ)。OracleRAC的基本拓?fù)浣Y(jié)構(gòu)如下所示:?由拓?fù)浣Y(jié)構(gòu)可知:一個(gè)OracleRac數(shù)據(jù)庫有多個(gè)服務(wù)器節(jié)點(diǎn)組成,每個(gè)服務(wù)器節(jié)點(diǎn)上都有自己獨(dú)立的OS、ClusterWare、oracleRac數(shù)據(jù)庫程序等,并且每個(gè)節(jié)點(diǎn)都有自己的網(wǎng)絡(luò)監(jiān)聽器。ClusterWare是一個(gè)集群軟件,主要用于集群系統(tǒng)管理,oracleRac數(shù)據(jù)庫程序用于提供oracle實(shí)例進(jìn)程,以供客戶端訪問集群系統(tǒng),監(jiān)聽服務(wù)主要用于監(jiān)控自己的網(wǎng)絡(luò)端口信息,所有的服務(wù)和程序通過操作
3、系統(tǒng)都去訪問一個(gè)共享存儲(chǔ),最終完成數(shù)據(jù)的讀寫。共享存儲(chǔ)的實(shí)現(xiàn)方式有很多種,可以通過使用自動(dòng)存儲(chǔ)管理(ASM)、Oracle集群文件系統(tǒng)(OCFS)、裸設(shè)備(Raw)、網(wǎng)絡(luò)區(qū)域存儲(chǔ)(NAS)等來保證整個(gè)集群系統(tǒng)數(shù)據(jù)的一致性。從Oracle10g起,Oracle提供了自己的集群軟件,即Oracleclusterware,它通過CRS(即ClusterReadyServices)來實(shí)現(xiàn),這個(gè)軟件是安裝oraclerac的前提,也是RAC環(huán)境穩(wěn)定運(yùn)行的基礎(chǔ),在oracle10g之前的版本,安裝RAC時(shí)必須借助與第三方的集群軟件,而在oracle10g以后
4、,安裝oraclerac時(shí),可以用oracle自帶的集群軟件,也可以使用經(jīng)過RAC認(rèn)證的第三方集群軟件來代替。從oracle的運(yùn)行機(jī)制來說,集群中每臺(tái)服務(wù)器就是一個(gè)oracle實(shí)例,多個(gè)oracle實(shí)例對(duì)應(yīng)同一個(gè)oracle數(shù)據(jù)庫,組成了oracle數(shù)據(jù)庫集群。請(qǐng)看下圖:?從圖中可以看出,運(yùn)行在兩個(gè)節(jié)點(diǎn)上的數(shù)據(jù)庫實(shí)例訪問同一個(gè)RAC數(shù)據(jù)庫,并且兩個(gè)節(jié)點(diǎn)的本地磁盤僅用來存放oracle安裝程序和ClusterWare軟件,而在共享存儲(chǔ)上,存放了oracle的數(shù)據(jù)文件、控制文件、聯(lián)機(jī)日志文件、歸檔日志文件等,這是安裝oracleRac時(shí)的一種數(shù)據(jù)存儲(chǔ)
5、分配方式,其實(shí),RAC提供了多種數(shù)據(jù)存儲(chǔ)方式,這個(gè)將在下面進(jìn)行獨(dú)立介紹。??二、OracleClusterware體系結(jié)構(gòu)與進(jìn)程介紹?2.1、OracleClusterware簡介ClusterReadyServices,簡稱CRS,是oracle開發(fā)的一個(gè)集群軟件,與其它集群軟件類似,CRS主要完成集群成員管理、心跳監(jiān)控、故障切換等功能,CRS要求每個(gè)集群節(jié)點(diǎn)的操作系統(tǒng)必須相同,這樣,通過CRS將多個(gè)節(jié)點(diǎn)的操作系統(tǒng)綁定到了一起,客戶端對(duì)集群的訪問,就像訪問一臺(tái)服務(wù)器一樣。CRS主要有兩個(gè)集群套件組成,分別是votingdisk和OracleCl
6、usterRegistry。votingdisk,即為表決磁盤,集群中每個(gè)節(jié)點(diǎn)定期評(píng)估自身的健康情況,然后會(huì)把它的狀態(tài)信息放入到表決磁盤上。并且節(jié)點(diǎn)間也會(huì)互相查看其運(yùn)行狀態(tài),并把信息傳遞給其他節(jié)點(diǎn)進(jìn)而寫入表決磁盤。當(dāng)集群節(jié)點(diǎn)發(fā)生故障時(shí),還可以通過表決磁盤進(jìn)行投票仲裁等,因此,表決磁盤必須放在共享存儲(chǔ)設(shè)備上。以保證每個(gè)節(jié)點(diǎn)都能訪問到。表決磁盤可以是一個(gè)裸磁盤分區(qū),也可以是一個(gè)獨(dú)立的文件。由于它僅記錄節(jié)點(diǎn)運(yùn)行信息,磁盤大小一般在10-20M左右即可。OracleClusterRegistry,簡稱OCR,即集群注冊(cè)服務(wù),OCR主要用于記錄RAC中集群
7、和數(shù)據(jù)庫的配置信息。這些信息包括了集群節(jié)點(diǎn)的列表、集群數(shù)據(jù)庫實(shí)例到節(jié)點(diǎn)的映射以及CRS應(yīng)用程序資源信息。CRS使用兩種心跳設(shè)備來驗(yàn)證節(jié)點(diǎn)成員的狀態(tài),保證集群的完整性:一個(gè)是表決磁盤,集群同步服務(wù)進(jìn)程每隔幾秒鐘都會(huì)向表決磁盤寫入一條心跳信息,集群通過表決磁盤即可驗(yàn)證節(jié)點(diǎn)的狀態(tài),如果某個(gè)節(jié)點(diǎn)在指定的最大時(shí)間段內(nèi)沒有向表決磁盤寫入信息,集群就認(rèn)為此節(jié)點(diǎn)失效了,進(jìn)而執(zhí)行故障切換。另一個(gè)心跳是節(jié)點(diǎn)間私有以太網(wǎng)的心跳,通過這個(gè)心跳機(jī)制可以判斷節(jié)點(diǎn)間是否出現(xiàn)了網(wǎng)絡(luò)故障。兩種心跳機(jī)制的結(jié)合,有效的增加了集群的可靠性。另外,CRS建議用于內(nèi)部通訊的私有以太網(wǎng)心跳必
8、須與用于RAC節(jié)點(diǎn)間通訊的網(wǎng)絡(luò)分開,也就是不能在同一網(wǎng)絡(luò)中,如果RAC節(jié)點(diǎn)間通訊的網(wǎng)絡(luò)與私有以太網(wǎng)心跳在同一個(gè)網(wǎng)絡(luò)內(nèi),那么,必須保證該網(wǎng)