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