複製鏈接
請複製以下鏈接發送給好友

雙機熱備系統

鎖定
雙機熱備系統是集羣的最小組成單位,就是將中心服務器安裝成互為備份的兩台服務器,並且在同一時間內只有一台服務器運行。當其中運行着的一台服務器出現故障無法啓動時,另一台備份服務器會迅速的自動啓動並運行(一般為數分鐘左右),從而保證整個網絡系統的正常運行!雙機熱備工作機制實際上是為整個網絡系統的中心服務器提供了一種故障自動恢復能力 [1] 
中文名
雙機熱備系統
基 於
高可用系統中的兩台服務器的熱備
複製方式
保證主備服務器的數據一致性
方 式
共享存儲(磁盤陣列)的方式

雙機熱備系統雙機熱備概念

雙機熱備定義
雙機熱備包括廣義與狹義兩種。 [2] 
從廣義上講,就是對於重要的服務,使用兩台服務器,互相備份,共同執行同一服務。當一台服務器出現故障時,可以由另一台服務器承擔服務任務,從而在不需要人工干預的情況下,自動保證系統能持續提供服務。
從狹義上講,雙機熱備特指基於active/standby方式的服務器熱備。服務器數據包括數據庫數據同時往兩台或多台服務器寫,或者使用一個共享的存儲設備。在同一時間內只有一台服務器運行。當其中運行着的一台服務器出現故障無法啓動時,另一台備份服務器會通過軟件診測(一般是通過心跳診斷)將standby機器激活,保證應用在短時間內完全恢復正常使用。
雙機熱備針對的是服務器的故障。服務器的故障可能由各種原因引起,如設備故障、操作系統故障、軟件系統故障等等。一般地講,在技術人員在現場的情況下,恢復服務器正常可能需要10分鐘、幾小時甚至幾天。從實際經驗上看,除非是簡單地重啓服務器(可能隱患仍然存在),否則往往需要幾個小時以上。而如果技術人員不在現場,則恢復服務的時間就更長了。
而對於一些重要系統而言,用户是很難忍受這樣長時間的服務中斷的。因此,就需要通過雙機熱備,來避免長時間的服務中斷,保證系統長期、可靠的服務。
決定是否使用雙機熱備,正確的方法是要分析一下系統的重要性以及對服務中斷的容忍程度,以此決定是否使用雙機熱備。即,你的用户能容忍多長時間恢復服務,如果服務不能恢復會造成多大的影響。
我們可以通過典型的雙機熱備軟件PCL HA來看一下雙機熱備的典型模式:
-Active/Active模式
-Active/Standby模式
而實際上,雙機熱備可能會擴展為多機的集羣:多機集羣模式
雙機熱備一般都是用於有數據庫或其他數據的應用。而對於數據之前的應用服務器(或其他沒有寫數據操作的服務),則應該歸入負載均衡領域。
基於共享存儲與純軟件方式
雙機熱備有兩種實現模式,一種是基於共享的存儲設備的方式,另一種是沒有共享的存儲設備的方式,一般稱為純軟件方式。
基於存儲共享的雙機熱備是雙機熱備的最標準方案。
對於這種方式,採用兩台服務器,使用共享的存儲設備(磁盤陣列櫃存儲區域網SAN)。兩台服務器可以採用互備、主從、並行等不同的方式。在工作過程中,兩台服務器將以一個虛擬的IP地址對外提供服務,依工作方式的不同,將服務請求發送給其中一台服務器承擔。同時,服務器通過心跳線(往往採用建立私有網絡的方式)偵測另一台服務器的工作狀況。當一台服務器出現故障時,另一台服務器根據心跳偵測的情況做出判斷,並進行切換,接管服務。對於用户而言,這一過程是全自動的,在很短時間內完成,從而對業務不會造成影響。由於使用共享的存儲設備,因此兩台服務器使用的實際上是一樣的數據,由雙機或集羣軟件對其進行管理。
對於純軟件的方式,則是通過支持鏡像的雙機軟件,將數據可以實時複製到另一台服務器上,這樣同樣的數據就在兩台服務器上各存在一份,如果一台服務器出現故障,可以及時切換到另一台服務器。
純軟件方式還有另外一種情況,即服務器只是提供應用服務,而並不保存數據(比如只進行某些計算,做為應用服務器使用)。這種情況下同樣也不需要使用共享的存儲設備,這種情況應該納入負載均衡領域,
【純軟件方式的雙機熱備方案深入分析】
數據庫雙機熱備有兩種典型的方式,一種是比較標準的,兩台服務器通過一個共享的存儲設備(一般是共享的磁盤陣列存儲區域網SAN),並且安裝雙機軟件,實現雙機熱備,稱為共享方式。另一種方式是通過純軟件的方式,一般稱為純軟件方式或鏡像方式(Mirror)。
對於共享方式,數據庫放在共享的存儲設備上。當一台服務器提供服務時,直接在存儲設備上進行讀寫。而當系統切換後,另一台服務器也同樣讀取該存儲設備上的數據。
純軟件方式可以在一定程度上降低成本,但它也有非常明顯的缺點:
1.可靠性相對較差,兩服務器間的數據實時複製是一個比較脆弱的環節。
2.一旦某台服務器出現中斷,恢復後還要進行比較複雜的數據同步恢復。並且,這個時段系統處於無保護狀態。
3.沒有事務機制,由於其複製是在文件和磁盤層進行的,複製是否成功不會影響數據庫事務操作,因此有出現數據不完整變化的情況,這個存在着相當的風險。
因此,建議除非不得已,不要選擇純軟件方案。
但另一方面,有一種數據庫並行的解決方案,它不是在文件或磁盤層進行復制,而是直接對數據庫操作在前端進行路由分發,並行地以事務機制完成數據庫的更新,同時還可以提供數據庫的並行服務。這種方式針對SQL SERVER應用非常成功,明顯優於共享存儲+雙機軟件的方式。
【雙機熱備、雙機互備與雙機雙工的區別】
雙機熱備即是通常所説的active/standby方式,當active服務器出現故障的時候,通過軟件診測(一般是通過心跳診斷)將standby機器激活,保證應用在短時間內完全恢復正常使用。
雙機互備,在雙機熱備的基礎上,兩個相對獨立的應用在兩台機器同時運行,但彼此均設為備機,當某一台服務器出現故障時,另一台服務器可以在短時間內將故障服務器的應用接管過來,從而保證了應用的持續性。這種方式實際上是雙機熱備的一種應用。它避免了兩個應用使用四台服務器分別實現雙機熱備。
雙機雙工,兩台或多台服務器均為活動,同時運行相同的應用,保證整體的性能,也實現了負載均衡和互為備份。需要利用磁盤櫃存儲技術(最好採用san)。對於數據庫服務而言,它同時需要數據庫軟件的支持,是比較複雜的。而WEB服務器或應用服務器就比較簡單了。

雙機熱備系統相關問題

一些用户在規劃雙機熱備或雙機備份時,會有這樣的問題:我已經有了RAID,以及磁帶備份,還有必要做雙機嗎?或者,如果我做了雙機備份,還有必要做磁帶備份嗎?
應該説RAID和數據備份都是很重要的。但是,RAID技術只能解決硬盤的問題,備份只能解決系統出現問題後的恢復。而一旦服務器本身出現問題,不論是設備的硬件問題還是軟件系統的問題,都會造成服務的中斷。因此,RAID及數據備份技術不能解決避免服務中斷的問題。對於需要持續可靠地提供應用服務的系統,雙機還是非常重要的。只要想一想,如果你的服務器壞了,你要用多少時間將其恢復到能正常工作,你的用户能容忍多長的恢復時間就能理解雙機的重要性了。
從另外一個方面,RAID以及磁帶備份也是非常需要的。對於RAID而言,可以以很低的成本大大提高系統的可靠性,而且其複雜程度遠遠低於雙機。因為畢竟硬盤是系統中機械操作最頻繁、易損率最高的部件,如果採用RAID,就可以使出現故障的系統很容易修復,也減少服務器停機進行切換的次數。
數據備份更是必不可少的措施。因為不論RAID還是雙機,都是一種實時的備份。任何軟件錯誤、病毒影響、誤操作等等,都會同步地在多份數據中發生影響。因此,一定要進行數據的備份(不論採取什麼介質,都建議用户至少要有一份脱機的備份),以便能在數據損壞、丟失時進行恢復。

雙機熱備系統容錯技術

主流應用的服務器容錯技術有三類,它們分別是:服務器羣集技術、雙機熱備份技術和單機容錯技術。它們各自所對應的容錯級別是從低到高的,也就是説服務器羣集技術容錯級別最低,而單機容錯技術級別最高。由此可知它們各自應用的行業容錯級別需求也是從低到高的。本文主要介紹後兩種容錯技術,先來看一下雙機熱備份容錯技術。
一、雙機熱備份技術
雙機熱備份技術是一種軟硬件結合的較高容錯應用方案。該方案是由兩台服務器系統和一個外接共享磁盤陣列櫃(也可沒有,而是在各自的服務器中採取RAID卡)及相應的雙機熱備份軟件組成。
在這個容錯方案中,操作系統和應用程序安裝在兩台服務器的本地系統盤上,整個網絡系統的數據是通過磁盤陣列集中管理和數據備份的。數據集中管理是通過雙機熱備份系統,將所有站點的數據直接從中央存儲設備讀取和存儲,並由專業人員進行管理,極大地保護了數據的安全性和保密性。用户的數據存放在外接共享磁盤陣列中,在一台服務器出現故障時,備機主動替代主機工作,保證網絡服務不間斷。
雙機熱備份系統採用“心跳”方法保證主系統與備用系統的聯繫。所謂“心跳”,指的是主從系統之間相互按照一定的時間間隔發送通訊信號,表明各自系統當前的運行狀態。一旦“心跳”信號表明主機系統發生故障,或者備用系統無法收到主機系統的“心跳” 信號,則系統的高可用性管理軟件認為主機系統發生故障,主機停止工作,並將系統資源轉移到備用系統上,備用系統將替代主機發揮作用,以保證網絡服務運行不間斷。
雙機熱備份方案中,根據兩台服務器的工作方式可以有三種不同的工作模式,即:雙機熱備模式、雙機互備模式和雙機雙工模式。下面分別予以簡單介紹。
雙機熱備模式即通常所説的active/standby 方式,active服務器處於工作狀態;而standby 服務器處於監控準備狀態,服務器數據包括數據庫數據同時往兩台或多台服務器寫入(通常各服務器採用RAID磁盤陣列卡),保證數據的即時同步。當 active服務器出現故障的時候,通過軟件診測或手工方式將standby機器激活,保證應用在短時間內完全恢復正常使用。典型應用在證券資金服務器或行情服務器,這是採用較多的一種模式,但由於另外一台服務器長期處於後備的狀態,從計算資源方面考量,就存在一定的浪費。
二、單機容錯技術
從上面的分析我們知道,雙機熱備份技術所採用的是兩台配置完全一樣的服務器系統,其實服務器羣集方案中的容錯技術也是一種多服務器容錯技術。而本節所要介紹的單機容錯技術則是在一台服務器實現高性能容錯的,它的容錯能力要遠比服務器羣集和雙機熱備份中容錯能力要高,所以更加適合那些如證券、電信、金融、醫療等對容錯能力特別苛刻的行業。
以往的集羣系統在出現故障的情況下,需要中斷服務器的運行,然後用一定的時間切換至備用的服務器上面進行運行,才能進行維修和恢復,這其中所付出的成本和帶來的損失是用户最不願意看到的。具有容錯技術的容錯服務器,最大的優勢就在於它能夠自動分離故障模塊,在不中斷運行的情況下,進行模塊調換,對損壞的部件進行維護,並且在一切物理故障消除後,系統會自動重新同步運行,從而有效的解決了客户的後顧之憂。正因如此,具有容錯技術的容錯服務器,正在衝擊前幾年興起的雙機熱備份和集羣技術,越來越被人們所關注。同時,更為難得的是它可以在採用符合工業標準部件的服務器中實現(IA架構服務器),極具競爭力的成本優勢,更使得容錯服務器令人刮目相看。
容錯服務器是通過CPU時鐘鎖頻,通過對系統中所有硬件的備份,包括CPU、內存和I/O總線等的冗餘備份;通過系統內所有冗餘部件的同步運行,實現真正意義上的容錯。系統任何部件的故障都不會造成系統停頓和數據丟失。很多容錯系統是基於IA架構的服務器,與 Windows 2000完全兼容,實現以前只有在RISC系統上才能實現的容錯。這種容錯技術IA服務器上的實現,將IA服務器的可靠性提高到了99.999%,同時服務器的運行是不間斷的。
雙機熱備份和容錯服務器的定位稍微有些不同,這是由兩者實現的可用性差別決定的。雙機熱備份一般可以實現99.9%的可用性,容錯服務器卻可以實現 99.999%的可用性。這樣,雙機熱備份大多應用在業務連續性不是很嚴格的行業,比如説公安系統、部隊系統或者個別的製造企業,這些行業的應用允許數據有一小段時間的中斷。而如電信、金融、證券和醫療等要求高的行業則是容錯服務器的天下。還要注意的一點是雙機熱備份與服務器羣集並不一樣,雙機熱備份通常要求兩對路服務器的配置完全一樣,而服務器羣集則沒有這方面的嚴格要求,這也是許多讀者容易混淆的。
另外,雙機熱備份方式由於需要至少2台服務器,導致在軟件採購(操作系統、中間件雙機備份軟件等)、軟件維護升級、系統硬件升級都需要比單機容錯方式多1倍的額外投入,而且在雙機備份軟件出現故障後,其維修的難度較高,對客户會帶來較大困難。因此雖然單機容錯服務器的硬件成本高於雙機備份方式的硬件投入,而其總成本(TCO)卻遠遠低於雙機備份方式的成本。但是就其靈活配置方面,雙機熱備份方案更具優勢,許多熱備份方案都是由一些系統集成商組合不同廠家服務器產品進行的,可以滿足不同客户需求。但總體來説,容錯服務器是未來發展的趨勢。
參考資料