周 瑜 吳雨哲
云南省普洱市人民醫院信息中心 云南 普洱 665000
醫院信息化的發展對醫院信息系統的服務能力提出了更高要求,提供7*24小時的高可用性服務,避免業務中斷是醫院信息部門重點考慮的問題。為了應對系統停機、業務中斷等風險,多數醫院建設了,以數據復制技術為基礎的容災數據中心,容災數據中心架構均以災難情況下的站點整體切換為第一目標,這種技術強調災難情況下的站點恢復能力,但往往由于底層數據復制配置、網絡環境、相互依存服務等方面的限制,無法順利實現單個業務應用系統或主機的透明切換和遷移。而雙活數據中心的特點是兩個數據中心都是在線運行的,如果斷了一個數據中心,另外一個數據中心還是在正常運行的,對用戶來說是不可感知的,業務幾乎不受影響。并且通過資源整合的雙活數據中心的服務能力是雙倍的。

圖一
目前醫院已上線HIS、EMR、LIS、PACS、病理系統,HERP、護理信息系統,OA、體檢系統、心電系統,手術麻醉系統、重癥監護系統、血液透析系統等共75個系統157個功能模塊,覆蓋了醫院百分之九十五以上的業務。
圖一為醫院的系統網絡服務架構。核心A和核心B采用雙機冷備的工作形式,oracle服務器采用RAC實例集群服務模式,其他服務運行在VMware虛擬化服務器上,存儲采用SAN加存儲陣列的形式。
此網絡架構的服務模式有其本身的局限性:核心交換機出現故障時交換機的切換勢必會影響到醫院全部業務的使用,網絡服務承擔故障的風險率相對較低;存儲陣列雖然做了RAIDlevel,Oracle服務器和V Mware集群雖然做了虛擬化處理,但是他們容災能力是有限的。如果機房出現較大的基礎設施損壞,例如整個機房被毀,這樣全院的業務都無法得到保障。所以如何在最短的時間成本上,最完整地恢復系統,保障醫院業務 正常運行,降低數據丟失風險,是雙活數據中心的目標。
基于原網絡結構進行優化與改造,設計新的網絡服務架構,應用虛擬化,云計算,分布式網絡存儲等技術實現網絡雙活、業務雙活、存儲雙活的高性能、高可用的雙活數據中心。實現了服務器、存儲、網絡端到端冗余,最大程度的保障醫院業務系統的穩定運行。新的結構圖如圖二所示。
3.1 網絡雙活 采用華為CSS(Cluster Switch System)集群交換系統技術,將兩個中心的核心交換機通過網絡堆疊的方式進行虛擬化管理,集群對外表現為一臺邏輯交換機,控制平面合一,統一管理,集群內核心A出現故障,核心B可以接管CSS的控制和轉發,避免單點故障;兩臺設備間冗余備份,提高網絡服務的可靠性。CSS在簡化網絡、提升轉發性能的同時沒有帶來任何網絡功能的損失。物理交換機具有的所有功能,都在CSS系統下得到繼承,且性能還得到了放大。CSS擁有的這些特質,使它得到了越來越多的認可和接受,并成為了部署簡單、高效網絡的首選方案。CSS模式如圖三所示

圖二
3.2 業務雙活 采用服務器虛擬化架構解決方案,可以在兩個數據中心之間構建一個計算資源池,每個數據中心分別部署6臺物理服務器,安裝Vmware虛擬化軟件,將兩個數據中心的12臺服務器配置成為一個Vmware HA集群,能夠支持多個醫院應用系統的正常運行,最有效的利用服務器資源,節省采購和運維成本,降低管理復雜度。同時在構建的Vmware HA集群中,任何一臺物理服務器發生故障發生故障,該服務器上的虛擬機會平滑遷移到其他的物理服務器上,保障了醫院業務系統的穩定運行。

圖三
對于最關鍵的HIS、EMR、PACS等業務系統,采用物理機構建Oracle RAC的方式,在兩個數據中心分別部署一臺服務器來運行Oracle數據庫,配置兩個節RAC1和RAC2。實現跨數據中心的服務器集群,任何一臺Oracle數據庫服務器或數據中心發生故障,RAC節點會自動飄移,客戶端不受影響能繼續訪問醫院的HIS、EMR、PACS等數據庫,確保醫院業務的穩定運行,實現業務連續性。
3.3 存儲雙活 一個完整的雙活數據中心要求業務、網絡、存儲所有層面實現雙活,其最核心部分是存儲雙活。存儲雙活通過存儲虛擬化技術實現,存儲虛擬化技術通過輸入輸出重定向和存儲地址重編排來實現。存儲虛擬化可作為應用服務與存儲設備之間的邏輯層,其主要任務是捕獲應用程序 輸入輸出指令并重定向,對所有存儲空間統一編址,并在這一基本機制衍生其他高級功能。存儲雙活技術中的硬件解決方案在高可用、高性能、高擴展性方面比軟件方案都更具優勢,當前業界具備相當多的成熟案例。
在數據中心1和數據中心2各部署一臺OceanStor SNS2624交換機,組成一個VIS集群,為兩數據中心主機業務同時提供讀寫服務。同時,在數據中心1和數據中心2各部署一套華為Ocean Stor Dorado 5000 V3存儲,部署為雙活模式,為兩數據中心業務主機同時提供讀寫服務。兩個數據中心的磁盤陣列都由VIS集群接管,利用VIS鏡像技術對兩中心的磁盤陣列做鏡像冗余配置,實現兩個數據中心存儲數據實時鏡像,互為冗余。任意數據中心故障,數據零丟失。結構設計圖如圖四。

圖四
如圖四所示,兩個雙活的存儲整列間當存儲鏈路出現故障時,陣列已經無法實時鏡像同步,此時只能由其中一套陣列繼續提供服務。為了保證數據一致性,在第三方站點布置一臺仲裁機,通過仲裁機制決定由那套存儲繼續提供服務。
真正的雙活數據中心,要從上到下各個層面都要實現雙活,當任何一個中心的單點如服務器、網絡、存儲出現問題時都能無縫的切換到另外一個中心。雙活數據中心隨著技術的進步肯定會實現得更加完美,將來隨著云計算技術的廣泛運用,有可能實現多活數據中心或者云數據中心,為各單位提供更高的資源利用率、更加完美的容災方案以及更加動態靈活的硬件擴展。