呂元?!《懦獭O江輝
摘 要:隨著西安郵電大學(xué)校園一卡通數(shù)據(jù)中心項目的建成,按照西郵信息系統(tǒng)建設(shè)方案的要求,充分利用現(xiàn)有的軟件資源和硬件資源,建設(shè)一套基于校園網(wǎng)數(shù)據(jù)中心的同城容災(zāi)系統(tǒng)是很有必要的。文中主要借助Oracle DataGuard技術(shù)完成容災(zāi)系統(tǒng)的總體設(shè)計,并且對該系統(tǒng)進(jìn)行了同步模塊以及主從切換的測試。該容災(zāi)系統(tǒng)可實現(xiàn)對西郵新老兩個校區(qū)的關(guān)鍵性業(yè)務(wù)、關(guān)鍵性數(shù)據(jù)的保護(hù),保障業(yè)務(wù)連續(xù)性及數(shù)據(jù)的完整性和高可用性,并且避免了單點故障等問題。
關(guān)鍵詞:容災(zāi);Oracle DataGuard;業(yè)務(wù)連續(xù)性;數(shù)據(jù)復(fù)制
中圖分類號:TP309 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2015)10-00-04
0 引 言
在各高校大力建設(shè)信息化基礎(chǔ)設(shè)施的數(shù)字化校園過程中,高性能、高安全性、高可靠性、高可用性和可擴展性等的數(shù)據(jù)中心的建設(shè)備受關(guān)注,為了保障數(shù)據(jù)中心業(yè)務(wù)連續(xù)性及數(shù)據(jù)的完整性和可用性,建立容災(zāi)備份系統(tǒng)是必不可缺的。該系統(tǒng)必須能夠解決一系列突發(fā)狀況,如自然災(zāi)害、人為災(zāi)難、技術(shù)災(zāi)難等。當(dāng)發(fā)生災(zāi)難時,從庫可以快速充當(dāng)主服務(wù)器正常提供服務(wù)。本文主要通過Oracle DataGuard技術(shù)以及容災(zāi)的技術(shù)架構(gòu)來實現(xiàn)西郵校園網(wǎng)數(shù)據(jù)中心數(shù)據(jù)和一卡通業(yè)務(wù)的容災(zāi)備份,保障數(shù)字校園建設(shè)的高性能、高安全性、高穩(wěn)定性、可管理性等。
1 相關(guān)技術(shù)
1.1 Oracle DataGuard介紹
Oracle DataGuard(后面簡稱DG)是Oracle數(shù)據(jù)庫自帶的一個數(shù)據(jù)同步工具,DG技術(shù)實現(xiàn)了數(shù)據(jù)庫的復(fù)制,保證了對數(shù)據(jù)庫的連續(xù)性訪問,保障了數(shù)據(jù)的零丟失。DG提供了三種日志傳輸(Redo Transport)方式,分別是ARCH傳輸、LGWR同步傳輸和LGWR異步傳輸[1]。通過REDO日志進(jìn)行傳送,主庫(Primary Database)生成出來的REDO日志傳送到從庫(Standby Database),從庫應(yīng)用REDO日志到從服務(wù)器,保持主庫與從庫的一致。在同一個DG架構(gòu)中最多可以存在9個從數(shù)據(jù)庫。圖1所示為DG架構(gòu)圖[2]。
在生產(chǎn)數(shù)據(jù)庫中因為某次事務(wù)處理發(fā)生了改變,它將在一個聯(lián)機重做日志文件(REDO Log)中記錄此次更改。DG配置中寫日志這個過程,把日志記錄到本地的聯(lián)機日志文件中和歸檔文件中,并要通過網(wǎng)絡(luò)把日志文件發(fā)送到遠(yuǎn)程的從庫服務(wù)器上。當(dāng)從庫接收到日志信息后,DG可以自動利用日志信息實現(xiàn)主庫的實時同步。當(dāng)主庫打開并處于活動狀態(tài)時,從庫可以執(zhí)行恢復(fù)操作,如果主庫出現(xiàn)了故障,從庫即被激活并接管生產(chǎn)數(shù)據(jù)庫的工作。
圖1 Oracle DataGuard架構(gòu)圖
1.2 容災(zāi)技術(shù)
容災(zāi)或稱容災(zāi)備份,主要目的是提高系統(tǒng)的高可用性。容災(zāi)分為對數(shù)據(jù)、應(yīng)用和業(yè)務(wù)3個級別的保護(hù)[3,4]。容災(zāi)系統(tǒng)是指在異地建立數(shù)據(jù)中心,通過配置容災(zāi)技術(shù)將本地用戶數(shù)據(jù)實時或者相對滯后的進(jìn)行遠(yuǎn)程復(fù)制,完成數(shù)據(jù)的異地備份,確保系統(tǒng)業(yè)務(wù)連續(xù)性,這是目前抵御大規(guī)模災(zāi)難、保證數(shù)據(jù)安全與完整的主要方法。
(1)數(shù)據(jù)備份是將數(shù)據(jù)從生產(chǎn)系統(tǒng)備份到備份系統(tǒng)中的過程。主要包括DAS備份、基于LAN的集中備份模式、LAN-FREE備份模式、SERVER-FREE備份模式。
(2)數(shù)據(jù)復(fù)制是容災(zāi)系統(tǒng)的核心,通過不斷將生產(chǎn)系統(tǒng)的數(shù)據(jù)復(fù)制到另一個備份系統(tǒng)中,防范災(zāi)難,減少損失。分為同步和異步數(shù)據(jù)復(fù)制。主要差異就是前者對系統(tǒng)性能影響較大,后者對性能影響較小。
(3)數(shù)據(jù)存儲。目前比較重要的存儲技術(shù)有直接附加存儲(DAS)、網(wǎng)絡(luò)附加存儲(NAS)和存儲區(qū)域網(wǎng)絡(luò)(SAN)。
本文主要采用的是基于LAN的集中備份模式、異步數(shù)據(jù)復(fù)制及SAN存儲技術(shù)來完成容災(zāi)系統(tǒng)的設(shè)計與實現(xiàn)。
2 設(shè)計方案
2.1 數(shù)據(jù)遷移
將西郵新校區(qū)的數(shù)據(jù)遷移到老校區(qū)(雁塔校區(qū))的存儲平臺,保證兩地在建立同城容災(zāi)時數(shù)據(jù)的一致性。再通過EMC Networker實現(xiàn)所有需要備份數(shù)據(jù)的統(tǒng)一性。經(jīng)過調(diào)研確定原有存儲系統(tǒng)使用情況:共有5臺主機使用EMC CX4-240,牽涉到的應(yīng)用有郵件、OA協(xié)同辦公、教學(xué)平臺和直播,已使用存儲容量3 TB,其中,教學(xué)平臺和直播兩個應(yīng)用占用容量較大。遷移方案分為兩個方向:一個是待新的存儲平臺和服務(wù)器平臺部署完成后,建議各應(yīng)用部門協(xié)調(diào)相應(yīng)廠家新建系統(tǒng),并將數(shù)據(jù)遷移到新系統(tǒng),測試成功后,再進(jìn)行業(yè)務(wù)切割;二是可以利用二標(biāo)段虛擬化平臺遷移工具將應(yīng)用遷移到虛擬化平臺,測試成功后,再進(jìn)行切割。數(shù)據(jù)遷移完成后,將原有EMC CX4-240搬遷到老校區(qū)作為容災(zāi)數(shù)據(jù)存儲和備份存儲使用。
2.2 數(shù)據(jù)備份
2.2.1 備份系統(tǒng)架構(gòu)
在這個系統(tǒng)中,我們采用集中統(tǒng)一的備份策略管理,通過銜接到LAN中的NW Server,對整個數(shù)據(jù)庫和應(yīng)用系統(tǒng)的備份工作進(jìn)行集中管理、監(jiān)控,如圖2所示。
將EMC CX240放在老校區(qū)作為二級備份存儲介質(zhì),連接到容災(zāi)服務(wù)器上,數(shù)據(jù)的流向是先備份數(shù)據(jù)到備份服務(wù)器,然后通過分級復(fù)制策略將數(shù)據(jù)備份到老校區(qū)。
圖2 EMC Networker備份架構(gòu)
2.2.2 備份策略
根據(jù)備份數(shù)據(jù)類型的不同劃分為4個備份組:oracle、VMWARE、OS、FILE,設(shè)置不同的備份起始時間,自動備份。并且給不同的數(shù)據(jù)類型分配不同大小的存儲池。
2.2.3 一卡通數(shù)據(jù)庫復(fù)制規(guī)劃
利用DG技術(shù)進(jìn)行一卡通數(shù)據(jù)庫的復(fù)制,從而避免一卡通業(yè)務(wù)數(shù)據(jù)庫的單點故障問題。根據(jù)學(xué)?,F(xiàn)狀,將生產(chǎn)數(shù)據(jù)庫放到新校區(qū),備份數(shù)據(jù)庫放在老校區(qū),實現(xiàn)兩地數(shù)據(jù)庫的同步,因此可以預(yù)防數(shù)據(jù)庫單點故障問題。
2.3 容災(zāi)系統(tǒng)架構(gòu)
容災(zāi)系統(tǒng)服務(wù)器使用老校區(qū)數(shù)據(jù)機房現(xiàn)有設(shè)備作為容災(zāi)系統(tǒng)應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器,利用新校區(qū)老機房替換下來的EMC CX4-240作為容災(zāi)存儲,服務(wù)器和存儲之間采用現(xiàn)有光纖存儲交換機,通過SAN網(wǎng)絡(luò)連接;容災(zāi)系統(tǒng)采用應(yīng)用層的數(shù)據(jù)同步復(fù)制技術(shù),將新校區(qū)一卡通業(yè)務(wù)數(shù)據(jù)實時備份到容災(zāi)系統(tǒng)數(shù)據(jù)庫,當(dāng)新校區(qū)一卡通數(shù)據(jù)中心業(yè)務(wù)丟失或者平臺故障時,容災(zāi)系統(tǒng)仍保留核心業(yè)務(wù)數(shù)據(jù),可以繼續(xù)為西郵師生提供數(shù)據(jù)訪問服務(wù),即實現(xiàn)數(shù)據(jù)容災(zāi)。圖3所示是西安郵電大學(xué)的容災(zāi)系統(tǒng)構(gòu)架。
圖3 容災(zāi)系統(tǒng)架構(gòu)
3 同城容災(zāi)系統(tǒng)的實現(xiàn)
3.1 主機與數(shù)據(jù)庫配置
生產(chǎn)服務(wù)器的IP為192.168.240.12,名稱為orcl;容災(zāi)服務(wù)器的IP為192.168.240.13,名稱為orcl_STBY,磁盤都劃分200 G。生產(chǎn)數(shù)據(jù)庫和物理備份數(shù)據(jù)庫的db_name和Oracle_sid必須一致,db_unique_name和service_name配置不同[3]。因為db_name為同步的數(shù)據(jù)庫名,Oracle_sid為數(shù)據(jù)庫實例名,db_unique_name為數(shù)據(jù)庫的唯一命名,所以兩個不能相同。一般情況db_unique_namehe和Service_name相同如表1所列。
3.2 實現(xiàn)過程
首先確認(rèn)主庫開啟了歸檔日志模式進(jìn)行同步,并設(shè)置為強制日志模式[5,6](force logging)。
然后創(chuàng)建standby control file。并查看主庫上數(shù)據(jù)庫文件,同步主庫上的數(shù)據(jù)庫文件到從庫,保證在兩邊基礎(chǔ)環(huán)境一致及復(fù)制前數(shù)據(jù)的一致性,具體見圖4所示。
然后再修改主庫上的參數(shù)文件,并在主庫上創(chuàng)建pfile和passwordfile,保證兩數(shù)據(jù)庫相互密碼驗證;對備庫的初始化文件進(jìn)行修改;再通過靜態(tài)注冊的方式對主庫和從庫的listener.ora和tnsnames.ora進(jìn)行配置,圖5所示為主庫的配置。
(a) 查看文件
(b) 同步文件
圖4 查看主庫并同步主庫上的數(shù)據(jù)庫文件到從庫的過程圖
(a) 配置listener.ora
(b) 配置tnsnames.ora
圖5 listener.ora和tnsnames.ora配置圖
通過上面配置的監(jiān)控服務(wù)等,分別使用sqlplus sys/xxx@orcl_STBY as sysdba、sqlplus sys/xxx@orcl as sysdba可以進(jìn)行互相登錄驗證。最后啟動備份數(shù)據(jù)庫。
4 同城容災(zāi)驗證測試
4.1 同步模塊測試
同步模塊是容災(zāi)系統(tǒng)最為重要的部分,只有同步模塊成功,保證主庫與備庫的同步,才能方便主備的切換,以下對已經(jīng)搭建好的Oracle DG進(jìn)行驗證。通過圖6所示可知數(shù)據(jù)同步測試成功。
4.2 主備切換測試
目前大多數(shù)業(yè)務(wù)都需要24×7小時提供正常服務(wù)。那么做好容災(zāi)系統(tǒng),實現(xiàn)主備切換就能實現(xiàn)該需求。如果生產(chǎn)服務(wù)器由于某種原因無法正常提供服務(wù),這樣要迅速進(jìn)行主備切換,讓備份服務(wù)器提供服務(wù),盡量不影響正常用戶使用,圖7就是Oracle DG的主備切換的具體步驟圖。
(a) 在主庫上創(chuàng)建一個表test
(b) 驗證從庫的備份
(c) 查看從庫上備份的數(shù)據(jù)
圖6 數(shù)據(jù)同步模塊測試圖
(a) 登錄orcl主機
(b) 關(guān)閉主庫
(c) 登錄 orcl_STBY主機并設(shè)為主庫
圖7 主備切換測試圖
若原主庫啟動恢復(fù)管理模式,則登錄orcl主機,執(zhí)行alter database recover managed standby database disconnect 切換主庫。
5 結(jié) 語
通過DG技術(shù)以及容災(zāi)的相關(guān)技術(shù)架構(gòu)實現(xiàn)對西郵校園數(shù)據(jù)中心的容災(zāi)備份,從而保障數(shù)據(jù)的安全性和可用性。實現(xiàn)校園網(wǎng)數(shù)據(jù)中心的同城容災(zāi)系統(tǒng)是數(shù)字化校園建設(shè)過程中很關(guān)鍵的組成部分,是信息化時代防范災(zāi)難、降低損失的重要手段。
參考文獻(xiàn)
[1]張曉明.大話Oracle RAC[M].北京:人民郵電出版社,2011:411-466.
[2] Scott J. Bryan V. Oracle Database 11g R2高可用性[M].北京:清華大學(xué)出版社,2012.
[3]陳思,李華峰,涂慶華,等.數(shù)字化校園異地容災(zāi)系統(tǒng)設(shè)計與實現(xiàn)[J]. 計算機與現(xiàn)代化,2014(4):47-50.
[4]郝樂.數(shù)據(jù)容災(zāi)技術(shù)研究[J].電子科技,2011,24(3):20-21.
[5] Mike Smith. MAA/Data Guard 10 g Setup Guide – Creating a RAC Physical Standby[EB/OL].http://www.oracle.com/technetwork/database/features/availability/maa-wp-10g-racprimaryracphysicalsta-131940.pdf.2009-4.
[6] Mike Smith. Oracle Active Data Guard Oracle Database 11 g Release 1[EB/OL]. http://www.oracle.com/technetwork/database/features/availability/Oracle_Active_Data_Guard_Maximum.pdf.2011-09.