首頁>>廠商>>系統(tǒng)集成及應(yīng)用軟件開發(fā)商>>訊泰信息技術(shù)

一個(gè)簡(jiǎn)單有效的高可用性解決方案

潘雪芬 2001/08/27

摘要:高可用性的實(shí)現(xiàn)需要在硬件、系統(tǒng)軟件、中間件、應(yīng)用軟件上的整體考慮,以保證系統(tǒng)在任意環(huán)節(jié)失效的情況下,都能進(jìn)行及時(shí)恢復(fù),要求系統(tǒng)恢復(fù)時(shí)間極短,并且在系統(tǒng)恢復(fù)后保證數(shù)據(jù)的一致性。本文針對(duì)高可用性提出了一個(gè)完整的解決方案,該方案以訊泰信息技術(shù)有限公司的ezConnect™ (呼叫中心軟件)為例,提出了一個(gè)能成功解決隨機(jī)發(fā)生的單點(diǎn)失效情況下系統(tǒng)的高可用性方案。

關(guān)鍵詞:高可用性、卷管理、冗余、High Availability、ezConnect™

1.前言

隨著軟件業(yè)的高速發(fā)展,高可用性越來越受到人們的重視。軟件的高可用性是指軟件的不間斷運(yùn)行能力,高可用性可能意味著每周7天、每天24小時(shí)的持續(xù)操作。這一方面要求軟件所依賴的設(shè)備本身具有高可靠性,另一方面可以從軟件的設(shè)計(jì)入手,實(shí)現(xiàn)一個(gè)高可用性的軟件產(chǎn)品。本文將簡(jiǎn)要介紹高可用性技術(shù),以及提供一個(gè)實(shí)現(xiàn)高可用性的解決方案。

2.高可用性技術(shù)

高可用性是指可持續(xù)的、具有一致性和完整性的數(shù)據(jù)訪問。下面簡(jiǎn)單列舉高可用性的幾個(gè)方面。

卷管理對(duì)數(shù)據(jù)完整性起很重要的作用,它是操作系統(tǒng)的一部分。為了容錯(cuò)和性能的需要,卷管理系統(tǒng)把物理的磁盤系統(tǒng)劃分為邏輯上的卷。從某種角度上說,它等同于物理上的磁盤。卷管理系統(tǒng)利用磁盤陣列來提供冗余或者增加帶寬。卷管理能夠在磁盤失效的時(shí)候保證數(shù)據(jù)的可用性。

當(dāng)運(yùn)行中的系統(tǒng)突然崩潰時(shí),磁盤數(shù)據(jù)的狀態(tài)是不確定的,文件有可能被改變或被刪除。一些商家采用“寫前記錄”的方式來保持?jǐn)?shù)據(jù)的一致性。這是一種元記錄,元記錄采用的數(shù)據(jù)結(jié)構(gòu)是環(huán)形隊(duì)列,這樣可以自動(dòng)清除,免去占用空間過大的危險(xiǎn)。在每次數(shù)據(jù)改變前,該操作會(huì)被系統(tǒng)作為元操作記錄到一個(gè)單獨(dú)的卷中。恢復(fù)記錄時(shí),文件系統(tǒng)只需要檢查所有被記錄的元操作的一致性即可。這樣比檢查完整的文件系統(tǒng)的一致性要快很多。

在系統(tǒng)崩潰時(shí),備份的數(shù)據(jù)就顯得十分重要了。在線的數(shù)據(jù)備份成為備份技術(shù)的一項(xiàng)基本要求,通常會(huì)采用第一次全備份后定期做增量備份的方法。[1]

高可用性系統(tǒng)通過提高服務(wù)器可靠性、磁盤可靠性、網(wǎng)絡(luò)可靠性、應(yīng)用程序可靠性來達(dá)到高可用性的要求。具體實(shí)現(xiàn)可使用共享磁盤陣列來提高磁盤可靠性,使用冗余的網(wǎng)絡(luò)來提高網(wǎng)絡(luò)可靠性,使用合作的服務(wù)器來提高服務(wù)器的可靠性,通過應(yīng)用程序的探測(cè)與有效恢復(fù)來提高應(yīng)用程序的可靠性。[2]

以上提高高可用性的方法,實(shí)施起來都比較復(fù)雜,因此我們提出了一個(gè)比較簡(jiǎn)單的方案。采用一個(gè)監(jiān)控程序(HA Service)來實(shí)現(xiàn)高可用性。

3.高可用性(High Availability, 以下簡(jiǎn)稱HA)在ezConnect™中的實(shí)現(xiàn)

ezConnect™ 產(chǎn)品中的各個(gè)部件,采用分布式設(shè)計(jì),即各個(gè)服務(wù)(Service)都是單獨(dú)啟動(dòng)單獨(dú)運(yùn)行的,但是它們之間都有很密切的相互依賴關(guān)系,而且它們也在不斷的通信。這樣很有可能因?yàn)槟硞(gè)部件出現(xiàn)了一個(gè)很小的錯(cuò)誤,至使整個(gè)系統(tǒng)癱瘓,而那個(gè)錯(cuò)誤很有可能在系統(tǒng)重新啟動(dòng)后又恢復(fù)正常。

所以我們引入了HA Service,它是一個(gè)Daemon(守護(hù))進(jìn)程。在HA Service的啟動(dòng)過程中會(huì)順序?qū)⑾到y(tǒng)中的各個(gè)部件啟動(dòng)起來。它會(huì)實(shí)時(shí)監(jiān)控各部件的運(yùn)行情況,定時(shí)向?qū)Ψ桨l(fā)送狀態(tài)信息,并采用心搏(Heart Beat)方式監(jiān)測(cè)狀態(tài)。通過指定的時(shí)間間隙向?qū)Ψ桨l(fā)送信號(hào),對(duì)方收到每個(gè)信號(hào)后都會(huì)發(fā)送確定信息。當(dāng)HA Server收不到周期性的確認(rèn)信息時(shí),將進(jìn)行一系列的探測(cè)措施以確定對(duì)方是否失效。

如果在運(yùn)行的過程中有一個(gè)部件出現(xiàn)了錯(cuò)誤,HA Service會(huì)及時(shí)報(bào)告錯(cuò)誤原因和解決辦法。如果這個(gè)部件的運(yùn)行狀態(tài)影響著其他部件的運(yùn)行,那么整個(gè)系統(tǒng)會(huì)重新啟動(dòng),若重啟若干次還沒有成功,HA Service將使系統(tǒng)不再運(yùn)行,等待系統(tǒng)管理員退出整個(gè)系統(tǒng)。HA Service在運(yùn)行的過程中,會(huì)隨時(shí)記錄系統(tǒng)的運(yùn)行信息,這樣如果系統(tǒng)突然癱瘓,系統(tǒng)管理員就可以根據(jù)日志文件查看系統(tǒng)癱瘓的原因?膳湫砸彩荋A Service的一大優(yōu)點(diǎn),大部分?jǐn)?shù)據(jù)都可以在HA Service的配置文件中配置,這樣大大提高了HA Service的可重用性。也就是說HA Service這個(gè)部件在應(yīng)用于其他的相似軟件中時(shí),只需要改動(dòng)相應(yīng)的配置文件就可以了。

可以看得出HA Service在系統(tǒng)中占有重要的地位,所以要想保證整個(gè)系統(tǒng)的高可用性,就首先要保證HA Service的穩(wěn)定性,在HA Service的實(shí)現(xiàn)過程中,做到盡可能的簡(jiǎn)單,而且使其不依賴其他任何部件。作為一個(gè)獨(dú)立的部件運(yùn)行,穩(wěn)定性會(huì)提高很多。

4.結(jié)論

本文介紹了一個(gè)提高系統(tǒng)高可用性的解決方案,即HA監(jiān)控軟件。它監(jiān)控系統(tǒng)主要組件的工作狀況,并對(duì)各種失效進(jìn)行探測(cè)和有效的恢復(fù)。提供了對(duì)應(yīng)用程序、資源和整個(gè)節(jié)點(diǎn)的持續(xù)監(jiān)控和故障監(jiān)測(cè)能力。

參考文獻(xiàn)

[1] 秦鋼, 為數(shù)據(jù)“投保”—談數(shù)據(jù)高可用性技術(shù), 微電腦世界, 2001 01

[2] 劉心松, 高可用性系統(tǒng)結(jié)構(gòu)的研究, 計(jì)算機(jī)應(yīng)用, 1997 07



相關(guān)鏈接:
ExtraFax--電子傳真在線試用 2002-10-11
IPM--企業(yè)級(jí)網(wǎng)絡(luò)項(xiàng)目管理系統(tǒng) 2002-07-02
SYSTEK網(wǎng)絡(luò)傳真解決方案 2002-05-16
致訊泰信息技術(shù)有限公司軟件產(chǎn)品代理商 2002-01-09
訊泰公司與北京佳訊天則公司建立合作伙伴關(guān)系 2001-12-26