簡介
當一台伺服器停機時,可以由雙機中的另一台伺服器自動將停機伺服器的業務接管,從而在不需要人工干預的情況下,保證系統能持續提供服務。
分類
在雙機熱備套用中,根據兩台伺服器的工作方式不同可以有三種工作模式,即:主從、互備、並行。下面分別予以簡單介紹:主從模式即目前通常所說的active/standby方式,active伺服器處於工作狀態,而standby伺服器處於監控準備狀態,伺服器數據包括資料庫數據,同時寫入兩台伺服器或共享數據的磁碟陣列存儲系統,保證數據的即時同步。當active伺服器出現故障的時候,通過軟體診測或手工方式將standby機器激活,保證套用在短時間內完全恢復正常。
雙機互備模式,這種方式對伺服器的性能要求比較高,配置相對要更好。
並行模式也叫雙工模式,—般用於網路大規模套用,如Oracle資料庫的RAC(Orade RealApplication Cluster),兩台伺服器均為活動的,同時提供相同的服務,保證整體的性能,也實現了負載均衡和互為備份,需要利用磁碟陣列存儲技術。
這三種模式中,主從模式是中小規模網路最常用的雙機熱備技術,下面具體介紹該模式的技術實現方式。
數據信息是當今社會進步、發展的關鍵。面對日益龐大的計算機網路,用戶的要求是網路能夠可靠、高速、穩定地運行。當前大部分網路服務都是採用中心伺服器的模式,伺服器的高可靠性、高可用性是網路安全運行的關鍵,一旦伺服器出現故障,所提供的服務就會被中斷,影響正常工作,並可能丟失關鍵數據,從而造成嚴重後果。如何在故障情況下儘快恢復使用並保證數據的安全,已經成為一個日漸突出的問題。伺服器雙機熱備份技術正是解決由軟硬體故障引起可靠性降低的有效措施,該技術較為成熟,成本相對較低,具有安裝維護簡單、穩定可靠、監測直觀等優點,在網路保障中獲得了廣泛的套用。
原理
雙機熱備份技術是一種軟硬體結合的較高容錯套用方案。該方案是由兩台
伺服器系統和一個外接共享
磁碟陣列櫃(也可沒有,而是在各自的伺服器中採取RAID卡)及相應的雙機熱備份軟體組成。
在這個容錯方案中,作業系統和應用程式安裝在兩台伺服器的本地
系統盤上,整個網路系統的數據是通過
磁碟陣列集中管理和數據備份的。數據集中管理是通過雙機熱備份系統,將所有站點的數據直接從中央存儲設備讀取和存儲,並由專業人員進行管理,極大地保護了數據的安全性和保密性。用戶的數據存放在外接共享磁碟陣列中,在一台伺服器出現故障時,備機主動替代
主機工作,保證
網路服務不間斷。
雙機熱備份系統採用“心跳”方法保證主系統與備用系統的聯繫。所謂“心跳”,指的是主從系統之間相互按照一定的時間間隔傳送通訊信號,表明各自系統當前的運行狀態。一旦“心跳”信號停止表明
主機系統發生故障,或者備用系統無法收到主機系統的“心跳” 信號,則系統的高可用性管理軟體認為主機系統發生故障,主機停止工作,並將系統資源轉移到備用系統上,備用系統將替代主機發揮作用,以保證網路服務運行不間斷。
雙機熱備份方案中,根據兩台伺服器的工作方式可以有三種不同的工作模式,即:雙機熱備模式、
雙機互備模式和雙機雙工模式。
操作方法
雙機熱備有兩種實現方式,一種是兩台伺服器通過一個共享的存儲設備(一般是共享的磁碟陣列或存儲區域網SAN),通過安裝雙機軟體實現雙機熱備,稱為共享方式。另一種方式是沒有共享的存儲設備,數據同時存放於各自伺服器中,稱為純軟體方式或軟體同步數據方式。基於存儲共享的實現方式是雙機熱備的最標準的方案,在主從模式工作中,兩台伺服器以一個虛擬的IP位址對外提供服務,服務請求傳送給主伺服器(active server)承擔。同時,兩台伺服器通過心跳線(heartbeat line)偵測另一台伺服器的工作狀況。一旦主伺服器出現故障,備伺服器(standby server)根據心跳偵測的情況做出判斷,在較短時間內完成切換,接管主機上的所有資源,成為新的主伺服器。由於使用共享的存儲設備,因此兩台伺服器使用的實際上是一樣的數據,由雙機或集群軟體對其進行管理。
心跳線是主備伺服器之間聯繫的紐帶,所謂“心跳”,是一個錯誤檢測機制,指主從系統之間相互按照一定的時間間隔傳送通訊信號,周期性地檢測各個節點的狀態(包括系統的狀態和套用的狀態)。如果連續沒有收到的心跳信號到了一定的數目,雙機熱備軟體就認為相應的系統已經出現故障,並進行主備切換。傳統上心跳故障檢測使用串口通訊的方式,但目前已經普遍使用基於TCP/IP的方式。兩台伺服器之間,可以使用直連網線,也可以將兩台伺服器用於心跳診斷的網卡通過交換機連線。
雙機熱備份技術需要通過雙機或集群軟體來實現。雙機軟體採用結構化設計,一般來說包含以下幾個模組:
(1)雙機狀態的管理模組,負責檢測雙機的工作狀態,以及對故障狀態進行判斷。
(2)雙機功能的執行模組,負責執行管理模組發出的雙機調整切換命令等。
(3)雙機系統的客戶端配置管理工具,通過該模組實現對雙機系統的遠程配置、管理及維護等功能。
雙機軟體工作流程大致如下:軟體啟動時,首先讀取雙機系統的配置檔案,該檔案描述了雙機系統中各節點的網路信息、硬體描述以及任務的定義等參數。軟體的核心程式根據配置信息,進行雙機系統的狀態重組,建立雙機的初始狀態。在節點初始狀態建立起來後,管理模組根據當前網路狀態的信息對雙機進行調整並分配網路資源,使雙機中的主節點獲得對外提供網路服務的資源,同時啟動節點監控功能,對所啟動任務的關鍵進程進行監控,保障對外提供服務的資源健康。當以上資源建立起來後,雙機系統進入正常運行狀態。
當系統中有節點故障時,雙機管理模組根據雙機當前的狀態和該故障節點在雙機中的角色做出雙機系統是否切換的選擇。當該節點為主伺服器時,雙機系統會自動將屬於該節點的資源和任務移交到備伺服器上,保證網路的正常運行。如果發生故障的節點為備伺服器,雙機軟體提出報警後,將任務的移交進行封鎖,直到備伺服器故障修復,重新進入雙機系統,管理模組檢查到該故障修復後,對當前的任務進行解鎖操作,系統重新進入正常運行狀態。
工作模式
雙機熱備模式
即目前通常所說的active/standby 方式,active伺服器處於工作狀態;而standby 伺服器處於監控準備狀態,伺服器數據包括資料庫數據同時往兩台或多台伺服器寫入(通常各伺服器採用RAID磁碟陣列卡),保證數據的即時同步。當active伺服器出現故障的時候,通過軟體診測或手工方式將standby機器激活,保證套用在短時間內完全恢復正常使用。典型套用在證券資金伺服器或行情伺服器。這是目前採用較多的一種模式,但由於另外一台伺服器長期處於後備的狀態,從計算資源方面考量,就存在一定的浪費。
雙機互備模式
是兩個相對獨立的套用在兩台機器同時運行,但彼此均設為備機,當某一台伺服器出現故障時,另一台伺服器可以在短時間內將故障伺服器的套用接管過來,從而保證了套用的持續性,但對伺服器的性能要求比較高。配置相對要好。
雙機雙工模式
是目前cluster(群集:群集包括兩種,一種是
網路負載平衡,另一種是
伺服器群集。這裡的雙機雙工模式是屬於網路負載平衡群集。)的一種形式,兩台伺服器均為活動,同時運行相同的套用,保證整體的性能,也實現了負載均衡和互為備份,實現該類方案的典型產品包括國外廠商
Oracle的
RAC,國內廠商格瑞趨勢的
Moebius for SQL Server。需要利用磁碟櫃存儲技術(最好採用San方式)。WEB伺服器或FTP伺服器等用此種方式比較多。
總結
以上簡要分析了伺服器雙機熱備份技術的概念與方法,在實際套用中,根據網路規模或重要性的大小,雙機模式可以擴展提升為多機集群模式,兩台以上的伺服器組成一個集群,根據套用的實際情況在這些伺服器上進行部署,靈活地設定接管策略。比如,可以由一台伺服器作為其他所有伺服器的備機,也可以設定多重的接管關係等。此外,還有更新的技術湧現出來,如容錯伺服器技術,通過對伺服器中所有硬體利用冗餘的方法來容錯,可以做到自動偵測、自動接管、自動恢復,是一種比雙機熱備份可用性等級更高的方案,適用於關鍵業務套用領域。