返回
雙機熱備、雙機互備與 雙機雙工的區別
2023-03-30
雙機熱備即是目前通常所說的active/standby方式,服務器數據包括數據庫數據同時往兩臺或多臺服務器寫,或者使用一個共享的存儲設備。當 active服務器出現故障的時候,通過軟件診測(一般是通過心跳診斷)將standby機器激活,保證應用在短時間內完全恢復正常使用。
雙機互備,在雙機熱備的基礎上,兩個相對獨立的應用在兩臺機器同時運行,但彼此均設為備機,當某一臺服務器出現故障時,另一臺服務器可以在短時間內將故障服務器的應用接管過來,從而保證了應用的持續性。這種方式實際上是雙機熱備的一種應用。它避免了兩個應用使用四臺服務器分別實現雙機熱備。
雙機雙工,兩臺或多臺服務器均為活動,同時運行相同的應用,保證整體的性能,也實現了負載均衡和互為備份。需要利用磁盤柜存儲技術(最好采用san)。對于數據庫服務而言,它同時需要數據庫軟件的支持,是比較復雜的。而WEB服務器或應用服務器就比較簡單了。
雙機熱備這一概念包括了廣義與狹義兩種意義。
從廣義上講,就是對于重要的服務,使用兩臺服務器,互相備份,共同執行同一服務。當一臺服務器出現故障時,可以由另一臺服務器承擔服務任務,從而在不需要人工干預的情況下,自動保證系統能持續提供服務。
雙機熱備由備用的服務器解決了在主服務器故障時服務不中斷的問題。但在實際應用中,可能會出現多臺服務器的情況,即服務器集群。
雙機熱備一般情況下需要有共享的存儲設備。但某些情況下也可以使用兩臺獨立的服務器。
實現雙機熱備,需要通過專業的集群軟件或雙機軟件。
從狹義上講,雙機熱備特指基于active/standby方式的服務器熱備。服務器數據包括數據庫數據同時往兩臺或多臺服務器寫,或者使用一個共享的存儲設備。在同一時間內只有一臺服務器運行。當其中運行著的一臺服務器出現故障無法啟動時,另一臺備份服務器會通過軟件診測(一般是通過心跳診斷)將 standby機器激活,保證應用在短時間內完全恢復正常使用。(相關文章:雙機熱備、雙機互備與雙機雙工的區別)。
而實際上,雙機熱備可能會擴展為多機的集群:多機集群模式
雙機熱備一般都是用于有數據庫或其他數據的應用。而對于數據之前的應用服務器(或其他沒有寫數據操作的服務),則應該歸入負載均衡領域。
為什么要做雙機熱備?
雙機熱備針對的是服務器的故障。
服務器的故障可能由各種原因引起,如設備故障、操作系統故障、軟件系統故障等等。一般地講,在技術人員在現場的情況下,恢復服務器正常可能需要10分鐘、幾小時甚至幾天。從實際經驗上看,除非是簡單地重啟服務器(可能隱患仍然存在),否則往往需要幾個小時以上。而如果技術人員不在現場,則恢復服務的時間就更長了。
而對于一些重要系統而言,用戶是很難忍受這樣長時間的服務中斷的。因此,就需要通過雙機熱備,來避免長時間的服務中斷,保證系統長期、可靠的服務。
決定是否使用雙機熱備,正確的方法是要分析一下系統的重要性以及對服務中斷的容忍程度,以此決定是否使用雙機熱備。即,你的用戶能容忍多長時間恢復服務,如果服務不能恢復會造成多大的影響。
在考慮雙機熱備時,需要注意,一般意義上的雙機熱備都會有一個切換過程,這個切換過程可能是一分鐘左右。在切換過程中,服務是有可能短時間中斷的。但是,當切換完成后,服務將正常恢復。因此,雙機熱備不是無縫、不中斷的,但它能夠保證在出現系統故障時,能夠很快恢復正常的服務,業務不致受到影響。而如果沒有雙機熱備,則一旦出現服務器故障,可能會出現幾個小時的服務中斷,對業務的影響就可能會很嚴重。
另有一點需要強調,即服務器的故障與交換機、存儲設備的故障不同,其概念要高得多。原因在于服務器是比交換機、存儲設備復雜得多的設備,同時也是既包括硬件、也包括操作系統、應用軟件系統的復雜系統。不僅設備故障可能引起服務中斷,而且軟件方面的問題也可能導致服務器不能正常工作。
還應指出的是,一些其他的防護措施如磁盤陣列(RAID)、數據備份雖然是非常重要的,但卻不能代替雙機熱備的作用。
雙機熱備:基于共享存儲與純軟件方式
數據庫雙機熱備有兩種典型的方式,一種是比較標準的,兩臺服務器通過一個共享的存儲設備(一般是共享的磁盤陣列或存儲區域網SAN),并且安裝雙機軟件,實現雙機熱備,稱為共享方式。另一種方式是通過純軟件的方式,一般稱為純軟件方式或鏡像方式(Mirror)。
對于共享方式,數據庫放在共享的存儲設備上。當一臺服務器提供服務時,直接在存儲設備上進行讀寫。而當系統切換后,另一臺服務器也同樣讀取該存儲設備上的數據。
對于純軟件的方式,通過鏡像軟件,將數據可以實時復制到另一臺服務器上,這樣同樣的數據就在兩臺服務器上各存在一份,如果一臺服務器出現故障,可以及時切換到另一臺服務器。
純軟件方式可以在一定程度上降低成本,但它也有非常明顯的缺點:
1.可靠性相對較差,兩服務器間的數據實時復制是一個比較脆弱的環節。
2.一旦某臺服務器出現中斷,恢復后還要進行比較復雜的數據同步恢復。并且,這個時段系統處于無保護狀態。
3.沒有事務機制,由于其復制是在文件和磁盤層進行的,復制是否成功不會影響數據庫事務操作,因此有出現數據不完整變化的情況,這個存在著相當的風險。
因此,建議除非不得已,不要選擇純軟件方案。
但另一方面,有一種數據庫并行的解決方案,它不是在文件或磁盤層進行復制,而是直接對數據庫操作在前端進行路由分發,并行地以事務機制完成數據庫的更新,同時還可以提供數據庫的并行服務。這種方式目前針對SQL
SERVER應用非常成功,明顯優于共享存儲+雙機軟件的方式
雙機熱備與數據備份的關系
一些用戶在規劃雙機熱備或雙機備份時,會有這樣的問題:我已經有了RAID,以及磁帶備份,還有必須做雙機嗎?或者,如果我做了雙機備份,還有必要做磁帶備份嗎?
應該說RAID和數據備份都是很重要的。但是,RAID技術只能解決硬盤的問題,備份只能解決系統出現問題后的恢復。而一旦服務器本身出現問題,不論是設備的硬件問題還是軟件系統的問題,都會造成服務的中斷。因此,RAID及數據備份技術不能解決避免服務中斷的問題。對于需要持續可靠地提供應用服務的系統,雙機還是非常重要的。只要想一想,如果你的服務器壞了,你要用多少時間將其恢復到能正常工作,你的用戶能容忍多長的恢復時間就能理解雙機的重要性了。
從另外一個方面,RAID以及磁帶備份也是非常需要的。對于RAID而言,可以以很低的成本大大提高系統的可靠性,而且其復雜程度遠遠低于雙機。因為畢竟硬盤是系統中機械操作最頻繁、易損率最高的部件,如果采用RAID,就可以使出現故障的系統很容易修復,也減少服務器停機進行切換的次數。
數據備份更是必不可少的措施。因為不論RAID還是雙機,都是一種實時的備份。任何軟件錯誤、病毒影響、誤操作等等,都會同步地在多份數據中發生影響。因此,一定要進行數據的備份(不論采取什么介質,都建議用戶至少要有一份脫機的備份),以便能在數據損壞、丟失時進行恢復。
雙機熱備份VS單機容錯
目前主流應用的服務器容錯技術有三類,它們分別是:服務器群集技術、雙機熱備份技術和單機容錯技術。它們各自所對應的容錯級別是從低到高的,也就是說服務器群集技術容錯級別最低,而單機容錯技術級別最高。由此可知它們各自應用的行業容錯級別需求也是從低到高的。本文主要介紹后兩種容錯技術,先來看一下雙機熱備份容錯技術。
一、雙機熱備份技術
雙機熱備份技術是一種軟硬件結合的較高容錯應用方案。該方案是由兩臺服務器系統和一個外接共享磁盤陣列柜(也可沒有,而是在各自的服務器中采取RAID卡)及相應的雙機熱備份軟件組成。
在這個容錯方案中,操作系統和應用程序安裝在兩臺服務器的本地系統盤上,整個網絡系統的數據是通過磁盤陣列集中管理和數據備份的。數據集中管理是通過雙機熱備份系統,將所有站點的數據直接從中央存儲設備讀取和存儲,并由專業人員進行管理,極大地保護了數據的安全性和保密性。用戶的數據存放在外接共享磁盤陣列中,在一臺服務器出現故障時,備機主動替代主機工作,保證網絡服務不間斷。
雙機熱備份系統采用“心跳”方法保證主系統與備用系統的聯系。所謂“心跳”,指的是主從系統之間相互按照一定的時間間隔發送通訊信號,表明各自系統當前的運行狀態。一旦“心跳”信號表明主機系統發生故障,或者備用系統無法收到主機系統的“心跳”
信號,則系統的高可用性管理軟件認為主機系統發生故障,主機停止工作,并將系統資源轉移到備用系統上,備用系統將替代主機發揮作用,以保證網絡服務運行不間斷。
雙機熱備份方案中,根據兩臺服務器的工作方式可以有三種不同的工作模式,即:雙機熱備模式、雙機互備模式和雙機雙工模式。下面分別予以簡單介紹。
雙機熱備模式即目前通常所說的active/standby 方式,active服務器處于工作狀態;而standby
服務器處于監控準備狀態,服務器數據包括數據庫數據同時往兩臺或多臺服務器寫入(通常各服務器采用RAID磁盤陣列卡),保證數據的即時同步。當 active服務器出現故障的時候,通過軟件診測或手工方式將standby機器激活,保證應用在短時間內完全恢復正常使用。典型應用在證券資金服務器或行情服務器。這是目前采用較多的一種模式,但由于另外一臺服務器長期處于后備的狀態,從計算資源方面考量,就存在一定的浪費。
雙機互備模式,是兩個相對獨立的應用在兩臺機器同時運行,但彼此均設為備機,當某一臺服務器出現故障時,另一臺服務器可以在短時間內將故障服務器的應用接管過來,從而保證了應用的持續性,但對服務器的性能要求比較高。配置相對要好。
雙機雙工模式:是目前cluster(群集)的一種形式,兩臺服務器均為活動,同時運行相同的應用,保證整體的性能,也實現了負載均衡和互為備份,需要利用磁盤柜存儲技術(最好采用San方式)。WEB服務器或FTP服務器等用此種方式比較多。
分享到: