趙宇蘭
(山西大學(xué)商務(wù)學(xué)院,山西 太原 030031)
武警醫(yī)院異地容災(zāi)備份系統(tǒng)的設(shè)計
趙宇蘭
(山西大學(xué)商務(wù)學(xué)院,山西 太原 030031)
本文采用SAN網(wǎng)絡(luò)技術(shù)和DataGuard數(shù)據(jù)同步技術(shù)設(shè)計適應(yīng)太原市武警醫(yī)院發(fā)展的網(wǎng)絡(luò)異地容災(zāi)備份系統(tǒng)。該設(shè)計方案能夠提供日常的數(shù)據(jù)同步復(fù)制,災(zāi)難發(fā)生時的業(yè)務(wù)接管和災(zāi)后的系統(tǒng)恢復(fù)功能,方案的實施可使武警醫(yī)院MIS系統(tǒng)具備對抗人為或自然災(zāi)害所導(dǎo)致的數(shù)據(jù)丟失和系統(tǒng)崩潰等問題的能力。
容災(zāi)備份;DataGuard;醫(yī)院系統(tǒng)
隨著全球信息化水平的大幅提升,各行各業(yè)都開始建立起自己的數(shù)據(jù)中心,用以承載企業(yè)部門的應(yīng)用系統(tǒng)。龐大的系統(tǒng)會產(chǎn)生海量的數(shù)據(jù),數(shù)據(jù)集中也帶來難以預(yù)料的技術(shù)風(fēng)險,如果發(fā)生災(zāi)難,將導(dǎo)致業(yè)務(wù)數(shù)據(jù)丟失和應(yīng)用服務(wù)無法正常運轉(zhuǎn)。為了能夠應(yīng)付醫(yī)院MIS系統(tǒng)對數(shù)據(jù)完整性和安全性、業(yè)務(wù)持續(xù)性和穩(wěn)定性等方面的需求,太原市武警醫(yī)院采用定期自動備份策略和災(zāi)后恢復(fù)計劃,用于信息系統(tǒng)在災(zāi)難發(fā)生后數(shù)據(jù)和應(yīng)用服務(wù)的恢復(fù)。但這種方法無法保證醫(yī)院業(yè)務(wù)7×24小時持續(xù)運轉(zhuǎn)。本文旨在為武警醫(yī)院MIS系統(tǒng)建立一個更高水平的異地容災(zāi)備份策略,使其不僅能夠具備對抗人為和自然災(zāi)難的能力,還能應(yīng)對MIS系統(tǒng)業(yè)務(wù)持續(xù)性方面的嚴苛要求。
1.1 醫(yī)院MIS系統(tǒng)現(xiàn)狀
太原市武警醫(yī)院信息系統(tǒng)目前使用Oracle數(shù)據(jù)庫作為后臺數(shù)據(jù)庫服務(wù)器,業(yè)務(wù)系統(tǒng)包括醫(yī)院信息系統(tǒng)HIS、放射學(xué)信息系統(tǒng)RIS、影像歸檔共享系統(tǒng)PACS和電子病歷系統(tǒng)ERM四個子系統(tǒng),可以對門診掛號、就診、電子病歷、電子處方、結(jié)算、檢驗檢查、取藥及出入院管理等一系列的信息化活動進行有效的管理。
1.2 醫(yī)院MIS系統(tǒng)災(zāi)備現(xiàn)狀分析
醫(yī)院目前已采取了服務(wù)器的雙機熱備份,建設(shè)了冗余網(wǎng)絡(luò)和存儲,啟用了UPS不間斷電源等措施來保障業(yè)務(wù)中心在出現(xiàn)網(wǎng)絡(luò)單鏈路不通、存儲單硬盤故障、單服務(wù)器故障、單操作系統(tǒng)崩潰或臨時停電時可以正常運行。然而在發(fā)生數(shù)據(jù)庫人為錯誤操作、病毒入侵、恐怖襲擊、突發(fā)災(zāi)害等引起的業(yè)務(wù)中心意外崩潰時,現(xiàn)有的保障措施則可能會無法發(fā)揮作用,從而導(dǎo)致數(shù)據(jù)丟失、系統(tǒng)全線中斷等情況的發(fā)生。
1.3 醫(yī)院異地容災(zāi)需求分析
由于醫(yī)院業(yè)務(wù)必須7×24小時不間斷運行,保證信息系統(tǒng)可用、系統(tǒng)數(shù)據(jù)不會丟失是構(gòu)建武警醫(yī)院異地容災(zāi)備份系統(tǒng)的最終目標(biāo)。
根據(jù)上述分析,醫(yī)院的災(zāi)備系統(tǒng)應(yīng)滿足以下要求:
1) 確保加入容災(zāi)備份系統(tǒng)的系統(tǒng)數(shù)據(jù)因任何意外事故所導(dǎo)致的業(yè)務(wù)中心故障、系統(tǒng)無法正常運行、生產(chǎn)數(shù)據(jù)丟失的情況下,災(zāi)備中心仍存有完整的數(shù)據(jù)。
2) 為了便于使用備份副本恢復(fù)生產(chǎn)數(shù)據(jù)的情況,主庫數(shù)據(jù)應(yīng)實時更新到備用庫。
3) 模擬業(yè)務(wù)中心在異地建立與之等同的應(yīng)用系統(tǒng),即災(zāi)備中心,一旦業(yè)務(wù)中心意外癱瘓,災(zāi)備中心可以接替業(yè)務(wù)中心來對外提供持續(xù)的服務(wù)。當(dāng)業(yè)務(wù)中心因為應(yīng)用軟件、網(wǎng)絡(luò)線路、服務(wù)器、電源或存儲介質(zhì)等故障而無法正常運行時,可以切換到災(zāi)備中心的相應(yīng)設(shè)備來支持業(yè)務(wù)的持續(xù)性。業(yè)務(wù)中心恢復(fù)正常后,在此期間災(zāi)備中心的數(shù)據(jù)變化拷貝回業(yè)務(wù)中心,然后由業(yè)務(wù)中心繼續(xù)提供服務(wù)。
2.1 技術(shù)選擇
根據(jù)醫(yī)院的現(xiàn)狀和需求,綜合考慮系統(tǒng)業(yè)務(wù)、數(shù)據(jù)庫版本和經(jīng)濟效益等因素,確定使用DataGuard技術(shù)[1]進行災(zāi)難備份,采用心跳協(xié)議[2]進行災(zāi)難檢測,采用IP漂移技術(shù)[2]實現(xiàn)災(zāi)難切換。
Oracle的DataGuard可在保證數(shù)據(jù)零丟失的同時,實現(xiàn)最快的主備庫切換恢復(fù)功能,且其組件由Oracle自帶,無需購買,能帶來更大的投資回報。其原理為通過多個服務(wù)進程的相互配合實現(xiàn)日志復(fù)制到備庫并重演的工作。
2.2 初步方案設(shè)計
本設(shè)計主要實現(xiàn)兩個功能,一是在業(yè)務(wù)中心正常運轉(zhuǎn)時,醫(yī)院MIS系統(tǒng)調(diào)用主數(shù)據(jù)庫來響應(yīng)操作請求,將數(shù)據(jù)同步到災(zāi)備中心的備份數(shù)據(jù)庫,保持主備兩庫的數(shù)據(jù)一致;一旦因災(zāi)難導(dǎo)致業(yè)務(wù)中心故障,容災(zāi)中心憑借冗余的應(yīng)用環(huán)境自動或手動進行災(zāi)難替換,接替業(yè)務(wù)中心的業(yè)務(wù)服務(wù);當(dāng)業(yè)務(wù)中心恢復(fù)正常,服務(wù)回切。另一個是備份數(shù)據(jù)庫可以作為統(tǒng)計查詢庫來減輕業(yè)務(wù)中心的工作負載。初步方案設(shè)計如圖1所示。
圖1 災(zāi)備系統(tǒng)初步方案
2.2.1 業(yè)務(wù)中心的數(shù)據(jù)庫崩潰應(yīng)急方案
當(dāng)業(yè)務(wù)中心的主數(shù)據(jù)庫因某些原因不可訪問時,災(zāi)難切換模塊立即啟動系統(tǒng)切換功能,通過IP地址漂移技術(shù)由備份數(shù)據(jù)庫來支撐應(yīng)用層的數(shù)據(jù)交換工作,使業(yè)務(wù)能夠繼續(xù)進行;當(dāng)主數(shù)據(jù)庫恢復(fù)正常后,將主數(shù)據(jù)庫修復(fù)期間變更的業(yè)務(wù)數(shù)據(jù)同步到主庫,然后通過切換由主數(shù)據(jù)庫繼續(xù)提供服務(wù)。
2.2.2 業(yè)務(wù)中心應(yīng)用層崩潰應(yīng)急方案
當(dāng)業(yè)務(wù)中心應(yīng)用層因某些原因(如應(yīng)用系統(tǒng)崩潰、服務(wù)器故障等)不可訪問時,通過IP地址漂移技術(shù)由備用系統(tǒng)來加載系統(tǒng)應(yīng)用,使用主數(shù)據(jù)庫的相應(yīng)存儲地址作為訪問路徑來保證業(yè)務(wù)連續(xù)性;當(dāng)業(yè)務(wù)中心的應(yīng)用層恢復(fù)正常,則由生產(chǎn)系統(tǒng)繼續(xù)提供應(yīng)用層的服務(wù)。
2.2.3 數(shù)據(jù)庫及應(yīng)用層均崩潰應(yīng)急方案
當(dāng)業(yè)務(wù)中心的數(shù)據(jù)庫和應(yīng)用層均崩潰時,由災(zāi)備中心來提供服務(wù),在對客戶端完全透明的情況下完成災(zāi)難替換,由災(zāi)備系統(tǒng)和備份數(shù)據(jù)庫來代替醫(yī)院MIS系統(tǒng)和主數(shù)據(jù)庫;當(dāng)業(yè)務(wù)中心恢復(fù)正常后,進行災(zāi)難回切。
2.3 系統(tǒng)的總體架構(gòu)
2.3.1 醫(yī)院災(zāi)備系統(tǒng)的總體架構(gòu)圖
災(zāi)備系統(tǒng)總體架構(gòu)如圖2所示,在災(zāi)備中心分別建立醫(yī)院業(yè)務(wù)系統(tǒng)各自的虛擬機及容災(zāi)應(yīng)用系統(tǒng)。當(dāng)業(yè)務(wù)中心在正常運行時,將業(yè)務(wù)數(shù)據(jù)定期復(fù)制到災(zāi)難恢復(fù)中心,以保證數(shù)據(jù)的一致性;當(dāng)業(yè)務(wù)中心發(fā)生故障須進行災(zāi)難恢復(fù),由虛擬機提供業(yè)務(wù)服務(wù)。
圖2 醫(yī)院災(zāi)備系統(tǒng)的總體架構(gòu)圖
2.3.2 醫(yī)院災(zāi)備系統(tǒng)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)
網(wǎng)絡(luò)拓撲結(jié)構(gòu)如圖3所示,在本院的其他樓宇內(nèi)建設(shè)一個災(zāi)備中心,并鋪設(shè)網(wǎng)絡(luò)線路分別連接業(yè)務(wù)中心的兩個交換機上,實現(xiàn)網(wǎng)絡(luò)冗余,然后搭建災(zāi)備環(huán)境。在災(zāi)備服務(wù)器上依次安裝操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用系統(tǒng)插件以及醫(yī)院業(yè)務(wù)系統(tǒng),并將最新的數(shù)據(jù)庫副本拷貝到統(tǒng)一存儲中,業(yè)務(wù)中心的關(guān)鍵數(shù)據(jù)要通過網(wǎng)絡(luò)定期拷貝到災(zāi)備中心。
2.4 系統(tǒng)總體流程設(shè)計
系統(tǒng)的流程設(shè)計如圖4所示,首先對生產(chǎn)系統(tǒng)進行循環(huán)檢測,看其是否正常運行,當(dāng)一切正常時,只需將數(shù)據(jù)同步到災(zāi)備系統(tǒng);當(dāng)檢測到業(yè)務(wù)中心停止運行時,災(zāi)備系統(tǒng)將自動或手動地進行容災(zāi)切換,以保證業(yè)務(wù)連續(xù)性,在此期間仍進行循環(huán)檢測,看生產(chǎn)系統(tǒng)是否已恢復(fù)正常,若業(yè)務(wù)中心恢復(fù)正常,就進行系統(tǒng)恢復(fù)。該災(zāi)備系統(tǒng)的主要功能模塊有災(zāi)難檢測、同步復(fù)制、災(zāi)難切換和系統(tǒng)恢復(fù)。
1) 災(zāi)難檢測模塊
災(zāi)難檢測模塊用于判斷生產(chǎn)系統(tǒng)是否發(fā)生故障,并在災(zāi)難發(fā)生時及時報警,便于管理員定位故障和實施容災(zāi)切換[3]。檢測原理為:由災(zāi)備系統(tǒng)周期性地發(fā)出響應(yīng)數(shù)據(jù)包,如果生產(chǎn)服務(wù)器立即響應(yīng),說明服務(wù)器正常,若該包未在規(guī)定時間內(nèi)得到響應(yīng),備份服務(wù)器則通過備用信道發(fā)送響應(yīng)數(shù)據(jù)包,若無響應(yīng),則排除鏈路故障的可能,否則說明是網(wǎng)絡(luò)故障。
圖3 醫(yī)院災(zāi)備系統(tǒng)的網(wǎng)絡(luò)拓撲圖
圖4 醫(yī)院災(zāi)備系統(tǒng)的流程設(shè)計圖
2) 同步復(fù)制模塊
同步復(fù)制模塊是災(zāi)備的基礎(chǔ),它通過DataGuard技術(shù)將業(yè)務(wù)中心的在線日志和歸檔日志拷貝到備份數(shù)據(jù)庫,并根據(jù)StandBy類型的應(yīng)用相應(yīng)日志。
3) 災(zāi)難切換模塊
災(zāi)難切換模塊在接收到災(zāi)難檢測模塊發(fā)送的報警信息后,按照預(yù)定的容災(zāi)應(yīng)急方案,以自動或手動模式進行容災(zāi)切換,并由災(zāi)備系統(tǒng)響應(yīng)客戶端請求[4]。
4) 系統(tǒng)恢復(fù)模塊
由于災(zāi)備中心的環(huán)境配置通常要低于業(yè)務(wù)中心,因此當(dāng)業(yè)務(wù)中心恢復(fù)正常時,系統(tǒng)恢復(fù)模塊要在保證數(shù)據(jù)零丟失和對客戶端透明的情況下,回切到業(yè)務(wù)中心。
3.1 環(huán)境配置要求
以EMR模塊災(zāi)備系統(tǒng)為例,配置如表1所示:
表1 災(zāi)備配置表
3.2 同步復(fù)制模塊
3.2.1 主庫的配置
1) 檢查主庫是否為歸檔模式,如果不是需重啟數(shù)據(jù)庫到mount階段,修改數(shù)據(jù)庫的歸檔狀態(tài)。
2) 修改主庫的force logging模式,以提高速度,防止重做日志遺漏修改記錄。
3) 根據(jù)主庫的備份文件和初始化參數(shù)文件生成備庫控制文件standby.ctl和初始化參數(shù)文件pfileWDS.ora文件,并拷貝到備庫的相應(yīng)路徑下。
4) 修改主庫的初始化參數(shù)文件。①指定數(shù)據(jù)庫唯一標(biāo)識,列出同一個DataGuard環(huán)境中的所有數(shù)據(jù)庫,即主庫和備庫;②指定歸檔文件的生成路徑;③歸檔日志傳輸給備庫的參數(shù)設(shè)置為在線同步復(fù)制,并標(biāo)識參數(shù)有效;④指定主庫和備庫的連接服務(wù)名為fal_server=wjerm2;⑤設(shè)置主庫數(shù)據(jù)變更時,備庫自動管理的參數(shù);⑥重啟主庫,使所設(shè)參數(shù)生效。
5) 在listener.ora文件中配置oracle監(jiān)聽服務(wù)。
6) 在tnsname.ora文件中配置網(wǎng)絡(luò)服務(wù)名。
3.2.2 備庫的配置
1) 建立備庫相關(guān)目錄,創(chuàng)建控制文件。
2) 以“主庫為備庫,備庫為主庫”的形式,參照對主庫的配置進行備庫的相應(yīng)操作。
3) 使用DataGuard的數(shù)據(jù)同步命令,啟動系統(tǒng)后臺進程來使數(shù)據(jù)庫處于實時恢復(fù)狀態(tài)。
4) 進行主備庫聯(lián)通測試。
3.2.3 同步復(fù)制的檢測
為了確定同步復(fù)制模塊是否正常運作,需對其進行檢測,驗證方法如下:
1) 通過比較主備庫各自最近在線日志是否一致來判斷在線日志的傳輸是否正常。
2) 通過比較備用庫最近的被應(yīng)用日志和最近接收到的日志文件來判斷日志的應(yīng)用是否正常。
3.3 災(zāi)難切換模塊
災(zāi)難切換有兩種情況,一種是業(yè)務(wù)中心發(fā)生故障時,啟用備用庫;另一種是業(yè)務(wù)中心進行系統(tǒng)升級或硬件維護時,啟用備用庫。針對這兩種情況,DataGuard分別提供了計劃內(nèi)停用的轉(zhuǎn)換開關(guān)switchover和計劃外終止的故障切換failover[5]。
災(zāi)難切換流程如圖5所示。
上述設(shè)計中主要給出了醫(yī)院ERM系統(tǒng)的容災(zāi)方案,其他系統(tǒng)可以以相同的方法來建立災(zāi)備模塊。
針對太原市武警醫(yī)院MIS系統(tǒng)對數(shù)據(jù)完整性和安全性、業(yè)務(wù)持續(xù)性和穩(wěn)定性等方面的需求,采用DataGuard、心跳協(xié)議和IP漂移等技術(shù)設(shè)計網(wǎng)絡(luò)異地容災(zāi)備份策略,并給出了災(zāi)備系統(tǒng)的總體架構(gòu)和詳細的技術(shù)實現(xiàn)。不足之處,關(guān)于災(zāi)難預(yù)警、短信報警,以及整個應(yīng)急響應(yīng)的全員聯(lián)動等功能還未實現(xiàn),有待深入解決。
圖5 災(zāi)難切換流程
[1] 劉旭輝.華為3Com稅務(wù)數(shù)據(jù)中心解決方案[J].中國新通信,2006(13):88-90.
[2] 朱鐵兵.瑞金醫(yī)院容災(zāi)智能處理系統(tǒng)的設(shè)計與實現(xiàn)[D].大連:大連理工大學(xué),2014.
[3] Grewe L,Krishnagiri S,Crisobal J.DiRect:A Disaster Recover System [C],Proceedings of SPIE-The Intemational Society for Optical Engineering.2014:480-489.
[4] 于俊.基于等級的災(zāi)備系統(tǒng)模型與方法研究[D].北京:北京郵電大學(xué),2015.
[5] 李麗虹,吳江,唐杰.On-line Data Backup Method Based on Data Volume Snapshot:CN 1567262 A[P].2005.
Design of Disaster Recovery System for Armed Police Hospital
Zhao Yulan
(BusinessCollegeofShanxiUniversity,TaiyuanShanxi030031,China)
This paper uses SAN and DataGuard technology to design the long-distance network disaster tolerance system,which is suitable for Taiyuan Armed Police Hospital. The design scheme can provide the synchronous replication of the daily data, the business taking over at the time of disaster and the system recovery function after the disaster. It can solve such problems such as data loss and system crash caused by man-made or natural disasters for MIS of armed police hospital.
disaster recovery;DataGuard;hospital system
2017-04-10
趙宇蘭(1979- ),女,山西晉中市人,副教授,碩士研究生,主要研究領(lǐng)域為大數(shù)據(jù)處理,分布式數(shù)據(jù)庫系統(tǒng)。
1674- 4578(2017)03- 0023- 04
TP392
A