雙機熱備、雙機互備與 雙機雙工的區別

 雙機熱備、雙機互備與 雙機雙工的區別

雙機熱備即是目前通常所說的active/standby方式,服務器數據包括數據庫數據同時往兩臺或多臺服務器寫,或者使用一個共享的存儲設備。當active服務器出現故障的時候,通過軟件診測(一般是通過心跳診斷)將standby機器激活,保證應用在短時間內完全恢復正常使用。
雙機互備,在雙機熱備的基礎上,兩個相對獨立的應用在兩臺機器同時運行,但彼此均設爲備機,當某一臺服務器出現故障時,另一臺服務器可以在短時間內將故障服務器的應用接管過來,從而保證了應用的持續性。這種方式實際上是雙機熱備的一種應用。它避免了兩個應用使用四臺服務器分別實現雙機熱備。
雙機雙工,兩臺或多臺服務器均爲活動,同時運行相同的應用,保證整體的性能,也實現了負載均衡和互爲備份。需要利用磁盤櫃存儲技術(最好採用san)。對於數據庫服務而言,它同時需要數據庫軟件的支持,是比較複雜的。而WEB服務器或應用服務器就比較簡單了。
 
雙機熱備這一概念包括了廣義與狹義兩種意義。 
        從廣義上講,就是對於重要的服務,使用兩臺服務器,互相備份,共同執行同一服務。當一臺服務器出現故障時,可以由另一臺服務器承擔服務任務,從而在不需要人工干預的情況下,自動保證系統能持續提供服務。
雙機熱備由備用的服務器解決了在主服務器故障時服務不中斷的問題。但在實際應用中,可能會出現多臺服務器的情況,即服務器集羣。
雙機熱備一般情況下需要有共享的存儲設備。但某些情況下也可以使用兩臺獨立的服務器。
實現雙機熱備,需要通過專業的集羣軟件或雙機軟件。
從狹義上講,雙機熱備特指基於active/standby方式的服務器熱備。服務器數據包括數據庫數據同時往兩臺或多臺服務器寫,或者使用一個共享的存儲設備。在同一時間內只有一臺服務器運行。當其中運行着的一臺服務器出現故障無法啓動時,另一臺備份服務器會通過軟件診測(一般是通過心跳診斷)將standby機器激活,保證應用在短時間內完全恢復正常使用。(相關文章:雙機熱備、雙機互備與雙機雙工的區別) 。
我們可以通過典型的雙機熱備軟件PCL HA來看一下雙機熱備的典型模式:
-Active/Active模式
-Active/Standby模式
而實際上,雙機熱備可能會擴展爲多機的集羣:多機集羣模式
雙機熱備一般都是用於有數據庫或其他數據的應用。而對於數據之前的應用服務器(或其他沒有寫數據操作的服務),則應該歸入負載均衡領域。
爲什麼要做雙機熱備?
雙機熱備針對的是服務器的故障。 
服務器的故障可能由各種原因引起,如設備故障、操作系統故障、軟件系統故障等等。一般地講,在技術人員在現場的情況下,恢復服務器正常可能需要10分鐘、幾小時甚至幾天。從實際經驗上看,除非是簡單地重啓服務器(可能隱患仍然存在),否則往往需要幾個小時以上。而如果技術人員不在現場,則恢復服務的時間就更長了。
而對於一些重要系統而言,用戶是很難忍受這樣長時間的服務中斷的。因此,就需要通過雙機熱備,來避免長時間的服務中斷,保證系統長期、可靠的服務。
決定是否使用雙機熱備,正確的方法是要分析一下系統的重要性以及對服務中斷的容忍程度,以此決定是否使用雙機熱備。即,你的用戶能容忍多長時間恢復服務,如果服務不能恢復會造成多大的影響。
在考慮雙機熱備時,需要注意,一般意義上的雙機熱備都會有一個切換過程,這個切換過程可能是一分鐘左右。在切換過程中,服務是有可能短時間中斷的。但是,當切換完成後,服務將正常恢復。因此,雙機熱備不是無縫、不中斷的,但它能夠保證在出現系統故障時,能夠很快恢復正常的服務,業務不致受到影響。而如果沒有雙機熱備,則一旦出現服務器故障,可能會出現幾個小時的服務中斷,對業務的影響就可能會很嚴重。
另有一點需要強調,即服務器的故障與交換機、存儲設備的故障不同,其概念要高得多。原因在於服務器是比交換機、存儲設備複雜得多的設備,同時也是既包括硬件、也包括操作系統、應用軟件系統的複雜系統。不僅設備故障可能引起服務中斷,而且軟件方面的問題也可能導致服務器不能正常工作。
還應指出的是,一些其他的防護措施如磁盤陣列(RAID)、數據備份雖然是非常重要的,但卻不能代替雙機熱備的作用。
雙機熱備:基於共享存儲與純軟件方式
數據庫雙機熱備有兩種典型的方式,一種是比較標準的,兩臺服務器通過一個共享的存儲設備(一般是共享的磁盤陣列或存儲區域網SAN),並且安裝雙機軟件,實現雙機熱備,稱爲共享方式。另一種方式是通過純軟件的方式,一般稱爲純軟件方式或鏡像方式(Mirror)。
對於共享方式,數據庫放在共享的存儲設備上。當一臺服務器提供服務時,直接在存儲設備上進行讀寫。而當系統切換後,另一臺服務器也同樣讀取該存儲設備上的數據。
對於純軟件的方式,通過鏡像軟件,將數據可以實時複製到另一臺服務器上,這樣同樣的數據就在兩臺服務器上各存在一份,如果一臺服務器出現故障,可以及時切換到另一臺服務器。 
純軟件方式可以在一定程度上降低成本,但它也有非常明顯的缺點:
1.可靠性相對較差,兩服務器間的數據實時複製是一個比較脆弱的環節。
2.一旦某臺服務器出現中斷,恢復後還要進行比較複雜的數據同步恢復。並且,這個時段系統處於無保護狀態。
3.沒有事務機制,由於其複製是在文件和磁盤層進行的,複製是否成功不會影響數據庫事務操作,因此有出現數據不完整變化的情況,這個存在着相當的風險。
因此,建議除非不得已,不要選擇純軟件方案。
但另一方面,有一種數據庫並行的解決方案,它不是在文件或磁盤層進行復制,而是直接對數據庫操作在前端進行路由分發,並行地以事務機制完成數據庫的更新,同時還可以提供數據庫的並行服務。這種方式目前針對SQL SERVER應用非常成功,明顯優於共享存儲+雙機軟件的方式
 
 
雙機熱備與數據備份的關係
一些用戶在規劃雙機熱備或雙機備份時,會有這樣的問題:我已經有了RAID,以及磁帶備份,還有必須做雙機嗎?或者,如果我做了雙機備份,還有必要做磁帶備份嗎?
應該說RAID和數據備份都是很重要的。但是,RAID技術只能解決硬盤的問題,備份只能解決系統出現問題後的恢復。而一旦服務器本身出現問題,不論是設備的硬件問題還是軟件系統的問題,都會造成服務的中斷。因此,RAID及數據備份技術不能解決避免服務中斷的問題。對於需要持續可靠地提供應用服務的系統,雙機還是非常重要的。只要想一想,如果你的服務器壞了,你要用多少時間將其恢復到能正常工作,你的用戶能容忍多長的恢復時間就能理解雙機的重要性了。
從另外一個方面,RAID以及磁帶備份也是非常需要的。對於RAID而言,可以以很低的成本大大提高系統的可靠性,而且其複雜程度遠遠低於雙機。因爲畢竟硬盤是系統中機械操作最頻繁、易損率最高的部件,如果採用RAID,就可以使出現故障的系統很容易修復,也減少服務器停機進行切換的次數。
數據備份更是必不可少的措施。因爲不論RAID還是雙機,都是一種實時的備份。任何軟件錯誤、病毒影響、誤操作等等,都會同步地在多份數據中發生影響。因此,一定要進行數據的備份(不論採取什麼介質,都建議用戶至少要有一份脫機的備份),以便能在數據損壞、丟失時進行恢復。
 
雙機熱備份VS單機容錯
目前主流應用的服務器容錯技術有三類,它們分別是:服務器羣集技術、雙機熱備份技術和單機容錯技術。它們各自所對應的容錯級別是從低到高的,也就是說服務器羣集技術容錯級別最低,而單機容錯技術級別最高。由此可知它們各自應用的行業容錯級別需求也是從低到高的。本文主要介紹後兩種容錯技術,先來看一下雙機熱備份容錯技術。
一、雙機熱備份技術
雙機熱備份技術是一種軟硬件結合的較高容錯應用方案。該方案是由兩臺服務器系統和一個外接共享磁盤陣列櫃(也可沒有,而是在各自的服務器中採取RAID卡)及相應的雙機熱備份軟件組成,如圖1所示。
 
 
圖1
在這個容錯方案中,操作系統和應用程序安裝在兩臺服務器的本地系統盤上,整個網絡系統的數據是通過磁盤陣列集中管理和數據備份的。數據集中管理是通過雙機熱備份系統,將所有站點的數據直接從中央存儲設備讀取和存儲,並由專業人員進行管理,極大地保護了數據的安全性和保密性。用戶的數據存放在外接共享磁盤陣列中,在一臺服務器出現故障時,備機主動替代主機工作,保證網絡服務不間斷。
雙機熱備份系統採用“心跳”方法保證主系統與備用系統的聯繫。所謂“心跳”,指的是主從系統之間相互按照一定的時間間隔發送通訊信號,表明各自系統當前的運行狀態。一旦“心跳”信號表明主機系統發生故障,或者備用系統無法收到主機系統的“心跳” 信號,則系統的高可用性管理軟件認爲主機系統發生故障,主機停止工作,並將系統資源轉移到備用系統上,備用系統將替代主機發揮作用,以保證網絡服務運行不間斷。
雙機熱備份方案中,根據兩臺服務器的工作方式可以有三種不同的工作模式,即:雙機熱備模式、雙機互備模式和雙機雙工模式。下面分別予以簡單介紹。
雙機熱備模式即目前通常所說的active/standby 方式,active服務器處於工作狀態;而standby 服務器處於監控準備狀態,服務器數據包括數據庫數據同時往兩臺或多臺服務器寫入(通常各服務器採用RAID磁盤陣列卡),保證數據的即時同步。當active服務器出現故障的時候,通過軟件診測或手工方式將standby機器激活,保證應用在短時間內完全恢復正常使用。典型應用在證券資金服務器或行情服務器。這是目前採用較多的一種模式,但由於另外一臺服務器長期處於後備的狀態,從計算資源方面考量,就存在一定的浪費。
雙機互備模式,是兩個相對獨立的應用在兩臺機器同時運行,但彼此均設爲備機,當某一臺服務器出現故障時,另一臺服務器可以在短時間內將故障服務器的應用接管過來,從而保證了應用的持續性,但對服務器的性能要求比較高。配置相對要好。
雙機雙工模式:是目前cluster(羣集)的一種形式,兩臺服務器均爲活動,同時運行相同的應用,保證整體的性能,也實現了負載均衡和互爲備份,需要利用磁盤櫃存儲技術(最好採用San方式)。WEB服務器或FTP服務器等用此種方式比較多。
二、單機容錯技術
從上面的分析我們知道,雙機熱備份技術所採用的是兩臺配置完全一樣的服務器系統,其實服務器羣集方案中的容錯技術也是一種多服務器容錯技術。而本節所要介紹的單機容錯技術則是在一臺服務器實現高性能容錯的,它的容錯能力要遠比服務器羣集和雙機熱備份中容錯能力要高,所以更加適合那些如證券、電信、金融、醫療等對容錯能力特別苛刻的行業。
以往的集羣系統在出現故障的情況下,需要中斷服務器的運行,然後用一定的時間切換至備用的服務器上面進行運行,才能進行維修和恢復,這其中所付出的成本和帶來的損失是用戶最不願意看到的。具有容錯技術的容錯服務器,最大的優勢就在於它能夠自動分離故障模塊,在不中斷運行的情況下,進行模塊調換,對損壞的部件進行維護,並且在一切物理故障消除後,系統會自動重新同步運行,從而有效的解決了客戶的後顧之憂。正因如此,具有容錯技術的容錯服務器,正在衝擊前幾年興起的雙機熱備份和集羣技術,越來越被人們所關注。同時,更爲難得的是它可以在採用符合工業標準部件的服務器中實現(IA架構服務器),極具競爭力的成本優勢,更使得容錯服務器令人刮目相看。
容錯服務器是通過CPU時鐘鎖頻,通過對系統中所有硬件的備份,包括CPU、內存和I/O總線等的冗餘備份;通過系統內所有冗餘部件的同步運行,實現真正意義上的容錯。系統任何部件的故障都不會造成系統停頓和數據丟失。目前很多容錯系統是基於IA架構的服務器,與 Windows 2000完全兼容,實現以前只有在RISC系統上才能實現的容錯。這種容錯技術在IA服務器上的實現,將IA服務器的可靠性提高到了99.999%,同時服務器的運行是不間斷的。
雙機熱備份和容錯服務器的定位稍微有些不同,這是由兩者實現的可用性差別決定的。雙機熱備份一般可以實現99.9%的可用性,容錯服務器卻可以實現99.999%的可用性。這樣,雙機熱備份大多應用在業務連續性不是很嚴格的行業,比如說公安系統、部隊系統或者個別的製造企業,這些行業的應用允許數據有一小段時間的中斷。而如電信、金融、證券和醫療等要求高的行業則是容錯服務器的天下。還要注意的一點是雙機熱備份與服務器羣集並不一樣,雙機熱備份通常要求兩對路服務器的配置完全一樣,而服務器羣集則沒有這方面的嚴格要求,這也是許多讀者容易混淆的。
另外,雙機熱備份方式由於需要至少2臺服務器,導致在軟件採購(操作系統、中間件、雙機備份軟件等)、軟件維護升級、系統硬件升級都需要比單機容錯方式多1倍的額外投入,而且在雙機備份軟件出現故障後,其維修的難度較高,對客戶會帶來較大困難。因此雖然單機容錯服務器的硬件成本高於雙機備份方式的硬件投入,而其總成本(TCO)卻遠遠低於雙機備份方式的成本。但是就其靈活配置方面,雙機熱備份方案更具優勢,許多熱備份方案都是由一些系統集成商組合不同廠家服務器產品進行的,可以滿足不同客戶需求。但總體來說,容錯服務器是未來發展的趨勢。
雙機熱備常識
什麼是雙機熱備?
所謂雙機熱備就是使用互爲備份的兩臺服務器共同執行同一服務,其中一臺主機爲工作機(Primary Server),另一臺主機爲備份機(Standby Server)。在系統正常情況下,工作機爲應用系統提供服務,備份機監視工作機的運行情況(工作機同時也在檢測備份機是否正常),當工作機出現異常,不能支持應用系統運營時,備份機主動接管工作機的工作,繼續支持關鍵應用服務,保證系統不間斷的運行。 
 
什麼情況下需要採用雙機熱備? 
用戶可以根據系統的重要性以及終端用戶對服務中斷的容忍程度決定是否使用雙機熱備。比如網絡中的用戶最多能容忍多長時間恢復服務?如果服務不能很快恢復會造成什麼樣的後果等。對於承擔企業關鍵業務應用的服務器需要極高的穩定性和可用性,需要7×24不間斷服務,推薦使用雙機熱備。 
我已經有了RAID,以及磁帶備份,還有必要做雙機嗎?或者,如果我做了雙機備份,還有必要做磁帶備份嗎? 
RAID和數據備份都是很重要的。但RAID技術只能解決硬盤的問題,備份只能解決系統出現問題後的恢復。而一旦服務器本身出現問題,不論是設備的硬件問題還是軟件系統的問題,都會造成服務的中斷。因此,RAID及數據備份技術不能避免服務中斷出現,對於需要持續可靠地提供應用服務的系統,雙機還是非常必要的。 
數據備份是保障數據安全性的必不可少的措施。因爲不論RAID還是雙機,都是一種實時的備份。任何軟件錯誤、病毒影響、誤操作等等,都會同步地在多份數據中發生影響。因此,對於關鍵業務即使採用了雙機方案也還是一定要進行數據的備份,以便能在數據損壞、丟失時進行恢復。 
如何選擇與實施雙機熱備的配置方案? 
1. 以應用爲主導,以高可用性爲宗旨,分析需求的必要性; 2. 選擇確定具體的設備、軟件的型號等。需要注意的是: 不同的軟件或是硬盤等存儲設備,他們之間存在兼容性的問題,因此在購買之前應諮詢專業人員,避免出現採購了雙機軟件後對相關的存儲設備存在不兼容等現象。3.在實施完成後,一定要進行測試,以確保工作正常,而且應注意在運行過程中定期的對系統是否能夠正常切換進行測試。
什麼是雙機熱備
    問:能解釋一下什麼是雙機熱備嗎?
答:所謂雙機熱備,就是將中心服務器安裝成互爲備份的兩臺服務器,並且在同一時間內只有一臺服務器運行。當其中運行着的一臺服務器出現故障無法啓動時,另一臺備份服務器會迅速的自動啓動並運行(一般爲2分鐘左右),從而保證整個網絡系統的正常運行!雙機熱備的工作機制實際上是爲整個網絡系統的中心服務器提供了一種故障自動恢復能力。
    問:什麼時候需要雙機熱備呢? 
    答:這個問題其實比較簡單,一般服務器要長年累月的工作,其備份工作就絕對少不了。所以,決定是否使用雙機熱備,筆者覺得應首先對系統的重要性,以及終端用戶對服務中斷的容忍程度進行考慮,然後再來決定是否使用雙機熱備。比如網絡中的用戶最多能容忍多長時間恢復服務?如果服務不能很快恢復會造成什麼樣的後果等等。
    問:已經採取了RAID技術和數據備份技術,還有必要做雙機熱備嗎?
    答:這其實沒有個明確的區分,RAID和數據備份都同等重要!數據備份只能解決系統出現問題後的恢復;而RAID技術,以筆者的使用經驗來看又只能解決硬盤的問題。我們知道,當服務器本身出現問題時,不論是設備的硬件問題還是軟件系統的問題,都會造成服務的中斷,而RAID及數據備份技術恰恰就不能解決避免服務中斷的問題。所以,對於高安全需求、持續可靠的提供應用服務的網絡系統來說,雙機熱備還是非常重要的。其實我們可以這樣想:如果你的服務器壞了,你要用多少時間將其恢復到能正常工作?這樣你就能理解雙機熱備的重要性了!
    問:雙機熱備方案與集羣的區別?
    答:從概念上來講,雙機熱備屬於集羣中的一種。集羣一般包括兩類:一類是純應用服務器的集羣,即各個應用服務器都訪問統一的數據庫服務器,但彼些並不需要文件共享存儲等,這種集羣是比較簡單的。另一類是數據庫服務器的雙機熱備,這種雙機熱備實現,一般是兩臺服務器同時使用共享的存儲設備,並且在普遍的情況下,均採取主、備的方式(也有高端的系統採用並行的方式,即兩臺服務器同時提供服務)。
    問:數據庫服務如何使用雙機熱備?
    答:通過軟件方式實現雙機熱備。即不採用共享的存儲設備,而是本機數據可以直接在多臺主機間流動。顯而易見,此種方式最大的優點就是節約了昂貴的存儲設備投資,而其缺點也不難發現:會產生數據的前後不一致、或者會影響數據庫讀取的速度。我們看看這樣一個例子:如果在服務中斷時切換到備份服務器,則可能有少量已經在主機完成的事務在備機上尚未實現。而與備份數據的恢復不同,備機啓動後,後面的操作已經進行,因此丟失的數據包要找回就相當難。故此種方式適用於對於丟失少量數據不是非常敏感的系統。
    在這兒提一下標準的解決方法,即基於共享存儲設備和雙機軟件實現雙機熱備。它可以在無人值守的情況下提供快速的切換,並且不會有數據丟失現象,而購買存儲設備等投資也會比較高。
    問:如何選擇與實施雙機熱備的配置方案?
    答:1. 以應用爲主導,進行認真的分析。以高可用性爲宗旨。
        2. 考慮是採用數據庫雙機熱備還是應用服務器集羣、還是軟件備份方式。
        3. 選擇確定具體的設備、軟件的型號等。筆者在這裏提醒大家,不同的軟件或是硬盤等存儲設備,他們之間存在兼容性的問題,因此在購買之前應諮詢專業人員,不要出現採購了雙機軟件對相關的存儲設備存在不兼容等現象。
        4. 在實施完成後,一定要進行測試,以確保工作正常,而且應注意在運行過程中定期的對系統是否能夠正常切換進行測試
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章