1. 程式人生 > >雙機熱備系統的方案與軟體淺析

雙機熱備系統的方案與軟體淺析

一、概述

雙機熱備指基於高可用系統中的兩臺伺服器的熱備(或高可用),因兩機高可用在國內使用較多,故得名雙機熱備。雙機高可用按工作中的切換方式分為:主-備方式(Active-Standby方式)和雙主機方式(Active-Active方式),主-備方式指的是一臺伺服器處於某種業務的啟用狀態(即Active狀態),另一臺伺服器處於該業務的備用狀態(即Standby狀態)。而雙主機方式即指兩種不同業務分別在兩臺伺服器上互為主備狀態(即Active-Standby和Standby-Active狀態)。

雙機熱備系統,是叢集的最小組成單位,是將中心伺服器安裝成互為備份的兩臺伺服器,並且在同一時間內只有一臺伺服器執行。當其中執行著的一臺伺服器出現故障無法啟動時,另一臺備份伺服器會迅速的自動啟動並執行(一般為數分鐘左右),從而保證整個網路系統的正常執行!雙機熱備的工作機制實際上是為整個網路系統的中心伺服器提供了一種故障自動恢復能力。

雙機熱備針對的是伺服器的故障。伺服器的故障可能由各種原因引起,如裝置故障、作業系統故障、軟體系統故障等等。決定是否使用雙機熱備,正確的方法是要分析一下系統的重要性以及對服務中斷的容忍程度,以此決定是否使用雙機熱備。

二、雙機熱備方案

組成雙機熱備的方案主要的三種方式分別為:基於共享儲存(磁碟陣列)的方式,全冗餘方式和複製方式

基於共享儲存(磁碟陣列)的方式

共享儲存雙機熱備方案中需要兩臺伺服器以及一臺共享儲存裝置(一般情況下就是共享磁碟陣列櫃),共享儲存裝置同時連線至兩臺伺服器,使用者業務資料儲存在共享儲存裝置中,由主伺服器對外服務並訪問共享儲存裝置進行資料讀寫,一旦主伺服器發生故障(例如:作業系統宕機、伺服器意外掉電、網路故障等),由ServHA雙機熱備軟體自動將業務應用切換至備用伺服器並接管共享儲存裝置的訪問權繼續對外服務,保護業務應用不間斷執行。

共享儲存雙機熱備方案拓撲圖

但由於該方式僅使用一臺儲存裝置,往往被稱為磁碟單點故障。但一般來講儲存的安全性較高。所以如果忽略儲存裝置故障的情況下,這種方式也是業內採用最多的熱備方式。

共享儲存雙機熱備方案優缺點

優點:有獨立的儲存裝置進行資料儲存,能夠容納較高的資料吞吐量和具有較好的資料擴充套件性,適合資料量以及資料吞吐量比較大的應用。
缺點:需要引入昂貴的儲存裝置,成本有所增加,資料只有一份,在磁碟陣列中。

全冗餘方式(雙機雙櫃雙機熱備方案)

全冗餘方式就是雙機雙儲存,為實現儲存冗餘,儲存高可用也已經越來越多的被使用者接受。該方案需要兩臺伺服器和兩臺共享磁碟陣列櫃,每臺伺服器同時連線兩臺磁碟陣列櫃,每臺磁碟陣列櫃同時同時連線兩臺伺服器,ServHA雙機雙櫃軟體(ServHA DS Mirror)負責實時將資料寫入兩臺磁碟陣列櫃,保證兩臺磁碟陣列櫃資料完全一致,在伺服器讀取資料時,會從兩臺磁碟陣列櫃同時讀取,提高讀取效率,一旦主伺服器發生故障(例如:作業系統宕機、伺服器意外掉電、網路故障等),由ServHA雙機熱備軟體自動將業務應用切換至備用伺服器繼續對外服務,保護業務應用不間斷執行,當一臺磁碟陣列櫃發生故障時,ServHA雙機熱備軟體會將故障磁碟陣列櫃隔離,整個過程業務不間斷,無縫使用單盤櫃繼續服務。

全冗餘雙機熱備方案圖

雙機雙櫃雙機熱備方案優缺點

優點:資料雙份儲存,兩臺磁碟陣列櫃各一份,資料安全性高,資料通過儲存鏈路實時寫入兩臺磁碟陣列櫃,能承載較高的資料吞吐量。
缺點:硬體成本較高。

複製方式(映象雙機熱備方案)

複製方式雙機熱備中僅需要兩臺伺服器即可實現雙機熱備,兩臺伺服器利用本地磁碟儲存業務資料,ServHA映象雙機熱備軟體(ServHA Mirror)負責實時同步兩臺伺服器資料,保證兩臺伺服器資料完全一致,由主伺服器對外服務並將業務資料實時同步至備用伺服器,一旦主伺服器發生故障(例如:作業系統宕機、伺服器意外掉電、網路故障等),由ServHA雙機熱備軟體自動將業務應用切換至備用伺服器繼續對外服務,保護業務應用不間斷執行。

複製方式雙機熱備拓撲圖

映象雙機熱備方案優缺點

優點:價效比最高,硬體投入較少,只需要兩臺伺服器即可,同時資料雙份儲存,兩臺伺服器各一份,能夠進行歷史資料快照和檢視歷史資料能力,資料安全性更高。
缺點:資料通過網路實時同步,不適合資料吞吐量特別大的系統。

三、雙機熱備方案的選擇

根據應用特性選擇

  • 若使用者應用要求資料吞吐量一般(每小時新增資料100G以下),更關注業務連續性(例如財務系統、OA系統、CRM系統等),可採用映象雙機熱備方案,價效比高,資料安全性高,採用ServHAMirror雙機熱備軟體產品。
  • 若使用者應用要求資料吞吐量較高(每小時新增資料100G以上)、資料總量巨大且需要空間擴充套件,且關注業務連續性(例如視訊監控、PACS、CRM系統等),可採用共享儲存雙機熱備方案,採用ServHACluster雙機熱備軟體產品。
  • 若使用者應用要求資料吞吐量較高(每小時新增資料100G以上)、預算充足、對資料安全性有很高要求、資料總量巨大且需要空間擴充套件,可採用雙機雙櫃雙機熱備方案,採用ServHA DS Mirror雙機熱備軟體產品。

根據硬體配備選擇

  • 若使用者已經擁有一臺伺服器,可再增置一臺伺服器,採用映象雙機熱備方案。
  • 若使用者已經擁有一臺伺服器以及一臺獨儲存裝置,可再增置一臺伺服器,採用共享儲存雙機熱備方案。
  • 若使用者已經擁有兩臺臺伺服器,可以採用映象雙機熱備方案。
  • 若使用者已經擁有兩臺臺伺服器以及一臺共享儲裝置,可採用共享儲存雙機熱備方案。
  • 若使用者已經擁有兩臺伺服器以及兩臺共享儲裝置,可採用雙機雙櫃雙機熱備方案。

四、雙機熱備軟體

heartbeat(Linux-HA)

heartbeat最核心的包括兩個部分,心跳監測部分資源接管。心跳監測可以通過網路鏈路和串列埠進行,而且支援冗餘鏈路,它們之間相互發送報文來告訴對方自己當前的狀態,如果在指定的時間內未受到對方傳送的報文,那麼就認為對方失效,這時需啟動資源接管模組來接管運 行在對方主機上的資源或者服務。

  • Heartbeat:(心跳檢測)本身是整個叢集的基礎(cluster messaging layer),負責維護叢集各節點的資訊以及它們之前通訊;只提供主從備份功能,並不能對各個節點進行監控,需要安裝ldirectord。
  • Resource-agent:(資源代理)就是各種的資源的ocf指令碼,這些指令碼將被LRM呼叫從而實現各種資源啟動、停止、監控等等。
  • Cluster-glue:相當於一箇中間層,可以將heartbeat和crm(pacemaker)聯絡起來,主要包含2個部分,LRM和STONITH;
  • Ldirectord:負責realserver的健康檢查,可以自動將realserver中宕機的機器移除,不再分配請求。

keepalived

keepalived的工作原理是VRRP(Virtual Router Redundancy Protocol)虛擬路由冗餘協議。在VRRP中有兩組重要的概念:VRRP路由器和虛擬路由器,主控路由器和備份路由器。VRRP路由器是指執行VRRP的路由器,是物理實體,虛擬路由器是指VRRP協議建立的,是邏輯概念。一組VRRP路由器協同工作,共同構成一臺虛擬路由器。Vrrp中存在著一種選舉機制,用以選出提供服務的路由即主控路由,其他的則成了備份路由。當主控路由失效後,備份路由中會重新選舉出一個主控路由,來繼續工作,來保障不間斷服務。

Rose HA

通過Rose HA系統把兩臺伺服器與磁碟陣列系統相連,作業系統、應用軟體和Rose HA軟體分別安裝在兩臺伺服器上,資料庫放在磁碟陣列上,而兩臺伺服器通過心跳線連線。

支援的系統:Windows 2008 R2、Linux,在應用方面,Rose HA支援Oracle、SQL Server、Sybase、MySQL等。

pluswell

pluswell部署雙機熱備的方法有多種,純軟雙機,沒有部署磁碟陣列,而是兩個軟體,一個軟體負責雙機熱備,另一個負責資料同步。

支援的系統:Windows

EterneMirrorHA

EterneMirrorHA也是一款不需要共享磁碟,採用塊映象技術的純軟雙機軟體。

支援的系統:Windows

微軟MSCS

利用微軟的MSCS(叢集服務)來實現雙機熱備,其原理是在叢集中的多個伺服器上分別安裝應用程式,但在任一時刻,應用程式只在一個節點上處於聯機狀態;當該應用程式出現宕機時,此應用程式將在另一個節點上重新啟動。