雙機熱備

雙機熱備

雙機熱備是應用於伺服器的一種解決方案,其構造思想是主機和從機通過TCP/IP網路連接,正常情況下主機處於工作狀態,從機處於監視狀態,一旦從機發現主機異常,從機將會在很短的時間之內代替主機,完全實現主機的功能。

定義


雙機熱備這一概念包括廣義、狹義兩種意義。
從廣義上講,就是對於重要的服務,使用兩台伺服器,互相備份,共同執行同一服務。當一台伺服器出現故障時,由另一台伺服器承擔服務任務,從而在不需要人工干預的情況下,自動保證系統能持續提供服務。雙機熱備由備用的伺服器解決了在主伺服器故障時服務不中斷的問題。
從狹義上講,雙機熱備特指基於active/standby方式的伺服器熱備。伺服器數據包括資料庫數據同時往兩台或多台伺服器執行寫操作,或者使用一個共享的存儲設備。在同一時間內只有一台伺服器運行。當其中運行著的一台伺服器出現故障無法啟動時,另一台備份伺服器會通過軟體診測(一般是通過心跳診斷)將standby機器激活,保證應用在短時間內完全恢復正常使用。

原理


雙機熱備主要是實時數據、報警信息和變數歷史記錄的熱備。主從機都正常工作時,主機從設備採集數據,併產生報警和事件信息。從機通過網路從主機獲取實時數據和報警信息,而不會從設備讀取或自己產生報警信息,主從機都各自記錄變數歷史數據。同時,從機通過網路監聽主機,從機與主機之間的監聽採取請求與應答的方式,從機以一定的時間間隔(冗餘機心跳檢測時間)向主機發出請求,主機應答表示工作正常,主機如果沒有作出應答,從機將切斷與主機的網路數據傳輸,轉入活動狀態,改由下位設備獲取數據,併產生報警和事件信息。此後,從機還會定時監聽主機狀態,一旦主機恢復,就切換到熱備狀態,通過這種方式實現了熱備。
當主機正常運行,從機后啟動時,主機先將實時數據和當前報警緩衝區中的報警和事件信息發送到從機上,完成實時數據的熱備份。然後主從機同步,暫停變數歷史數據記錄,從機從主機上將所缺的歷史記錄文件通過網路拷貝到本地,完成歷史數據的熱備份。這時可以在主從機組態王信息窗中看到提示信息“開始備份歷史數據”和“停止備份歷史數據”。
歷史數據文件備份完成後,主從機轉入正常工作狀態。
當從機正常運行、主機后啟動時,從機先將實時數據和當前報警緩衝區中的報警和事件信息發送到主機上,完成實時數據的熱備份。然後主從機同步,暫停變數歷史數據記錄,主機從從機上將所缺的歷史記錄文件通過網路拷貝到本地,完成歷史數據的熱備份。這時也可以在主從機的組態王信息窗中看到提示信息“開始備份歷史數據”和“停止備份歷史數據”。歷史數據文件備份完成後,主從機轉入正常工作狀態。

功能


雙機熱備針對的是伺服器的故障。
伺服器的故障可能由各種原因引起,如設備故障、操作系統故障、軟體系統故障,等等。
一般地講,在技術人員在現場的情況下,恢復伺服器正常可能需要10分鐘、幾小時甚至幾天。從實際經驗上看,除非是簡單地重啟伺服器(可能隱患仍然存在),否則往往需要幾個小時以上。而如果技術人員不在現場,則恢復服務的時間就更長了。
而對於一些重要系統而言,用戶是很難忍受這樣長時間的服務中斷的。因此,就需要通過雙機熱備,來避免長時間的服務中斷,保證系統長期、可靠的服務。
決定是否使用雙機熱備,正確的方法是分析一下系統的重要性以及對服務中斷的容忍程度,以此決定是否使用雙機熱備。即,你的用戶能容忍多長時間恢復服務,如果服務不能恢復會造成多大的影響。
在考慮雙機熱備時,需要注意,一般意義上的雙機熱備都會有一個切換過程,這個切換過程可能是一分鐘左右。在切換過程中,服務是有可能短時間中斷的。但是,當切換完成後,服務將正常恢復。因此,雙機熱備不是無縫、不中斷的,但它能夠保證在出現系統故障時,能夠很快恢復正常的服務,業務不致受到影響。而如果沒有雙機熱備,則一旦出現伺服器故障,可能會出現幾個小時的服務中斷,對業務的影響會很嚴重。
另有一點需要強調,即伺服器的故障與交換機、存儲設備的故障不同,其概率要高得多。原因在於伺服器是比交換機、存儲設備複雜得多的設備,同時也是既包括硬體、也包括操作系統、應用軟體系統的複雜系統。不僅設備故障可能引起服務中斷,而且軟體方面的問題也可能導致伺服器不能正常工作。
還應指出的是,一些其他的防護措施如磁碟陣列(RAID)、數據備份雖然是非常重要的,但卻不能代替雙機熱備的作用。

實現方式


雙機熱備有兩種實現方式。一種是共享方式,即兩台伺服器連接一個共享使用的存儲設備或存儲網路,通過安裝雙機軟體實現雙機熱備。另一種是純軟體方式或軟體同步數據方式,即兩台伺服器所需要的應用數據放在各自的伺服器中,不使用共同的存儲設備。
基於存儲共享的實現方式是雙機熱備的最標準的方案,在主從模式工作中,兩台伺服器從應用服務的角度而言是一台伺服器,以同樣的方式和介面對外提供服務,服務請求則是由主伺服器處理。同時,從伺服器通過一定的失效檢測技術檢測主伺服器的工作狀況。一旦主伺服器出現故障,從伺服器在較短的時間內進行切換,接管主伺服器上的所有資源,成為新的主伺服器,切換可以人工切換也可自動切換。由於使用共享的存儲設備,因此兩台伺服器使用的實際上是一樣的數據,由雙機軟體對其進行管理。