程思杰
(復(fù)旦大學(xué)附屬華山醫(yī)院,上海 200040)
近年來(lái),隨著醫(yī)院HIS(醫(yī)院信息系統(tǒng))、LIS(檢驗(yàn)科信息系統(tǒng))等各類信息系統(tǒng)的推廣應(yīng)用,在提高業(yè)務(wù)辦理效率、減輕醫(yī)護(hù)人員工作壓力和優(yōu)化病患就醫(yī)體驗(yàn)等方面產(chǎn)生了積極效果。與此同時(shí),醫(yī)院信息系統(tǒng)產(chǎn)生了海量數(shù)據(jù),如何實(shí)現(xiàn)數(shù)據(jù)的安全存儲(chǔ)、高效利用,也成為醫(yī)院信息化建設(shè)中必須要考慮的問(wèn)題。異地容災(zāi)備份是將業(yè)務(wù)中心與備份中心分別設(shè)在不同的地方,同時(shí)保證備份數(shù)據(jù)與原始數(shù)據(jù)同步更新,這樣即便是原始數(shù)據(jù)丟失、破壞,也可以啟用備份數(shù)據(jù),保證醫(yī)院業(yè)務(wù)開展的連續(xù)性。而服務(wù)器虛擬化技術(shù)則能夠用虛擬服務(wù)器代替物理服務(wù)器,完成醫(yī)院各類信息系統(tǒng)的功能。開展異地容災(zāi)系統(tǒng)和服務(wù)器虛擬化的設(shè)計(jì)應(yīng)用,成為當(dāng)下醫(yī)院信息化建設(shè)的重要內(nèi)容。
本文設(shè)計(jì)的醫(yī)院網(wǎng)絡(luò)異地容災(zāi)備份系統(tǒng)由業(yè)務(wù)中心和備份中心構(gòu)成。其中,業(yè)務(wù)中心主要包含醫(yī)院的各類信息系統(tǒng),如HIS(醫(yī)院信息系統(tǒng))、LIS(檢驗(yàn)科信息系統(tǒng))、PACS(影像存儲(chǔ)與傳輸系統(tǒng))等;備份中心則是以虛擬機(jī)的方式存儲(chǔ)各類信息系統(tǒng)的備份數(shù)據(jù)。系統(tǒng)的整體架構(gòu)如圖1 所示。
圖1 醫(yī)院容災(zāi)備份系統(tǒng)整體架構(gòu)圖
在醫(yī)院的某個(gè)樓內(nèi)設(shè)立一個(gè)災(zāi)備中心,要求災(zāi)備中心與業(yè)務(wù)中心分屬于不同樓宇,實(shí)現(xiàn)異地容災(zāi)備份。從災(zāi)備中心的網(wǎng)絡(luò)線路集成到業(yè)務(wù)中心的2 臺(tái)交換機(jī)上,保證網(wǎng)絡(luò)冗余。災(zāi)備服務(wù)器上除了必備的操作系統(tǒng)和系統(tǒng)插件外,還包括醫(yī)院的各類業(yè)務(wù)系統(tǒng)以及用于存儲(chǔ)備份數(shù)據(jù)的數(shù)據(jù)庫(kù)管理系統(tǒng)。業(yè)務(wù)中心的重要數(shù)據(jù)會(huì)按照設(shè)定好的時(shí)間自動(dòng)完成備份,并傳輸?shù)綖?zāi)備中心的服務(wù)器上[1]。
本系統(tǒng)的服務(wù)器采用Intel Xeon E5520 四核處理器,主頻2.13 GHz,配置5×144GB 熱交換器和3.5 寸SAS硬盤,有12 個(gè)8 GB 光纖通道和4 個(gè)短波SFP 接口,標(biāo)配集成PERC H1200 高性能磁盤陣列卡,支持虛擬光驅(qū)、軟驅(qū)和閃存,自帶Bios、Image 等文件的快速恢復(fù)系統(tǒng)。
醫(yī)院業(yè)務(wù)中心的HIS 系統(tǒng)、PACS 系統(tǒng)等每天會(huì)產(chǎn)生海量數(shù)據(jù),這些數(shù)據(jù)需要同步備份到異地容災(zāi)系統(tǒng)。頻繁地傳輸和調(diào)用數(shù)據(jù),使得系統(tǒng)服務(wù)器面臨著較大的運(yùn)行負(fù)載,保證網(wǎng)絡(luò)訪問(wèn)的安全性、傳輸?shù)姆€(wěn)定性至關(guān)重要。本文在設(shè)計(jì)異地容災(zāi)系統(tǒng)時(shí),選擇了光纖SAN網(wǎng)絡(luò),最大傳輸距離為10 km,最大傳輸率穩(wěn)定在1 GB/s 以上。光纖SAN 網(wǎng)絡(luò)系統(tǒng)的核心設(shè)備是光纖通道交換機(jī)(DELL Brocade 5100 24 口交換機(jī)),采用雙冗余配置,可以實(shí)現(xiàn)FC 網(wǎng)絡(luò)和SAN 網(wǎng)絡(luò)的切換,保證了網(wǎng)絡(luò)傳輸?shù)姆€(wěn)定性和連續(xù)性。每1 臺(tái)服務(wù)器配置2個(gè)光纖通道卡,這就意味著1 臺(tái)服務(wù)器可以連接2 臺(tái)互為冗余的光纖通道交換機(jī)。光纖通道交換機(jī)可以將業(yè)務(wù)中心服務(wù)器上采集到的海量數(shù)據(jù)分類存儲(chǔ)到磁盤陣列中。光纖SAN 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖2 所示。
圖2 SAN 網(wǎng)絡(luò)拓?fù)鋱D
異地容災(zāi)系統(tǒng)的存儲(chǔ)系統(tǒng)應(yīng)當(dāng)滿足高性能、高可靠、易擴(kuò)展等要求。本文選擇了DELL EMC CX4 系列光纖存儲(chǔ)系統(tǒng),標(biāo)準(zhǔn)容量4.5 TB,支持?jǐn)U展,最大擴(kuò)展容量可達(dá)到10 TB。
異地容災(zāi)備份系統(tǒng)的軟件部分主要包括災(zāi)難檢測(cè)、同步復(fù)制、災(zāi)難切換和系統(tǒng)恢復(fù)4 個(gè)模塊。醫(yī)院業(yè)務(wù)中心的各類信息系統(tǒng)在運(yùn)行過(guò)程中,每隔一定周期進(jìn)行循環(huán)性的災(zāi)難檢測(cè),判斷系統(tǒng)運(yùn)行是否正常。如果正常,則將醫(yī)院各類信息系統(tǒng)產(chǎn)生的數(shù)據(jù)同步到備份數(shù)據(jù)庫(kù)中;如果存在異常,在進(jìn)行災(zāi)難報(bào)警,支持手動(dòng)和自動(dòng)容災(zāi)切換。切換至容災(zāi)備份系統(tǒng)后,使用備份數(shù)據(jù)保證醫(yī)院各項(xiàng)業(yè)務(wù)的正常開展。在此期間,進(jìn)行系統(tǒng)故障修復(fù),并執(zhí)行一個(gè)判斷程序“系統(tǒng)故障是否消除?”如果故障未消除,保持災(zāi)備系統(tǒng)運(yùn)行,維持醫(yī)院業(yè)務(wù)的連續(xù)性;如果故障已消除,則進(jìn)行系統(tǒng)恢復(fù),從容災(zāi)備份系統(tǒng)再次切換回業(yè)務(wù)系統(tǒng),醫(yī)院業(yè)務(wù)中心的各類信息系統(tǒng)恢復(fù)正常運(yùn)行,同時(shí)繼續(xù)按照設(shè)定好的時(shí)間進(jìn)行災(zāi)難檢測(cè),直到下一次災(zāi)難的發(fā)生[2]。整個(gè)流程如圖3 所示。
圖3 醫(yī)院災(zāi)備系統(tǒng)流程設(shè)計(jì)圖
醫(yī)院業(yè)務(wù)中心各類信息系統(tǒng)的災(zāi)難檢測(cè)可通過(guò)“心跳包”實(shí)現(xiàn)。系統(tǒng)中包括1 個(gè)主節(jié)點(diǎn)和若干個(gè)從節(jié)點(diǎn),并且2 種節(jié)點(diǎn)分別向控制層上報(bào)心跳。異地災(zāi)備系統(tǒng)的控制層每隔一定周期會(huì)發(fā)出響應(yīng)心跳包;正常情況下,業(yè)務(wù)中心的服務(wù)器會(huì)立即響應(yīng),系統(tǒng)順利接收到任意一個(gè)節(jié)點(diǎn)的心跳,說(shuō)明該服務(wù)器正常;若控制層收不到某個(gè)節(jié)點(diǎn)的心跳,則認(rèn)為該節(jié)點(diǎn)不可用,服務(wù)器存在故障,這種情況下使用備用信道發(fā)送心跳數(shù)據(jù)包。
同步復(fù)制可以保證業(yè)務(wù)中心和備份中心的數(shù)據(jù)保持一致性,是異地災(zāi)備系統(tǒng)軟件設(shè)計(jì)的核心內(nèi)容。本文使用Data Guard 技術(shù)實(shí)現(xiàn)海量業(yè)務(wù)數(shù)據(jù)的同步復(fù)制,將醫(yī)院業(yè)務(wù)中心的在線日志和歸檔日志復(fù)制到備份數(shù)據(jù)庫(kù)中。在系統(tǒng)同步復(fù)制軟件設(shè)計(jì)中,需要分別對(duì)主庫(kù)和備庫(kù)進(jìn)行配置。
主庫(kù)配置如下:首先檢查主庫(kù)是否為“歸檔”模式,如果是則直接進(jìn)行主備庫(kù)的聯(lián)通測(cè)試;如果不是該模式,則需要初始化數(shù)據(jù)庫(kù),進(jìn)入到mount 環(huán)節(jié),修改數(shù)據(jù)庫(kù)的狀態(tài),使之切換為“歸檔”模式。將主庫(kù)設(shè)置為force logging 狀態(tài),提高響應(yīng)速度,防止修改記錄丟失。然后新建一個(gè)standby.ctl 文件,用于存儲(chǔ)備份數(shù)據(jù);新建一個(gè)pfileWDS.ora 文件,用于存儲(chǔ)初始化參數(shù)文件。指定歸檔文件的保存路徑后,設(shè)置主庫(kù)與備庫(kù)的連接服務(wù)“fal_server=wjerm2;”最后重啟主庫(kù),讓各項(xiàng)設(shè)定生效[3]。
備庫(kù)設(shè)置如下:設(shè)立備庫(kù)目錄,并參照主庫(kù)的上述配置對(duì)備庫(kù)執(zhí)行相應(yīng)操作。完成備庫(kù)各項(xiàng)設(shè)定后,執(zhí)行Data Guard 命令,實(shí)現(xiàn)主、備數(shù)據(jù)同步。同時(shí),啟用listener.ora 文件,監(jiān)聽數(shù)據(jù)同步進(jìn)程,保證數(shù)據(jù)庫(kù)處于實(shí)時(shí)恢復(fù)狀態(tài)。完成上述操作后,進(jìn)行主備庫(kù)的聯(lián)通測(cè)試,確保兩者連接可靠。
完成主庫(kù)和備庫(kù)的設(shè)置后,對(duì)比主庫(kù)和備庫(kù)最近在線日志是否完全一致,兩者一致說(shuō)明主備庫(kù)的在線日志傳輸正常;觀察主庫(kù)和備庫(kù)最近接收到的日志文件是否一致,兩者一致說(shuō)明主備庫(kù)日志應(yīng)用正常。滿足上述條件后,即可進(jìn)行系統(tǒng)數(shù)據(jù)的同步復(fù)制。
本文設(shè)計(jì)的異地容災(zāi)系統(tǒng),有2 種情況可以觸發(fā)災(zāi)難切換。一種情況是醫(yī)院業(yè)務(wù)中心的信息系統(tǒng)發(fā)生故障,這種情況下為了保護(hù)業(yè)務(wù)的連續(xù)性,需要通過(guò)災(zāi)難切換啟用備用庫(kù),調(diào)取備份數(shù)據(jù);另一種情況則是醫(yī)院業(yè)務(wù)中心的信息系統(tǒng)需要進(jìn)行升級(jí)或維護(hù),也需要通過(guò)災(zāi)難切換啟用備用庫(kù)[4]。針對(duì)上述2 種情況,本文在系統(tǒng)軟件設(shè)計(jì)中利用Data Guard 編寫對(duì)應(yīng)的災(zāi)難切換程序。
針對(duì)第一種情況,調(diào)用failover()函數(shù)編寫了計(jì)劃外中止的故障切換程序,如圖4 所示。
圖4 基于failover 的災(zāi)難切換流程圖
針對(duì)第二種情況,調(diào)用switchover()函數(shù)編寫了計(jì)劃內(nèi)停用的轉(zhuǎn)換開關(guān)程序,如圖5 所示。
近年來(lái),醫(yī)院的信息化建設(shè)進(jìn)程加快,各類信息系統(tǒng)的數(shù)量和功能不斷增多。為了達(dá)到降低成本、便于管理、提高資源利用率和保證業(yè)務(wù)連續(xù)性的效果,需要對(duì)醫(yī)院異地容災(zāi)系統(tǒng)的服務(wù)器進(jìn)行虛擬化設(shè)計(jì)。本文選擇了VMware 虛擬機(jī)軟件對(duì)異地容災(zāi)服務(wù)器的操作系統(tǒng)和應(yīng)用軟件進(jìn)行虛擬化處理,具體配置見表1。
表1 虛擬化服務(wù)器軟硬件配置表
在每臺(tái)物理服務(wù)器上安裝VMware 第5 代虛擬架構(gòu)軟件vSphere5.0,運(yùn)行該軟件后利用軟件自帶的ESX 組件,建立多臺(tái)虛擬服務(wù)器。同時(shí),在虛擬服務(wù)器上安裝Windows 10 操作系統(tǒng),并根據(jù)醫(yī)院業(yè)務(wù)中心的實(shí)際情況,在虛擬服務(wù)器中安裝同樣的應(yīng)用軟件,如HIS 軟件、ERM 軟件等,這樣就建立起與物理服務(wù)器功能、架構(gòu)完全相同的虛擬服務(wù)器。相比于物理服務(wù)器最高只有30%左右的利用率,虛擬服務(wù)器的性能利用率可以達(dá)到90%,從而顯著提高了醫(yī)院各項(xiàng)業(yè)務(wù)的辦理效率。
在醫(yī)院網(wǎng)絡(luò)異地容災(zāi)系統(tǒng)中,使用FC/SAN 網(wǎng)絡(luò)和動(dòng)態(tài)虛擬存儲(chǔ)陣列共同建立了SAN 集中存儲(chǔ)架構(gòu)。為了節(jié)約成本,需要借助于VMware 軟件中的不同組件對(duì)存儲(chǔ)設(shè)備進(jìn)行虛擬化處理。利用該軟件提供的VM DRS 組件可以做到動(dòng)態(tài)分配硬件資源,以滿足醫(yī)院不同部門、科室的需求;利用該軟件提供的WM VCB 組件,能夠以虛擬機(jī)作為中間媒介,將代理服務(wù)器上的海量數(shù)據(jù)備份到磁盤陣列中,避免了備份過(guò)程中占用太多系統(tǒng)資源和存儲(chǔ)空間的情況發(fā)生。通過(guò)存儲(chǔ)設(shè)備的虛擬化設(shè)計(jì),可以實(shí)現(xiàn)醫(yī)院業(yè)務(wù)數(shù)據(jù)的集中存儲(chǔ)、集中備份[5]。
為了實(shí)現(xiàn)對(duì)醫(yī)院異地容災(zāi)系統(tǒng)物理服務(wù)器和虛擬服務(wù)器的集中、可視化管理,本文作出了以下設(shè)計(jì):新建一臺(tái)DELL PER710 服務(wù)器,并在該服務(wù)器上安裝Windows 10 操作系統(tǒng),然后安裝Virtual Center 軟件,運(yùn)行該軟件后可以對(duì)上文設(shè)計(jì)的VM DRS、VM VCB,以及VMware 軟件提供的其他組件進(jìn)行集中管理。服務(wù)器虛擬化管理可以取得以下效果。
1)優(yōu)化資源的配置,提高了資源的利用率。每一臺(tái)物理服務(wù)器上可以配置多臺(tái)虛擬服務(wù)器,并且每一臺(tái)虛擬服務(wù)器都是獨(dú)立的,相互之間不構(gòu)成干擾,因此可以顯著提高醫(yī)院異地災(zāi)備系統(tǒng)的數(shù)據(jù)處理效率,為醫(yī)院對(duì)各類數(shù)據(jù)資源的開發(fā)利用創(chuàng)造了有利條件。
2)降低成本。虛擬化服務(wù)器可以完成物理服務(wù)器的所有功能,并且節(jié)省了購(gòu)買物理服務(wù)器等硬件設(shè)備的成本。對(duì)比來(lái)看,使用VMware 配置虛擬服務(wù)器,要比原來(lái)使用物理服務(wù)器節(jié)約40%~50%的成本。
3)業(yè)務(wù)連續(xù)性好。當(dāng)醫(yī)院的各項(xiàng)業(yè)務(wù)系統(tǒng)發(fā)生災(zāi)難后,WMware 可以借助于軟件自帶的Infrastructure 組件,對(duì)服務(wù)器內(nèi)的業(yè)務(wù)數(shù)據(jù)進(jìn)行快速備份,并根據(jù)用戶的需要有選擇性地進(jìn)行數(shù)據(jù)恢復(fù),保證了醫(yī)院各項(xiàng)業(yè)務(wù)的連續(xù)性。
醫(yī)院信息系統(tǒng)在日常運(yùn)行中,產(chǎn)生了許多有重要價(jià)值的數(shù)據(jù)或者是包含病人隱私的信息,這些數(shù)據(jù)信息一旦丟失,將會(huì)對(duì)醫(yī)院業(yè)務(wù)的開展造成嚴(yán)重的影響。本文設(shè)計(jì)了醫(yī)院網(wǎng)絡(luò)異地容災(zāi)系統(tǒng),將業(yè)務(wù)中心與備份中心分別設(shè)置在不同樓宇,實(shí)現(xiàn)同步備份、異地存儲(chǔ)、冗余容災(zāi)。通過(guò)保障數(shù)據(jù)的完整性,維護(hù)了醫(yī)院業(yè)務(wù)的連續(xù)性。同時(shí),采用VMware 軟件對(duì)物理服務(wù)器進(jìn)行虛擬化處理,使用虛擬服務(wù)器完成醫(yī)院信息系統(tǒng)的各項(xiàng)功能,達(dá)到了節(jié)本增效的目的。