馬錫坤,楊國斌
南京軍區南京總醫院 a.信息科;b.醫務部,江蘇 南京 210002
基于PC服務器非共享磁盤高可用系統的實現
馬錫坤a,楊國斌b
南京軍區南京總醫院 a.信息科;b.醫務部,江蘇 南京 210002
我院信息系統引入集群管理軟件,集成鏡像引擎,使服務器系統具有高可用性,實現無共享磁盤陣列的雙機模式。當其中任何一臺服務器出現故障時,另外的服務器便立即自動取代該故障機器的職責,保證網絡不發生計劃外停機現象,確保醫院信息系統連續運行。
HIS;服務器;集群管理軟件
目前我院HIS使用的是PC服務器,操作系統是Windows 2000 Advanced Server,數據庫是 Oracle 8.1.7.4,數據存放在服務器本地,非共享磁盤陣列。Oracle數據庫系統運行于x86平臺的PC服務器上,不是很穩定,需要定期重啟。為防止服務器出現故障及數據庫重啟失敗,影響醫院業務,我院引入了集群管理軟件,使服務器系統具有高可用性,確保網絡安全、平穩運行。
在服務器發生故障時,雖可人工地進行數據恢復和后備服務器的切換啟動,但整個過程所需時間的長短在很大程度上取決于當時的故障復雜程度和系統管理人員的技術水平。人為因素很多,難以保證很快恢復系統運行。
集群管理軟件是將多臺服務器聯在一起,組成一個高度透明的大型系統,讓最終用戶能共享網絡上的資源,如數據或應用軟件等,實現服務器數據同步,使服務器具有高可用性[1]。當其中任何一臺服務器出現故障時,另外的服務器便立即自動取代該故障機器的職責,繼續為用戶提供服務,保證網絡不發生計劃外停機現象。
EMC AutoStart集群管理軟件,支持無共享磁盤陣列方式的雙機熱備、雙機集群、多機集群。無共享磁盤陣列方式可實現對應用程序進行監視、修復、重新啟動和故障排除,從而為業務系統提供前所未有的保護,保證系統上的應用程序、數據和網絡資源不會受到任何外在因素影響而中斷服務。AutoStart 所獨有的恢復應用程序特性,能及時地切換故障應用程序到其他指定的服務器上[2]。
2.1 高可用系統方案設計[3,4]
HIS、LIS等應用系統要求7×24h連續不間斷的運行,結合我院實際情況,經過市場調研和測試論證,采用EMC AutoStart高可用軟件來保護應用系統。EMC AutoStart軟件,集成鏡像引擎,實現無共享磁盤陣列的雙機模式。兩臺服務器為一組,采用Active-StardBy方式,備機上沒有運行應用系統,只是出于開機狀態。正常情況下使用服務器1上的卷1作為正在使用的數據源卷,服務器2上的卷1作為進行鏡像操作的目標卷,為了保證數據的一致性,目標卷不可讀寫。對于Oracle和MS SQL數據庫保護方式相同[5,6]。
EMC AutoStart提供HIS系統和LIS系統的高可用性保護,無論是操作系統故障、數據庫故障、網卡故障,還是服務器宕機、卷1故障,AutoStart都可將系統轉移到另一臺服務器上繼續運行。此時系統使用的是轉變為數據源卷的原目標卷上的數據鏡像拷貝,整個過程全部由AutoStart自動完成,無須手工干預,從而保證應用系統的7×24h的自動連續運行。
2.2 系統切換過程
正常情況下系統工作模式如圖1所示:

圖 1 正常情況下系統工作模式圖
異常情況下系統工作模式如圖2所示:

圖 2 異常情況下系統工作模式圖
當服務器1發生了故障后,根據預定策略,EMC AutoStart會自動將系統切換到服務器2上運行,并且鏡像關系也會變更為從服務器2的卷1鏡像到服務器1的卷1。如果當前服務器1不可用,那么當服務器1啟動后,EMC AutoStart自動將新增的數據同步到服務器1上的卷1中,期間對應用系統的運行無影響。
2.3 系統特點
AutoStart采用純軟件方式實現,沒有單點故障:每套應用系統至少兩個程序副本和數據副本,保證整體RTO;架構靈活:可以任意選擇Active-Active模式或者Active-StandBy模式,兩者互換簡單;也可組合配置,部分采用Active-Active模式,另一部分采用Active-StandBy模式。AutoStart雙機熱備系統構建完成后,不管是因為硬件原因(如CPU損壞、硬盤損壞、服務器宕機等),還是軟件故障(如操作系統宕機、Oracle數據庫出錯、SQL數據庫出錯等),AutoStart都會自動偵測到故障,并將相應系統在另一臺服務器上重新啟動,從而保證整個應用系統7×24h連續運行的能力。
AutoStart對硬盤沒有特別的要求,一塊或多塊硬盤都能實現鏡像,支持任何Raid類型,但要求鏡像的數據分區不能與系統在同一個分區,必須將操作系統分區與數據分區分開,在數據分區不能有任何系統文件,包括系統的頁面文件,并且也不能將AUTOSTART安裝在數據分區。只有基本分區可以被保護,而動態分區與該軟件不兼容,首次同步時從服務器的數據分區不能比主服務器數據分區小。
系統往往會因為服務器電源中斷、數據庫故障、系統出現超載運行、網絡資源故障、關鍵性操作系統程序出現故障等造成中斷。這些主機的故障性停機將對應用程序的正常運作造成很大影響,不能估計系統恢復時間,影響醫院正常營運,醫院形象可能會受到負面影響。因此盡量減少故障停機時間是十分必要的。高可用性系統能夠保證系統上的數據、服務及應用的連續性及可靠性,減低系統故障帶來的影響,減低客戶機/服務器架構的維護成本,避免單點故障。經過一年的運行實踐證明,因服務器故障導致系統不可用的現象明顯減少,服務器故障均能在短時間內得到解決。定期重啟服務器,定期進行服務器切換,以及服務器的平時維護工作均不影響醫院業務正常運行,系統的高可用性有效地保障了我院HIS、LIS信息系統連續運行。
[1] 王婉菲,王欣,張志浩.數據庫集群系統的研究與實施[J].微型電腦應用,2003,19(10):31-33.
[2] 王維江.網絡應用方案與實例精講[M].北京:人民郵電出版社,2003:173-232.
[3] 趙志云,李泰環,楊宏橋,等.高可用集群在醫院信息系統中的設計與實現[J].中國醫療設備,2008,23(8):31-33.
[4] 閆斌,徐紅兵,周小佳,等.高可用性集群數據庫服務器研究與實現[J].計算機應用研究, 2005(12):255-257.
[5] 劉文娟,等.Oracle數據字符集問題及其解決方法[J].微型電腦應用,2005(6):48-49.
[6] 路川,胡欣杰,等.Oracle10gDBA寶典[M].北京:電子工業出版社,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
本文作者:馬錫坤,高級工程師,碩士研究生。
楊國斌,醫務部主任。
作者郵箱:maxikun@163.com