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