呂元海 孫江輝 馬龍
摘 要: 高校數(shù)據(jù)中心對各類異構(gòu)的業(yè)務系統(tǒng)進行整合,實現(xiàn)了數(shù)據(jù)的共享與集成,為了保障數(shù)據(jù)的有效性和一致性,需要建立具有高性能、高可靠性的數(shù)據(jù)庫集群系統(tǒng)。結(jié)合西安郵電大學校園網(wǎng)實例,分析了Oracle RAC的運行機制與關(guān)鍵技術(shù),利用其Failover和Load Blance節(jié)點進行了部署和配置。經(jīng)過實際運行,這種雙機數(shù)據(jù)庫集群模式運行狀態(tài)穩(wěn)定,能夠有效解決高并發(fā)訪問情況下的單點瓶頸問題。
關(guān)鍵詞: Oracle RAC; 校園網(wǎng); 數(shù)據(jù)庫集群系統(tǒng); 數(shù)據(jù)共享
中圖分類號: TN711?34 文獻標識碼: A 文章編號: 1004?373X(2016)04?0072?04
Abstract: The data sharing and integration were achieved by integration of various heterogeneous business systems of universities data centers. In order to guarantee the effectiveness and consistency of the data, the high performance and high reliability database cluster system needs to be established. In combination with the instance of campus network in Xian University of Posts & Telecommunications, the operational mechanism and key technology of Oracle RAC are analyzed, and deployed with its Failover and LoadBlance user nodes. The actual operation shows the running status of this dual?mechanism database cluster mode is stable, and single point bottleneck problem in case of high concurrent access can be effectively solved.
Keywords: Oracle RAC; campus network; database cluster system; data sharing
在構(gòu)建高校數(shù)字化校園的過程中,首先考慮的就是將各個基礎(chǔ)數(shù)據(jù)不同的異構(gòu)信息系統(tǒng)進行融合,建立一個具有統(tǒng)一數(shù)據(jù)標準的數(shù)據(jù)中心,實現(xiàn)高效的數(shù)據(jù)交換與共享[1]。以西安郵電大學數(shù)據(jù)中心建設(shè)為例,隨著中心機房軟硬件基礎(chǔ)環(huán)境的建設(shè)完成,為了節(jié)約硬件資源,便于統(tǒng)一管理,校內(nèi)各二級學院和職能單位的業(yè)務系統(tǒng)將逐步遷移至中心虛擬化集群上。根據(jù)統(tǒng)計,當前校內(nèi)各系統(tǒng)大多數(shù)采用了單機環(huán)境下的Oracle數(shù)據(jù)庫,從提高數(shù)據(jù)的可用性、安全性和完整性方面考慮,需要一個完整的集群數(shù)據(jù)庫管理方案。Oracle RAC作為當今最成熟的數(shù)據(jù)庫集群技術(shù),在學校經(jīng)費有限的情況下,多臺低端服務器即可實現(xiàn)故障容錯和無縫切換,將硬件和軟件錯誤造成的影響最小化[2?3],一個數(shù)據(jù)庫可實現(xiàn)對于多個信息系統(tǒng)Oracle實例的共享與實時訪問,具有優(yōu)越的可靠性、可用性和擴展性[4]。
1 Oracle RAC集群工作的原理與關(guān)鍵技術(shù)
1.1 工作原理
RAC可以充分利用服務器,是Oracle數(shù)據(jù)庫中采用的一項新技術(shù)。在實時應用集群環(huán)境中,數(shù)據(jù)是共享存儲的,每個節(jié)點對數(shù)據(jù)都有相同的訪問權(quán)利,因此要求存儲必須能夠共同訪問[5?6],在Oracle RAC中,利用DLM(Distribute Lock Management)機制進行多節(jié)點的并發(fā)訪問控制[7?8] ,可以提高事務的響應時間,保證數(shù)據(jù)能夠被高效地訪問。
1.2 關(guān)鍵技術(shù)
為了解決由于修改集群的配置信息后,節(jié)點間的集群配置信息不一致的問題,本文采用了Oracle RAC的OCR Disk技術(shù);同時為了保證校園系統(tǒng)能夠正常的運行,防止Oracle RAC出現(xiàn)“腦裂”問題,采用了Voting Disk技術(shù)。在TCP/IP協(xié)議棧超時時,其時間的閾值是由OS內(nèi)核決定的,每個操作系統(tǒng)的閾值都是不相同的,為了解決TCP/IP協(xié)議棧超時的問題,引入VIP技術(shù),以縮短捕獲錯誤的時間。并且采用提高集群可用性的Failover技術(shù)[9?10]。
2 系統(tǒng)架構(gòu)
2.1 硬件部分
RAC中各個節(jié)點之間是通過心跳網(wǎng)絡來進行通信的,為了實現(xiàn)冗余,防止單點故障,各個交換機之間也需要做冗余[11],保證各個節(jié)點之間通信的暢通。最終RAC將查詢共享存儲上的數(shù)據(jù),從而完成上層應用的請求。
在數(shù)據(jù)中心Oracle RAC集群的建設(shè)中,該架構(gòu)充分地體現(xiàn)出了高可用技術(shù),有效地防止了單點故障問題的產(chǎn)生。
2.2 軟件部分
軟件部分主要包括集群軟件,數(shù)據(jù)軟件以及容錯系統(tǒng)軟件。本文主要使用的是Oracle Clusterware和Oracle ASM。Oracle RAC軟件架構(gòu)圖如圖2所示。
3 基于Oracle RAC集群部署的實現(xiàn)
3.1 服務器的準備工作
在服務器配置時,需要對雙節(jié)點RAC集群的網(wǎng)絡進行規(guī)劃,每個節(jié)點都必須要有2塊物理網(wǎng)卡,每個節(jié)點至少需要3個IP地址,即Public IP,VIP,Private IP,由于是Oracle 11gR2版本,在部署Oracle RAC集群系統(tǒng)時至少需要一個Scan IP,因此這里一共需要規(guī)劃7個IP地址。
以西安郵電大學為例,根據(jù)西安郵電大學IP分配原則,Oracle RAC集群系統(tǒng)IP應該在192.168.240.1/24這個網(wǎng)段,現(xiàn)將IP分配如表1所示。
3.2 服務器的配置
3.3 用戶節(jié)點的部署
在部署用戶的節(jié)點時,需要考慮用戶等價,也就是說,在Oracle環(huán)境中,用戶的節(jié)點轉(zhuǎn)移服務是不需要安全驗證的,可以實現(xiàn)無縫轉(zhuǎn)移。在同一個節(jié)點安裝好Clusterware和database,然后數(shù)據(jù)庫可以將本地目錄自動地安裝在遠程目錄中,無需用戶經(jīng)過密碼認證。
為了方便Oracle數(shù)據(jù)庫的管理以及考慮到數(shù)據(jù)庫的安全性,因此對于數(shù)據(jù)庫進行分級分權(quán)管理,不同的用戶擁有不同的權(quán)限。以下主要建立了兩個用戶,Grid用戶主要負責數(shù)據(jù)庫集群的安裝與管理;Oracle用戶主要負責數(shù)據(jù)庫本身的安裝和管理。
3.4 部署Oracle Grid中遇到的問題
在上述工作準備好以后, 需要對ASM進行配置,首先需要安裝ASM所需要的安裝包。對ASM磁盤進行操縱的時候需要注意的是要格式化每個磁盤。Oracle Grid在安裝過程中屬于圖形化安裝,比較方便,但在安裝過程中需要注意scan IP對應的域名必須在兩個節(jié)點上都有解析,并且在這個端口必須是可用的,默認為1521,如圖3所示。
接下來的對hostname和節(jié)點的虛擬IP都必須要有解析,并且設(shè)置ssh的通信。然后依次設(shè)置各個網(wǎng)卡的指向和ASM。最后在安裝完成以后需要在每個節(jié)點運行orainstRoot.sh和root.sh兩個腳本。安裝完成圖如圖4所示。
安裝過程中找不到ASM共享磁盤,如圖5所示。
經(jīng)過檢查,發(fā)現(xiàn)此問題是由于oracleasmmlib庫件不存在造成,因此要重新安裝,在重新配置oracleasmm之后重啟oracleasmm,再一次設(shè)置ASM的時候就會找到ASM共享磁盤,如圖6所示。4 結(jié) 語
Oracle RAC是目前最為成熟的數(shù)據(jù)庫集群技術(shù),在容錯性、負載均衡和高并發(fā)處理能力上都有良好的表現(xiàn)。結(jié)合高校校園網(wǎng)數(shù)據(jù)中心建設(shè)項目,構(gòu)建了Oracle RAC雙機集群與負載均衡方案,對于數(shù)據(jù)庫實例提供了高可用性的保障機制,由于這種實例之間的切換是完全透明的,用戶在訪問數(shù)據(jù)庫的過程中不需要進行干預,從而實現(xiàn)了校園網(wǎng)數(shù)據(jù)的安全可靠性,保證了數(shù)據(jù)庫的高效運行。目前學校校園網(wǎng)數(shù)據(jù)中心仍在建設(shè)中,未來還會有更多異構(gòu)業(yè)務系統(tǒng)進行整合。下一步工作將對現(xiàn)有的雙機系統(tǒng)進行擴展,并在生產(chǎn)環(huán)境中對Oracle RAC集群系統(tǒng)開展數(shù)據(jù)挖掘與系統(tǒng)優(yōu)化等方向的研究。
參考文獻
[1] 胡昌文.基于Oracle數(shù)據(jù)庫的MELINETSII雙機RAC集群系統(tǒng)的設(shè)計與實現(xiàn)[J].圖書館學研究,2012(3):32?36.
[2] 曲建峰,孫弈,徐汝興,等.Oracle RAC集群技術(shù)在圖書館集成管理系統(tǒng)中的應用[J].現(xiàn)代圖書情報技術(shù),2012(z1):133?138.
[3] 賈洪峰,梁濤,郭紹明.Oracle Database 11g RAC手冊[M].2版.北京:清華大學出版社,2012.
[4] 李曉薇.基于Oracle數(shù)據(jù)庫的雙機集群系統(tǒng)的設(shè)計與實現(xiàn)[J].網(wǎng)絡安全技術(shù)與應用,2014(5):61?62.
[5] 譚優(yōu)悠.Oracle數(shù)據(jù)庫的雙機集群系統(tǒng)的建設(shè)分析[J].通訊世界,2015(4):64?65.
[6] 韓加軍.Oracle數(shù)據(jù)庫高用技術(shù)在業(yè)務支撐系統(tǒng)中的應用及實現(xiàn)[J].科技致富向?qū)В?014(32):211.
[7] 陳君芳.高可用集群系統(tǒng)在播出數(shù)據(jù)庫中的實現(xiàn)[J].視聽界:廣播電視技術(shù),2013(6):18?20.
[8] 陳志敏.基于Linux平臺的Oracle RAC集群系統(tǒng)的性能調(diào)整與優(yōu)化研究[D].合肥:安徽大學,2011.
[9] 董金梅,原有進,鄭建華.訪問Oracle大對象數(shù)據(jù)的技術(shù)即實現(xiàn)[J].計算機應用研究,2005,22(1):177?178.
[10] 馬子彥,張勇敏.基于RAID的雙機集群系統(tǒng)應用研究[J].計算機應用研究,2007,24(7):92?93.
[11] 榮偉銘.Oracle RAC技術(shù)概述及應用 [J].中國科技信息,2008(6):111?113.