雙機熱備方案

目前,雙機和集群採用的操作系統主要有UNIX、Linux、BSD及微軟公司的Windows NT/2000。隨著Linux的迅速發展,穩定性、安全性及功能的不斷增強,人們對Linux的使用越來越廣泛,Linux已成為服務器市場中的一個重要操作系統,基於Linux的雙機和集群系統也越來越多。

Linux集群的主要優點有:高可靠性、高性能、低成本等等。

1.1 概述

1.1.1 實現目的

雙機熱備份(Hot Standby)是一種軟硬件相結合的高可靠性應用方案。雙機熱備系統由兩臺獨立的服務器以及相應的控制軟件構成,兩臺服務器在網絡中表現為單一的系統,對外表現為一個獨立的網絡IP,並以單一系統的模式進行控制和管理。該系統將兩臺服務器的數據和運行狀態(包括硬盤數據和內存數據)進行鏡像,可以實現兩臺服務器之間的熱備份,並能夠做到無縫切換,從而對外提供穩定可靠的服務,實現雙機系統的高可用性解決方案。

1.1.2 功能概述

雙機熱備份系統由相應的應用軟件進行控制,操作系統和應用程序安裝在兩臺服務器的系統盤上。每一臺服務器分配一個固定的IP地址,此外還指定了一個獨立IP地址作為集群IP(cluster IP),該IP是雙機系統對外提供服務的接口。

兩臺服務器一臺成為主節點(Primary Server),另一臺成為從節點(Standby Server),主節點與從節點之間保持固定時間間隔的心跳信號,通過心跳信號實現兩個對等系統之間的週期性的握手,從而能夠監視對方的運行狀態,進行主機及網絡的故障檢測。在系統正常情況下,主節點佔用系統資源並運行所有的服務,為信息系統提供支持,從節點通過心跳信號監視主節點的運行情況。一旦主節點發生故障(如主機故障,網絡故障,軟件故障等),從節點就會自動接管(Take Over)主節點的資源和服務,繼續支持信息的運營,從而保證整個雙機系統能夠不間斷的運行(Non-Stop)。主節點在恢復運行後,又可以自動獲取資源並取代從節點。

1.2 運行環境

1.2.1 硬件需求

在集群系統的實現方案中雙機熱備份系統是硬件配置最簡單和價格最低廉的解決方案,通常鏡像服務的硬件配置需要兩臺獨立的服務器,每臺服務器有獨立的操作系統硬盤和數據存貯硬盤,每臺服務器有提供網絡連接功能的網卡,此外還可以有一對完成內部連接和數據鏡像功能的網卡。雙機系統的兩臺服務器擁有共享的數據存儲空間(可以是一個數據存儲硬盤或一臺專門的數據存儲服務器)。任何一臺服務器在運行服務時,從共享的數據存儲空間內讀取和存儲數據。每臺服務器的操作系統和應用程序文件存儲在各自的本地存儲空間上。雙機熱備份系統採用內存鏡像的技術,即把兩臺服務器的數據和運行狀態(包括硬盤數據和內存數據)進行鏡像。這個技術的優點是所有的應用程序和操作數據在兩臺服務器上鏡像同步,當主節點出現故障時,從節點可以在幾乎沒有延遲的情況下接管主節點運行的服務,從而實現無縫切換和熱備份。該技術的缺點是,由於兩臺服務器的內存完全一致,當由於系統應用程序帶有缺陷而導致系統宕機時,兩臺服務器會同步宕機。也可以在雙機系統中使用第三方生產的磁盤陣列櫃,在磁盤陣列櫃中安裝有磁盤陣列控制卡,陣列櫃可以直接將櫃中的硬盤配置成為邏輯盤陣。該結構不採用內存鏡像技術,因此需要有一定的切換時間,同時由於所有的數據全部存貯在磁盤陣列櫃中,當主節點出現故障時,從節點接替主節點,從磁盤陣列櫃中讀取數據,所以不會產生數據不同步的問題。由於這種方案不需要網絡鏡像同步,因此這種集群方案服務器的性能要比鏡像服務器結構高出很多。

雙機熱備份系統的兩臺服務器通過內部局域網進行連接,通過週期性的心跳信號保持通信和進行相互監視。兩臺服務器之間可以採用多種連接方式,可以使用串口線,也可以通過以太網ethernet進行連接,還可以採用並存的多種連接方式實現兩臺主機的多重互連。如果雙機系統有冗餘連接,在第一條通信路徑失效的情況下,控制軟件可以嘗試使用第二條通信路徑進行連接。因此,為了避免不必要的失效切換,最好建立兩種以上獨立的物理路徑,使用至少兩種心跳。雙機熱備份系統具有配置簡單,使用方便,價格低廉等諸多優點,但由於鏡像服務器需要採用網絡方式鏡像數據,通過鏡像軟件實現數據的同步,因此需要佔用網絡服務器的CPU及內存資源,造成服務器的性能有所降低。

1.2.2 軟件需求

本方案僅討論Redhat Linux系統下的雙機熱備份系統的實現,使用的雙機控制軟件是Linux-HA heartbeat。因此,除了安裝操作系統及相關的應用服務程序之外,還需要安裝heartbeat控制軟件。

通過對heartbeat軟件的配置,可以把兩臺服務器分別指定為主節點和從節點,指定心跳信號的時間間隔,指定cluster IP、子網掩碼、廣播地址、鑑權方式,還可以設置heartbeat啟動的服務,該服務最終由雙機系統通過cluster IP對外提供。

Heartbeat可以最大限度地保護用戶端的應用連續性。用戶的硬件資源(如網卡),軟件資源(如操作系統、數據庫管理系統、數據庫應用系統、電子郵件系統等)均能處於heartbeat容錯軟件的保護之下,當這些被保護的資源出現技術故障時, heartbeat容錯軟件可以隨時實施系統資源的切換。因此,heartbeat真正實現了用戶硬件或是軟件資源發生故障時系統及應用層上的在線熱切換。

Heartbeat軟件的特點有:不需增加額外硬件資源,純軟件方式實現雙機容錯,並且對雙機無硬件配置要求。可支持DB2,Notes、Exchange、SQL Server、Sybase、Informix、Oracle 、SAP等多種系統的應用層熱切換。支持共享磁盤陣列櫃和內存鏡像等多種方式,給用戶提供了選擇上的靈活性,同時也能適應各種機型、網絡結構、軟件平臺及應用系統。佔用系統資源較少,不增加網絡負荷,並且不會干擾具體應用程序的運行和操作。真正實現無人值守,全自動地實現系統資源和應用服務的切換。

1.3 方案說明

服務器Server A和Server B構成雙機熱備份系統的兩臺主機,並且分別作為主節點(Primary Server)和從節點(Standby Server)。兩臺主機均運行Linux-HA heartbeat,該軟件成為雙機熱備系統的控制程序。

兩臺主機通過串口線、以太網等多種方式進行連接,傳送數據和心跳信號,並互相進行狀態監視。可以只使用一種連接方式(如以太網連接),但是多種連接方式下的冗餘路徑可以保證雙機連接的可靠性和服務質量。

數據庫服務器或磁盤陣列櫃是專門的數據存儲和共享設備,兩臺服務器在運行時,均從該設備中讀取和存儲數據。這種方式可以有效地提高數據傳輸效率,提高雙機熱備服務器的系統性能,並且能夠保證兩臺服務器之間的數據同步。

1.4 建議服務器配置

服務器主機:

CPU: 四核2.4GHz及以上

內存:4G及以上

硬盤:160G及以上,7200轉

網絡控制器:集成一塊1000M自適應網卡

外部設備接口: 6個USB 2.0接口 (2 前4後); 1個VGA接口;1個串口;1個RJ45網口


分享到:


相關文章: