對(duì)于關(guān)鍵性的場(chǎng)合,需要有兩臺(tái)或兩臺(tái)以上的數(shù)據(jù)服務(wù)器完成相同的功能,共同執(zhí)行同一服務(wù),它們彼此互為備用,當(dāng)一臺(tái)服務(wù)器出現(xiàn)故障時(shí),可以由另一臺(tái)服務(wù)器接替工作,不需要人工介入情況下,自動(dòng)保證系統(tǒng)持續(xù)運(yùn)轉(zhuǎn)。雙機(jī)熱備解決了在主服務(wù)器故障時(shí)服務(wù)不中斷的問題。
1.雙機(jī)熱備應(yīng)用模式
在應(yīng)用雙機(jī)熱備時(shí),一般有以下幾種應(yīng)用模式:
雙工方式:即兩臺(tái)服務(wù)器同時(shí)運(yùn)行同樣的應(yīng)用,二者彼此獨(dú)立運(yùn)行。優(yōu)點(diǎn)是不存在切換時(shí)間問題,因?yàn)樗鼈兌荚趯?shí)時(shí)運(yùn)行。缺點(diǎn)是增加I/O設(shè)備通信開銷,并且要求I/O設(shè)備(如串行通信)有兩個(gè)通信口。再者難以保證計(jì)算與邏輯控制的統(tǒng)一,尤其不適用具有邏輯控制的服務(wù)器,也不符合“數(shù)出一源”的原則。
主從方式:它使用兩臺(tái)或兩臺(tái)以上服務(wù)器,一臺(tái)作為主機(jī),對(duì)外提供數(shù)據(jù)服務(wù)。其他作為從機(jī),運(yùn)行與主機(jī)完全一樣的應(yīng)用系統(tǒng),但處于待機(jī)狀態(tài)。當(dāng)主機(jī)出現(xiàn)故障時(shí),從機(jī)將接管控制,變?yōu)橹髡?,保證系統(tǒng)在短時(shí)間內(nèi)恢復(fù)使用。紫金橋實(shí)時(shí)數(shù)據(jù)庫支持主從方式熱備,也支持1:n熱備。從機(jī)不但監(jiān)視主機(jī)的運(yùn)行狀態(tài),同時(shí)又實(shí)時(shí)與主機(jī)進(jìn)行各種數(shù)據(jù)同步,包括實(shí)時(shí)數(shù)據(jù)同步、報(bào)警同步、操作事件同步、時(shí)鐘同步、歷史數(shù)據(jù)同步等。
雙機(jī)互備:兩臺(tái)機(jī)器分別運(yùn)行不同的應(yīng)用,但彼此均設(shè)為備用機(jī)。當(dāng)其中一臺(tái)機(jī)器出現(xiàn)故障時(shí),另一臺(tái)機(jī)器可以將故障機(jī)的應(yīng)用接管過來,同時(shí)運(yùn)行兩套應(yīng)用。該互備其實(shí)是主從方式的一種改進(jìn)。在主從方式下,從機(jī)處于備用狀態(tài),只有主機(jī)工作,而該方式下,兩臺(tái)機(jī)器都工作,這樣就提高了機(jī)器的利用率,有效的分解了系統(tǒng)負(fù)荷。該方式與雙工方式缺點(diǎn)相同,即要求I/O設(shè)備(如串行通信)有兩個(gè)通信口。另外一般只有為后臺(tái)程序的應(yīng)用才能采用該方式。
集群服務(wù)器:多臺(tái)機(jī)器組成的群組。集群軟件負(fù)責(zé)監(jiān)控機(jī)器的運(yùn)行狀態(tài),如可以監(jiān)視進(jìn)程的狀態(tài),機(jī)器的狀態(tài),據(jù)此判斷機(jī)器時(shí)候發(fā)生故障,在故障時(shí)將任務(wù)切換到指定的其他機(jī)器上。該方式支持1:n熱備。主要優(yōu)點(diǎn)是可以讓多臺(tái)機(jī)器具有相同的地址,可透明進(jìn)行服務(wù)器轉(zhuǎn)移而不為用戶所知,這對(duì)Web訪問提供更好的支持。缺點(diǎn)是成本高,對(duì)于系統(tǒng)的故障不易細(xì)化,因?yàn)樵谄渌麄溆脵C(jī)制中,系統(tǒng)故障可能包括I/O設(shè)備失去通信,應(yīng)用軟件自身檢測(cè)出的邏輯問題,而這些在集群軟件中需要另外編程設(shè)置。
2.?dāng)?shù)據(jù)同步
紫金橋軟件能夠支持以上四種方式的雙機(jī)熱備模式,而且支持多機(jī)冗余,即支持n:1備份。紫金橋軟件的主從站間能夠自動(dòng)完成各種數(shù)據(jù)同步,包括:
實(shí)時(shí)數(shù)據(jù)同步:您可以選擇讓主服務(wù)器中任何數(shù)據(jù)的變化都會(huì)通知到備用服務(wù)器,也可以選擇讓主服務(wù)器定周期的將變化數(shù)據(jù)發(fā)送給備用服務(wù)器。
歷史數(shù)據(jù)、報(bào)警記錄同步:備用機(jī)啟動(dòng)后將自動(dòng)與主服務(wù)進(jìn)行歷史數(shù)據(jù)、報(bào)警記錄同步,同步的天數(shù)可以任意制定,并且能夠自動(dòng)記錄同步過的文件,保證不會(huì)重復(fù)同步。
操作事件同步:備用機(jī)啟動(dòng)還會(huì)自動(dòng)與主服務(wù)進(jìn)行操作事件同步,操作事件包括用戶登陸、對(duì)數(shù)據(jù)的人工設(shè)置等。
時(shí)鐘同步:備用機(jī)自動(dòng)與主機(jī)周期進(jìn)行時(shí)鐘同步,以保證二者時(shí)間一致。
3.冗余的相關(guān)環(huán)節(jié)
I/O驅(qū)動(dòng)冗余:紫金橋I/O驅(qū)動(dòng)既支持雙通信口I/O設(shè)備,也支持主從I/O設(shè)備。如下圖所示:
支持雙網(wǎng)冗余
在紫金橋數(shù)據(jù)源中可以輸入備用網(wǎng)卡地址,一旦主地址無法連通,將自動(dòng)切換到備用網(wǎng)卡地址。客戶端可以通過主機(jī)、從機(jī)地址與主從服務(wù)器通信,也可以在網(wǎng)絡(luò)出現(xiàn)故障時(shí)通過主機(jī)、從機(jī)的備用網(wǎng)卡地址與其通信。
雙機(jī)熱備下的數(shù)據(jù)恢復(fù)
雙機(jī)熱備下,只有活動(dòng)服務(wù)器與前置機(jī)(專門負(fù)責(zé)數(shù)據(jù)采集)進(jìn)行通信,前置機(jī)如果不能識(shí)別服務(wù)器間的主從關(guān)系,會(huì)認(rèn)為備用服務(wù)器與其失去連接而為其保存恢復(fù)數(shù)據(jù)。主、從服務(wù)器在與前置機(jī)通信時(shí)會(huì)向前置機(jī)報(bào)告自己的身份,因此前置機(jī)在主服務(wù)器活動(dòng)期間不會(huì)為從服務(wù)器保存恢復(fù)數(shù)據(jù)(降低了前置機(jī)不必要的開銷)。如果服務(wù)器與前置機(jī)間出現(xiàn)間斷,前置機(jī)能夠自動(dòng)判斷主、備機(jī)的狀態(tài),并為最后活動(dòng)的服務(wù)器保存恢復(fù)數(shù)據(jù)。
從機(jī)客戶端:一般的,雙機(jī)熱備情況下從機(jī)處于熱備狀態(tài),只能進(jìn)行數(shù)據(jù)瀏覽,而不能進(jìn)行數(shù)據(jù)下置操作,但是紫金橋的從機(jī)客戶端會(huì)自動(dòng)與主服務(wù)器中的數(shù)據(jù)庫通信,而在本機(jī)成為主機(jī)時(shí)自動(dòng)切換到與本機(jī)數(shù)據(jù)庫通信,因此,從機(jī)客戶端與其他客戶端一樣能夠?qū)?shù)據(jù)進(jìn)行操作。
IE客戶端熱備
IE客戶端與普通客戶端一樣,在與主服務(wù)器通信故障時(shí)自動(dòng)切換到與備用服務(wù)器通信。并且在主網(wǎng)故障時(shí)自動(dòng)切換到備用網(wǎng)址。群集服務(wù)器特別適合于IE客戶端,因?yàn)槎鄠€(gè)群集服務(wù)器可以配置成具有相同的IP地址,這樣我們無論何時(shí)都可以使用同樣的URL訪問服務(wù)器。
4.什么時(shí)候應(yīng)該使用雙機(jī)熱備
是否使用雙機(jī)熱備,決定于系統(tǒng)的重要性以及中斷對(duì)系統(tǒng)的影響。采用雙機(jī)熱備可以在短時(shí)間內(nèi)(如1~30秒內(nèi))恢復(fù)系統(tǒng)運(yùn)行。而手工恢復(fù)故障通常需要三十分鐘左右,如果技術(shù)人員不在現(xiàn)場(chǎng)故障恢復(fù)時(shí)間要更長(zhǎng),這還要根據(jù)故障的類型而定(故障來源是多種多樣的,如服務(wù)器硬件故障,IO設(shè)備故障、操作系統(tǒng)故障、軟件故障,通信線路故障等)。而對(duì)于一些重要系統(tǒng)來說,是很難忍受長(zhǎng)時(shí)間的服務(wù)中斷的。因此就需要通過雙機(jī)熱備來避免長(zhǎng)時(shí)間中斷問題,以保證系統(tǒng)長(zhǎng)期、可靠的運(yùn)行。