摘 要:ORACLE被廣泛部署與應用于數(shù)字化校園,隨著生產(chǎn)與應用的深入,高校對數(shù)據(jù)庫系統(tǒng)的高可用性十分重視。Oracle RAC作為實時應用集群的新技術(shù),能夠在低成本服務器上構(gòu)建高可用性數(shù)據(jù)庫系統(tǒng),本文對ORACLE RAC架構(gòu)及部署進行剖析。
關(guān)鍵詞:數(shù)字化校園;ORACLE;RAC;高可用性
中圖分類號:G250 文獻標識碼:A
1 引言(Introduction)
為了提高高校管理水平,促進高校內(nèi)涵建設,高校紛紛開展了數(shù)字化校園建設項目。數(shù)字化校園已成為許多高校必不可少的業(yè)務生產(chǎn)系統(tǒng),系統(tǒng)運行直接影響到學校的日常運轉(zhuǎn)。數(shù)據(jù)庫系統(tǒng)是整個數(shù)字化校園的核心,對數(shù)字化校園所應用的數(shù)據(jù)庫的穩(wěn)定性、可靠性、擴展性等提出了更高的要求。采用集群技術(shù)的ORACLE RAC數(shù)據(jù)庫,可實現(xiàn)大量用戶并發(fā)訪問的同時保障其7×24的可用性、可靠性、故障快速恢復,保證數(shù)據(jù)庫的高可用性[1]。
2 ORACLE數(shù)據(jù)庫集群技術(shù)(ORACLE database
cluster technology)
集群技術(shù)是使用特定的配置方式,將成本相對較低的硬件設備結(jié)合起來,提高可擴展性和可靠性。Oracle RAC,全稱Real Application Cluster(實時應用集群),是一種數(shù)據(jù)庫應用集群技術(shù),繼承了集群的所有特性,是一項并行計算的技術(shù),支持多個服務節(jié)點能同時共享對某個單一數(shù)據(jù)庫的實時訪問,從而獲取更高的可用性、最靈活的可伸縮性以及經(jīng)濟型的系統(tǒng)架構(gòu)。當某個服務節(jié)點發(fā)生故障,RAC能夠自動切換到另外一個或多個節(jié)點上,從而實現(xiàn)應用的無縫切換,保證生產(chǎn)系統(tǒng)的連續(xù)性、可用性[2]。
2.1 可伸縮性
ORACLE RAC用戶可以通過虛擬數(shù)據(jù)庫服務名連接到數(shù)據(jù)庫上,數(shù)據(jù)庫服務或部分子集數(shù)據(jù)服務可被不同節(jié)點上RAC數(shù)據(jù)庫實例預訂??梢栽O置數(shù)據(jù)服務連接的數(shù)據(jù)庫節(jié)點。
2.2 高可用性
ORACLE RAC在數(shù)據(jù)庫恢復期間能提供完整的數(shù)據(jù)庫訪問,通過N-1節(jié)點失效的容錯能力,只要有一個數(shù)據(jù)庫節(jié)點維持正常運行,ORACLE RAC就能夠提供完全的數(shù)據(jù)庫訪問和服務,保證數(shù)字化校園業(yè)務系統(tǒng)7×24可用性的。
2.3 可管理性
提供了從任何節(jié)點到所有磁盤設備和遠程高速緩存進行無縫數(shù)據(jù)訪問的能力。并將映像延伸到所有數(shù)據(jù)庫管理操作。安裝、配置、備份、升級以及監(jiān)控等操作只需進行一次,然后會自動發(fā)布到集群中所有節(jié)點上去。
3 數(shù)據(jù)庫集群存儲架構(gòu)(Database cluster storage
architecture)
大數(shù)據(jù)時代數(shù)據(jù)庫集群技術(shù)是解決數(shù)據(jù)庫系統(tǒng)安全、穩(wěn)定及可靠性等問題的良好方案。數(shù)據(jù)庫的集群和擴展與應用程序有所不同,需涉及到數(shù)據(jù)庫層面的同步?,F(xiàn)行數(shù)據(jù)庫集群存儲架構(gòu)如下分為如下兩種類型[3]。
3.1 Share-Disk架構(gòu)
Share-Disk架構(gòu)是通過多個服務器節(jié)點共享一個存儲來實現(xiàn)數(shù)據(jù)庫集群。Share-Disk架構(gòu)又分為單活和雙活,雙活即為集群中的每一個節(jié)點都可以同時對外提供服務,而單活為集群中只有一個節(jié)點可對外提供服務,集群中的其他服務器作為冗余在“活”的節(jié)點出現(xiàn)故障時接替該服務器成為對外提供服務的節(jié)點。雙活的技術(shù)雖然也是共享磁盤,但集群中的所有節(jié)點都可以對外提供服務。Oracle RAC集群采用的就是雙活技術(shù)。
3.2 Share-Nothing架構(gòu)
Share-Nothing架構(gòu)又分為兩種,第一種是分布式架構(gòu),將數(shù)據(jù)庫中的數(shù)據(jù)按照某一標準分布到多臺機器中,查詢或插入時按照條件查詢或插入對應的分區(qū)。另一種是每一個節(jié)點完全獨立,節(jié)點之間通過網(wǎng)絡連接,通常是通過光纖等專用網(wǎng)絡。
4 ORACLE RAC數(shù)據(jù)庫的部署(ORACLE RAC
database deployment)
4.1 運行環(huán)境規(guī)劃
Oracle數(shù)據(jù)庫集群需要至少兩臺服務器、一個共享盤陣,每臺服務器最少需要兩塊高速網(wǎng)卡和一塊HBA光纖卡。服務器的配置可選用機架式HP 580 G8或IBM 3850兩臺,單臺配置4路CPU,64GB及以上內(nèi)存,也可以根據(jù)業(yè)務的并發(fā)度和可用性指標要求采用更多的服務節(jié)點;存儲配置EMC VNX 5000系統(tǒng)FC光纖存儲系統(tǒng)兩臺,單臺支持雙控制器,控制器FC光纖端口通信速率不低于6Gbps;配置EMC DS 300光纖交換機一臺,激活FC光纖端口不少于8個。操作系統(tǒng)采用64位Linux,數(shù)據(jù)庫軟件采用 oracle10g 和 oracle 10g rac組件。
4.2 存儲的規(guī)劃
數(shù)據(jù)庫系統(tǒng)的存儲應用一般都表現(xiàn)為大量的I/O訪問,對帶寬要求較低。如果存儲設備的IOPS較小時,會降低數(shù)據(jù)庫的檢索、處理速度,從而影響業(yè)務系統(tǒng)的效率。存儲配置的磁盤采用單塊磁盤容量為600G/15000RPM的高速FC磁盤,本例單臺可配置15*600G裸存儲容量,也可根據(jù)業(yè)務系統(tǒng)需求進行存儲容量的擴充。
建立一主一備兩套存儲系統(tǒng),并采用EMC同步容災進行數(shù)據(jù)的備份與容災,通過同城同步保障主備核心業(yè)務數(shù)據(jù)的完全一致,并實現(xiàn)業(yè)務透明的回切,提升業(yè)務恢復能力。
4.3 ORACLE RAC的實施
通過兩臺服務器(單臺服務器配置四個網(wǎng)卡),兩個光纖交換機,兩個專用網(wǎng)絡交換機,一主一備兩套共享存儲,構(gòu)建ORACLE RAC的物理架構(gòu)。
依據(jù)設計的物理架構(gòu)并按如下步驟進行配置。
(1)每個集群節(jié)點物理連接共享存儲。
(2)集群節(jié)點安裝操作系統(tǒng),并進行存儲配置。本例采用RHEL6.4/64位操作系統(tǒng)。endprint
(3)每個節(jié)點有兩塊網(wǎng)卡分別需要三個IP地址public、Private、VIP,Private和VIP分配到Public NIC上,其中虛擬IP是在所有服務器運行正常時,分配到公共IP上,當有一臺服務器宕機,這臺服務器上的虛擬IP將被轉(zhuǎn)移到其他仍在正常運行的服務器上??砂慈缦卤?進行地址的配置,具體應根據(jù)高校各自校園網(wǎng)地址規(guī)劃有所區(qū)別。
表1 ORACLE RAC地址規(guī)劃表
Tab.1 ORACLE RAC address planning table
項目 地址類型 ORac1地址 ORac2地址
網(wǎng)卡1 public 172.16.1.1/24 172.16.1.2/24
Gateway:172.16.1.254 Gateway:172.16.1.254
網(wǎng)卡2 vip 192.168.1.1/24 192.168.1.2/24
Gateway:192.168.1.254 Gateway:192.168.1.254
網(wǎng)卡3 privatc 10.0.0.1/27 10.0.0.2/27
(4)集群節(jié)點安裝集群組件。
將數(shù)據(jù)文件、控制文件、參數(shù)文件及聯(lián)機日志等安裝在共享存儲,并可以依據(jù)支行環(huán)境選擇OCFS或ASM集群文件系統(tǒng)。
(5)建立集群數(shù)據(jù)庫及實例。
(6)配置數(shù)據(jù)庫監(jiān)聽及數(shù)據(jù)庫服務。
(7)集群數(shù)據(jù)庫測試。
4.4 配置Failover
Failover(故障轉(zhuǎn)移)能夠?qū)⒄谑褂霉收瞎?jié)點的用戶自動、透明地轉(zhuǎn)移到可用節(jié)點,保障了集群中任意節(jié)點出現(xiàn)故障都不會影響用戶的使用。一種推薦的Failover方式是采用Service-TAF方式。
Service-TAF通過結(jié)合Service,在數(shù)據(jù)庫里保存FAIL_MODE的配置,把所有的TAF配置保存在數(shù)據(jù)字典中,這樣做就不需要對客戶端的TNS文件做任何TAF的配置。從配置參數(shù)而言,Service-TAF和TAF相比多了一個Instance Role(實例角色)的概念,就是當有多個實例共同參與一個服務時,可以配置優(yōu)先使用哪一個實例為用戶提供服務。
(1)使用srvctl創(chuàng)建hgputest服務
[oracle@dbs admin]$ srvctl add service–d hgpudsdata–s hgputest–r rac1–a rac2–p
其中,hgpudsdata為數(shù)據(jù)庫名,hgputest為所要創(chuàng)建的服務,rac1為首選實例,rac2為可用實例。
(2)配置該服務自動啟動
[oracle@dbs admin]$ srvctl enable service–d hgpudsdata–s hgputest
(3)啟動該服務
[oracle@dbs admin] $ srvctl start service–d hgpudsdata–s hgputest
配置啟動多個服務時,服務名間采用逗號間隔。
(4)修改dbms_service.modify_service文件,實現(xiàn)dbms_service包配置TAF,根據(jù)業(yè)務系統(tǒng)運行指標設置service_name、failover_method、failover_type、failover_retries、failover_delay等關(guān)鍵參數(shù)。
5 結(jié)論(Conclusion)
本文結(jié)合ORACLE RAC集群技術(shù)的特性,對高校數(shù)字化校園數(shù)據(jù)庫集群的部署和實施進行分析和闡述。通過集群能夠有效地提高高校信息系統(tǒng)運行的穩(wěn)定和可靠性。但病毒攻擊、無法抗拒的人為或自然災害都會對數(shù)字化校園數(shù)據(jù)庫運行構(gòu)成安全威脅。高校信息化建設與管理工作者需要不斷探索與實施更加安全、實用的數(shù)據(jù)庫運行保障體系。
參考文獻(References)
[1] 閆黎.基于Oracle RAC的數(shù)據(jù)庫架構(gòu)分析與企業(yè)應用[J].計算
機系統(tǒng)應用,2013(11):200-203.
[2] 曲建峰,等.Oracle RAC集群技術(shù)在圖書館集成管理系統(tǒng)中
的應用[J].現(xiàn)代圖書情報技術(shù),2012(07):133-137.
[3] 蘭海波.基于Oracle RAC技術(shù)實現(xiàn)公共氣象服務網(wǎng)站數(shù)據(jù)庫
的高可用性[J].硅谷,2013(08):16-17.
作者簡介:
王佩楷(1976-),男,碩士,副教授.研究領(lǐng)域:計算機網(wǎng)絡及
相關(guān)技術(shù)研究及服務.endprint