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