● 張 強(qiáng) /文
基于Rose的雙機(jī)熱備在醫(yī)院數(shù)據(jù)中心的應(yīng)用
● 張 強(qiáng) /文
雙機(jī)熱備技術(shù)主要是解決由于服務(wù)器故障所導(dǎo)致的醫(yī)院信息系統(tǒng)癱瘓問題。
近幾年,醫(yī)院的信息化建設(shè)快速發(fā)展,取得了顯著的成效??焖侔l(fā)展的浪潮,帶給醫(yī)院本身的是信息系統(tǒng)數(shù)量的增加和硬件設(shè)備的不斷添置。醫(yī)院醫(yī)療業(yè)務(wù)的開展對信息系統(tǒng)的依賴越來越大,這就對信息系統(tǒng)的穩(wěn)定持續(xù)性提出了相應(yīng)要求。但是,由于數(shù)據(jù)中心的軟硬件設(shè)備在使用過程中都會不可避免的出現(xiàn)問題,一旦出現(xiàn)比較大的故障,不僅會給醫(yī)院業(yè)務(wù)的正常開展帶來不可估量的損失,同時硬件的宕機(jī)所造成的損失甚至超過系統(tǒng)的直接購買成本!如何最大限度地避免或者減少由于設(shè)備故障給醫(yī)院帶來的業(yè)務(wù)中斷,以及盡可能地減少計(jì)劃內(nèi)外的停機(jī)成為了醫(yī)院信息科管理人員需要首先面對的問題。雖然,解決這些問題的方法有很多,可是較為穩(wěn)定也是應(yīng)用最廣的是雙機(jī)熱備技術(shù),它主要解決的是由于服務(wù)器故障所導(dǎo)致的醫(yī)院信息系統(tǒng)癱瘓問題,其能夠在較短的時間內(nèi)恢復(fù)信息系統(tǒng)的正常運(yùn)行,保證醫(yī)院臨床業(yè)務(wù)的正常開展。
雙機(jī)熱備簡單的說就是將中心服務(wù)器安裝成互為備份的兩臺服務(wù)器,在同一時間內(nèi)只有其中的一臺服務(wù)器工作。當(dāng)其中工作著的一臺服務(wù)器出現(xiàn)故障而無法啟動時,另一臺備份服務(wù)器通過使用雙機(jī)軟件會迅速的自動啟動并接管相應(yīng)工作(接管工作通常需要幾分鐘),從而保證整個網(wǎng)絡(luò)系統(tǒng)的正常運(yùn)行。雙機(jī)熱備的工作機(jī)制即為整個網(wǎng)絡(luò)系統(tǒng)的中心服務(wù)器提供了一種故障自動恢復(fù)能力。通常所說的雙機(jī)熱備有廣義和狹義兩種意義。
從廣義上看,雙機(jī)熱備(雙機(jī)容錯)就是使用兩臺服務(wù)器,互為備份,且共同執(zhí)行同一服務(wù)。當(dāng)一臺服務(wù)器宕機(jī)時,另一臺服務(wù)器承擔(dān)服務(wù)任務(wù),從而在不需要人為干預(yù)的情況下,自動提供穩(wěn)定而且持續(xù)的服務(wù)。雙機(jī)熱備中的備用服務(wù)器處理了在主服務(wù)器宕機(jī)時服務(wù)不中斷的問題??墒窃趯?shí)際環(huán)境中,一般采用2臺服務(wù)器的情況較少,各家醫(yī)院采用的為服務(wù)器集群,采用共享存儲設(shè)備的方式實(shí)現(xiàn)熱備。但在某些特殊情況下,也可以僅用兩臺服務(wù)器實(shí)現(xiàn)雙機(jī)熱備,但是需要通過專門的雙機(jī)或集群軟件。
從狹義上看,雙機(jī)熱備特指基于active/standby方式的服務(wù)器熱備。服務(wù)器數(shù)據(jù)包括數(shù)據(jù)庫數(shù)據(jù)同時往兩臺或多臺服務(wù)器寫,或者共享同一個存儲。在同一時間內(nèi)只有一臺服務(wù)器運(yùn)行。當(dāng)其中主服務(wù)器出現(xiàn)宕機(jī)無法正常工作時,另一臺備用服務(wù)器會通過雙機(jī)軟件的診測(一般是通過心跳診斷)將standby機(jī)器激活,保證應(yīng)用系統(tǒng)在短時間內(nèi)恢復(fù)正常工作。
醫(yī)院的信息科(處)雖然隸屬于行政后勤科室,但其重要性和價值不次于其它臨床科室。而信息科所管轄的數(shù)據(jù)中心的安全運(yùn)行更是信息科工作的重中之重。數(shù)據(jù)中心里的相關(guān)硬件上不間斷運(yùn)行著醫(yī)院所有臨床的核心業(yè)務(wù)(HIS、LIS、PACS等)。因此,選用何種硬件架構(gòu)可以保證信息系統(tǒng)安全且可靠的運(yùn)行,就顯得十分必要。
對于信息科的硬件維護(hù)人員來說,服務(wù)器出現(xiàn)宕機(jī)一般是最嚴(yán)重的問題,因?yàn)榉?wù)器出現(xiàn)宕機(jī)的原因有很多,例如服務(wù)器硬件本身的故障,操作系統(tǒng)故障或者軟件故障等等。當(dāng)服務(wù)器出現(xiàn)故障時,要首先定位故障,確定是哪個原因造成的服務(wù)器故障,定位故障原因后,才能采用相應(yīng)的方法去處理故障。而發(fā)現(xiàn)故障,定位故障,處理故障,排除故障都需要時間,這個過程中少則幾十分鐘,多則幾個小時,或者更長,對醫(yī)院所造成的損失是難以估量的。這時,采用雙機(jī)熱備技術(shù)就對因服務(wù)器宕機(jī)所造成的業(yè)務(wù)中斷就起著關(guān)鍵作用。采用雙機(jī)熱備技術(shù)本質(zhì)上就是要來避免長時間的服務(wù)中斷,保證系統(tǒng)長期且可靠的服務(wù)。而決定是否使用雙機(jī)熱備技術(shù),主要是要分析醫(yī)院本身系統(tǒng)的重要性以及對服務(wù)中斷的容忍程度,以此決定是否使用雙機(jī)熱備技術(shù)。
在雙機(jī)熱備技術(shù)中,主機(jī)和備機(jī)的工作接管是有一個切換過程,這個切換過程可能是幾分鐘左右。在切換過程中,服務(wù)在短時間內(nèi)是中斷的。可是當(dāng)切換完成后,服務(wù)將很快恢復(fù)正常。由此可得,雙機(jī)熱備不是無縫、不中斷的,可它能夠保障在服務(wù)器出現(xiàn)宕機(jī)時,在無需人工的干預(yù)下,服務(wù)器能快速恢復(fù)正常服務(wù),從而使業(yè)務(wù)不致受到影響。而如果沒有采用雙機(jī)熱備技術(shù),則一旦出現(xiàn)服務(wù)器宕機(jī),可能會出現(xiàn)幾個小時的服務(wù)中斷,對業(yè)務(wù)的影響就可能是雪上加霜。另外,有一點(diǎn)需要特別指出,即服務(wù)器的宕機(jī)與存儲設(shè)備、交換機(jī)的故障不同。原因在于服務(wù)器技術(shù)的集成度比交換機(jī)、存儲等設(shè)備要密集,且復(fù)雜程度高,因其既包括硬件、操作系統(tǒng)、同時還有應(yīng)用軟件系統(tǒng)等系統(tǒng)。不僅服務(wù)器硬件故障可能引起服務(wù)中斷,而且軟件或程序方面的問題同樣可以導(dǎo)致服務(wù)器不能正常工作。另外,雖然目前很多服務(wù)器都具有防護(hù)措施例如磁盤陣列(RAID)、數(shù)據(jù)備份等可以很大程度上的保護(hù)醫(yī)院數(shù)據(jù),可卻無法替代雙機(jī)熱備作用。
目前常用的雙機(jī)熱備軟件有國外 的 Rose HA、NEC ExpressCluster和微軟MSCS等品牌以及國產(chǎn)的REYUN HA、mirror,REYUN HA等。根據(jù)調(diào)查,我院決定采用Rose HA作為雙機(jī)備份軟件,Rose HA是美國ROSE數(shù)據(jù)公司的新一代雙機(jī)熱備(高可用性)軟件,其優(yōu)勢在于其具有友好的界面、靈活的Active-Active 模式和Active-Standby 模式、支持多條心跳、網(wǎng)絡(luò)、存儲、應(yīng)用高可靠性、豐富的附加功能等特點(diǎn)。
通過和其它醫(yī)院信息科同行以及有關(guān)系統(tǒng)集成商的交流后,考慮到本院實(shí)際情況,決定采用共享存儲的方式來構(gòu)建硬件平臺。其中相關(guān)的硬件為采用2臺IBM X3860X6和1臺IBM V3500存儲設(shè)備,并利用雙機(jī)軟件(Rose HA)實(shí)現(xiàn)兩臺服務(wù)器的雙機(jī)熱備方式。
Intel(R)Xeon(R) Processor E7-4809V2,32GB DDR3 內(nèi) 存,3塊(單塊容量300GB,轉(zhuǎn)速10K RPM)硬盤,雙千兆網(wǎng)卡,2塊HBA光纖卡,服務(wù)器內(nèi)置的千兆網(wǎng)卡通過千兆雙絞線連接到交換機(jī)的千兆模塊上。服務(wù)器上預(yù)安裝的操作系統(tǒng)為Windows Server 2008企業(yè)版。
IBM V3500存儲設(shè)備采用雙控制器,容量為5TB(5塊1TB的硬盤)SAS 盤,硬盤轉(zhuǎn)速為7200轉(zhuǎn)。
前期各項(xiàng)連接測試暢通之后,要進(jìn)行服務(wù)器與存儲的雙控雙環(huán)路測試。首先將磁盤陣列的硬盤先后掛載到兩臺服務(wù)器,即使用命 令 #mount/dev/sdb5/mnt/oradata??梢钥吹酱疟P陣列的數(shù)據(jù)。
我們先將服務(wù)器編號為服務(wù)器1號和服務(wù)器2號,在1號服務(wù)器上使用命令#tail-f/var/log/messages進(jìn)行雙控雙環(huán)路測試。將連接1號服務(wù)器上的板卡HBA0和存儲控制器上的DS1的光纖跳線拔掉,我們就可看到,控制由HBA0切換到1號服務(wù)器上的另一塊板卡HBA1上,同時可以讀寫磁盤陣列上的數(shù)據(jù);將連接1號服務(wù)器上的板卡HBA1和存儲控制器上的DS3的光纖跳線拔掉,控制仍在HBA0上,仍可以讀寫陣列上的數(shù)據(jù)。同理,在2號服務(wù)器上也做同樣的測試。
而雙控測試則是要測試存儲的控制器。將存儲控制器A上的DS1和DS2上的光線跳線同時拔掉,發(fā)現(xiàn)可以讀寫數(shù)據(jù)。然后,再將存儲控制器B上的DS3和DS4上的光線跳線同時拔掉,仍可以讀寫數(shù)據(jù)。這樣,就順利通過了磁盤陣列的雙控測試。
經(jīng)過前面的雙控雙環(huán)路測試成功后,并成功在2臺服務(wù)器上安裝oracle 11g后,接下來,我們需要安裝雙機(jī)軟件Rose Ha,根據(jù)操作手冊,按照安裝步驟,完成軟件的安裝。這里我們設(shè)定了虛擬的IP地址,即192.168.1.21。這個虛擬地址直接指向1號服務(wù)器,當(dāng)1號服務(wù)器故障后,會立即指向2號服務(wù)器。同時,在Rose中,模擬1號服務(wù)器宕機(jī),2號服務(wù)器通過Rose會直接take over相關(guān)應(yīng)用服務(wù)。同理,模擬2號服務(wù)器宕機(jī),1號服務(wù)器順利接管服務(wù)。
經(jīng)過之前硬件設(shè)備的搭建和安裝測試,我們順利完成了此次項(xiàng)目。
但是,這種方案也同樣存在著問題,雖然可以保障單臺服務(wù)器出現(xiàn)故障后,通過雙機(jī)軟件,系統(tǒng)自動跳轉(zhuǎn)到備用服務(wù)器上??墒?,一旦存儲設(shè)備出現(xiàn)故障,即使是存儲設(shè)備的單點(diǎn)故障,醫(yī)院業(yè)務(wù)的運(yùn)行還是會受到很大影響。因此,更為穩(wěn)妥的方案是采用全冗余方式,即為雙機(jī)雙存儲,兩臺存儲互為備份,這樣就可以保障醫(yī)院系統(tǒng)業(yè)務(wù)持續(xù)且穩(wěn)定的運(yùn)行。
(作者單位:江蘇民政康復(fù)醫(yī)院信息科)