馬錫坤,楊國斌
南京軍區(qū)南京總醫(yī)院 a.信息科;b.醫(yī)務(wù)部,江蘇 南京 210002
基于PC服務(wù)器非共享磁盤高可用系統(tǒng)的實(shí)現(xiàn)
馬錫坤a,楊國斌b
南京軍區(qū)南京總醫(yī)院 a.信息科;b.醫(yī)務(wù)部,江蘇 南京 210002
我院信息系統(tǒng)引入集群管理軟件,集成鏡像引擎,使服務(wù)器系統(tǒng)具有高可用性,實(shí)現(xiàn)無共享磁盤陣列的雙機(jī)模式。當(dāng)其中任何一臺服務(wù)器出現(xiàn)故障時,另外的服務(wù)器便立即自動取代該故障機(jī)器的職責(zé),保證網(wǎng)絡(luò)不發(fā)生計(jì)劃外停機(jī)現(xiàn)象,確保醫(yī)院信息系統(tǒng)連續(xù)運(yùn)行。
HIS;服務(wù)器;集群管理軟件
目前我院HIS使用的是PC服務(wù)器,操作系統(tǒng)是Windows 2000 Advanced Server,數(shù)據(jù)庫是 Oracle 8.1.7.4,數(shù)據(jù)存放在服務(wù)器本地,非共享磁盤陣列。Oracle數(shù)據(jù)庫系統(tǒng)運(yùn)行于x86平臺的PC服務(wù)器上,不是很穩(wěn)定,需要定期重啟。為防止服務(wù)器出現(xiàn)故障及數(shù)據(jù)庫重啟失敗,影響醫(yī)院業(yè)務(wù),我院引入了集群管理軟件,使服務(wù)器系統(tǒng)具有高可用性,確保網(wǎng)絡(luò)安全、平穩(wěn)運(yùn)行。
在服務(wù)器發(fā)生故障時,雖可人工地進(jìn)行數(shù)據(jù)恢復(fù)和后備服務(wù)器的切換啟動,但整個過程所需時間的長短在很大程度上取決于當(dāng)時的故障復(fù)雜程度和系統(tǒng)管理人員的技術(shù)水平。人為因素很多,難以保證很快恢復(fù)系統(tǒng)運(yùn)行。
集群管理軟件是將多臺服務(wù)器聯(lián)在一起,組成一個高度透明的大型系統(tǒng),讓最終用戶能共享網(wǎng)絡(luò)上的資源,如數(shù)據(jù)或應(yīng)用軟件等,實(shí)現(xiàn)服務(wù)器數(shù)據(jù)同步,使服務(wù)器具有高可用性[1]。當(dāng)其中任何一臺服務(wù)器出現(xiàn)故障時,另外的服務(wù)器便立即自動取代該故障機(jī)器的職責(zé),繼續(xù)為用戶提供服務(wù),保證網(wǎng)絡(luò)不發(fā)生計(jì)劃外停機(jī)現(xiàn)象。
EMC AutoStart集群管理軟件,支持無共享磁盤陣列方式的雙機(jī)熱備、雙機(jī)集群、多機(jī)集群。無共享磁盤陣列方式可實(shí)現(xiàn)對應(yīng)用程序進(jìn)行監(jiān)視、修復(fù)、重新啟動和故障排除,從而為業(yè)務(wù)系統(tǒng)提供前所未有的保護(hù),保證系統(tǒng)上的應(yīng)用程序、數(shù)據(jù)和網(wǎng)絡(luò)資源不會受到任何外在因素影響而中斷服務(wù)。AutoStart 所獨(dú)有的恢復(fù)應(yīng)用程序特性,能及時地切換故障應(yīng)用程序到其他指定的服務(wù)器上[2]。
2.1 高可用系統(tǒng)方案設(shè)計(jì)[3,4]
HIS、LIS等應(yīng)用系統(tǒng)要求7×24h連續(xù)不間斷的運(yùn)行,結(jié)合我院實(shí)際情況,經(jīng)過市場調(diào)研和測試論證,采用EMC AutoStart高可用軟件來保護(hù)應(yīng)用系統(tǒng)。EMC AutoStart軟件,集成鏡像引擎,實(shí)現(xiàn)無共享磁盤陣列的雙機(jī)模式。兩臺服務(wù)器為一組,采用Active-StardBy方式,備機(jī)上沒有運(yùn)行應(yīng)用系統(tǒng),只是出于開機(jī)狀態(tài)。正常情況下使用服務(wù)器1上的卷1作為正在使用的數(shù)據(jù)源卷,服務(wù)器2上的卷1作為進(jìn)行鏡像操作的目標(biāo)卷,為了保證數(shù)據(jù)的一致性,目標(biāo)卷不可讀寫。對于Oracle和MS SQL數(shù)據(jù)庫保護(hù)方式相同[5,6]。
EMC AutoStart提供HIS系統(tǒng)和LIS系統(tǒng)的高可用性保護(hù),無論是操作系統(tǒng)故障、數(shù)據(jù)庫故障、網(wǎng)卡故障,還是服務(wù)器宕機(jī)、卷1故障,AutoStart都可將系統(tǒng)轉(zhuǎn)移到另一臺服務(wù)器上繼續(xù)運(yùn)行。此時系統(tǒng)使用的是轉(zhuǎn)變?yōu)閿?shù)據(jù)源卷的原目標(biāo)卷上的數(shù)據(jù)鏡像拷貝,整個過程全部由AutoStart自動完成,無須手工干預(yù),從而保證應(yīng)用系統(tǒng)的7×24h的自動連續(xù)運(yùn)行。
2.2 系統(tǒng)切換過程
正常情況下系統(tǒng)工作模式如圖1所示:
圖 1 正常情況下系統(tǒng)工作模式圖
異常情況下系統(tǒng)工作模式如圖2所示:
圖 2 異常情況下系統(tǒng)工作模式圖
當(dāng)服務(wù)器1發(fā)生了故障后,根據(jù)預(yù)定策略,EMC AutoStart會自動將系統(tǒng)切換到服務(wù)器2上運(yùn)行,并且鏡像關(guān)系也會變更為從服務(wù)器2的卷1鏡像到服務(wù)器1的卷1。如果當(dāng)前服務(wù)器1不可用,那么當(dāng)服務(wù)器1啟動后,EMC AutoStart自動將新增的數(shù)據(jù)同步到服務(wù)器1上的卷1中,期間對應(yīng)用系統(tǒng)的運(yùn)行無影響。
2.3 系統(tǒng)特點(diǎn)
AutoStart采用純軟件方式實(shí)現(xiàn),沒有單點(diǎn)故障:每套應(yīng)用系統(tǒng)至少兩個程序副本和數(shù)據(jù)副本,保證整體RTO;架構(gòu)靈活:可以任意選擇Active-Active模式或者Active-StandBy模式,兩者互換簡單;也可組合配置,部分采用Active-Active模式,另一部分采用Active-StandBy模式。AutoStart雙機(jī)熱備系統(tǒng)構(gòu)建完成后,不管是因?yàn)橛布颍ㄈ鏑PU損壞、硬盤損壞、服務(wù)器宕機(jī)等),還是軟件故障(如操作系統(tǒng)宕機(jī)、Oracle數(shù)據(jù)庫出錯、SQL數(shù)據(jù)庫出錯等),AutoStart都會自動偵測到故障,并將相應(yīng)系統(tǒng)在另一臺服務(wù)器上重新啟動,從而保證整個應(yīng)用系統(tǒng)7×24h連續(xù)運(yùn)行的能力。
AutoStart對硬盤沒有特別的要求,一塊或多塊硬盤都能實(shí)現(xiàn)鏡像,支持任何Raid類型,但要求鏡像的數(shù)據(jù)分區(qū)不能與系統(tǒng)在同一個分區(qū),必須將操作系統(tǒng)分區(qū)與數(shù)據(jù)分區(qū)分開,在數(shù)據(jù)分區(qū)不能有任何系統(tǒng)文件,包括系統(tǒng)的頁面文件,并且也不能將AUTOSTART安裝在數(shù)據(jù)分區(qū)。只有基本分區(qū)可以被保護(hù),而動態(tài)分區(qū)與該軟件不兼容,首次同步時從服務(wù)器的數(shù)據(jù)分區(qū)不能比主服務(wù)器數(shù)據(jù)分區(qū)小。
系統(tǒng)往往會因?yàn)榉?wù)器電源中斷、數(shù)據(jù)庫故障、系統(tǒng)出現(xiàn)超載運(yùn)行、網(wǎng)絡(luò)資源故障、關(guān)鍵性操作系統(tǒng)程序出現(xiàn)故障等造成中斷。這些主機(jī)的故障性停機(jī)將對應(yīng)用程序的正常運(yùn)作造成很大影響,不能估計(jì)系統(tǒng)恢復(fù)時間,影響醫(yī)院正常營運(yùn),醫(yī)院形象可能會受到負(fù)面影響。因此盡量減少故障停機(jī)時間是十分必要的。高可用性系統(tǒng)能夠保證系統(tǒng)上的數(shù)據(jù)、服務(wù)及應(yīng)用的連續(xù)性及可靠性,減低系統(tǒng)故障帶來的影響,減低客戶機(jī)/服務(wù)器架構(gòu)的維護(hù)成本,避免單點(diǎn)故障。經(jīng)過一年的運(yùn)行實(shí)踐證明,因服務(wù)器故障導(dǎo)致系統(tǒng)不可用的現(xiàn)象明顯減少,服務(wù)器故障均能在短時間內(nèi)得到解決。定期重啟服務(wù)器,定期進(jìn)行服務(wù)器切換,以及服務(wù)器的平時維護(hù)工作均不影響醫(yī)院業(yè)務(wù)正常運(yùn)行,系統(tǒng)的高可用性有效地保障了我院HIS、LIS信息系統(tǒng)連續(xù)運(yùn)行。
[1] 王婉菲,王欣,張志浩.?dāng)?shù)據(jù)庫集群系統(tǒng)的研究與實(shí)施[J].微型電腦應(yīng)用,2003,19(10):31-33.
[2] 王維江.網(wǎng)絡(luò)應(yīng)用方案與實(shí)例精講[M].北京:人民郵電出版社,2003:173-232.
[3] 趙志云,李泰環(huán),楊宏橋,等.高可用集群在醫(yī)院信息系統(tǒng)中的設(shè)計(jì)與實(shí)現(xiàn)[J].中國醫(yī)療設(shè)備,2008,23(8):31-33.
[4] 閆斌,徐紅兵,周小佳,等.高可用性集群數(shù)據(jù)庫服務(wù)器研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究, 2005(12):255-257.
[5] 劉文娟,等.Oracle數(shù)據(jù)字符集問題及其解決方法[J].微型電腦應(yīng)用,2005(6):48-49.
[6] 路川,胡欣杰,等.Oracle10gDBA寶典[M].北京:電子工業(yè)出版社,2007.
Realization of High Availability System Based on PC Server with Non-shared Disk
MA Xi-kuna, YANG Guo-binb
a.Information Department;b.Medical Service Department,Nanjing General Hospital of Nanjing Command, Nanjing Jiangsu 210002, China
With the introduction of cluster management software, a group of two servers, the non-shared disk array and the integrated mirror image engine, we can realize the server data synchronization, and enable the server system to have a high availability. When any one of the servers fails, another server will immediately automatically substitutes for the function of the breakdown machine, which can guarantee the network do not shutdown in an unplanned way, and ensure the hospital information system operating continuously.
HIS;server; cluster management software
TP368.5;TP393.03
A
10.3969/j.issn.1674-1633.2010.04.011
1674-1633(2010)04-0029-02
2009-08-25
本文作者:馬錫坤,高級工程師,碩士研究生。
楊國斌,醫(yī)務(wù)部主任。
作者郵箱:maxikun@163.com