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