李華
摘要:本文闡述了SQL Server數據庫集群的高可用性和可靠性,介紹了數據庫集群的設計原則、設計考慮因素及其實現,提高了數據庫系統的高可用性。
關鍵詞:SQL Sever;數據庫集群;MSCS
在計算機技術和網絡技術廣泛應用的同時,對網絡中各種服務器的性能也提出了更高的要求。數據庫集群技術在不同的電子事務處理及網格計算等系統中得到了廣泛的應用,是一種被業界廣泛關注的計算機技術,其性能完全可以取代大型主機,而且網絡優勢是大型主機無法比擬的,價格的低廉,能夠為企業及高校節省大量的成本,在科學研究、金融、電信等領域日益發揮著重要作用。
一、數據庫集群概述
集群技術指通過高性能網絡由相互獨立的同構或者異構的多個單一系統整合為一個虛擬系統,高度緊密聯合的計算機系統協同完成共同的工作。集群對外提供的是透明的服務,一個客戶與集群相互作用的時候,集群就是一個獨立的服務器。把集群技術與數據庫技術相結合,就構成了數據庫集群。
數據庫集群技術是用高速互聯網絡把價格較低的硬件設備連接在一起,通過網絡實現數據傳輸。每個數據庫服務器都擁有獨立的存儲空間,分別運行各自獨立的數據庫管理系統,具有高度自治性,但是呈現給客戶的是一個統一的界面,在用戶看來,整個計算機網絡只是一個數據庫系統,而不是由多個不同的數據庫系統組成的。
二、SQL Server數據庫集群
SQL Server是一個全面的數據庫平臺,其數據庫引擎為關系型和結構化數據提供了安全可靠的存儲功能,能夠構建和管理高可用和高性能的數據應用程序。SQL Server集群環境需要至少兩臺運行SQL Server的服務器構成的虛擬服務器。SQL Server集群性能在中小型服務器的應用上表現十分突出。
隨著用戶對數據庫系統的可用性和可靠性的要求日益提高,集群技術已成為實現高可用性,減少死機風險的一種快捷安全的解決方案。SQL Server 2005數據庫與微軟服務器集群(MSCS)相結合構成數據庫集群,致力于減少死機時間,為災難恢復提供解決方案,為數據庫用戶提供更強大的系統可用性[1]。
數據庫鏡像和故障轉移集群最主要的差異是提供的冗余級別不同。數據庫鏡像提供的是數據庫級別的保護,而集群提供的是服務器級別的。另外,在數據庫鏡像中,主服務器與鏡像服務器是獨立的SQL Server實例,具有不同的名稱;而集群中SQL Server實例使用相同的虛擬服務器名稱和IP地址,并且無論哪個節點主持集群實例,虛擬服務器的名稱和IP地址始終不變,因此服務器一級的數據庫保護,故障轉移集群是更適合的選擇。
三、數據庫集群系統的設計
選擇一個合適的數據庫集群系統,能夠給企業在管理規劃和成本控制上帶來好處。
1.設計原則
(1)盡量保證集群系統架構的簡單性和兼容性。選擇數據庫集群系統時,應采用經過市場檢驗的成熟可靠的平臺,嚴格按照集群操作系統提供商硬件兼容性認證列表選購硬件設備,以防出現硬件不兼容,帶來不必要的問題[2]。
(2)在保證可用性前提下,追求高效和便利的操作性。數據庫集群的最終目標是它的高可用性,同時也要兼顧性能。優秀的集群軟件應能支持較多的應用,多個相關軟件配合使用,能提高管理集群的效率。
(3)性價比。有著相同性能的集群服務器價格通常比傳統超級計算機和大型并行處理機的價格要低廉得多。硬件購買方便快捷,升級維護也簡單易行,成本支出大大減少,并且通過內部網絡對集群管理方便,性價比大大優于大型并行處理機。
2.設計數據庫集群系統的兩大因素
要構造一個工作良好的數據庫集群,要著重考慮以下的兩個因素:
(1)可用性支持。
可用性是指用戶使用服務或應用程序的可用程度。數據庫集群通過冗余硬件設備、網絡和操作系統映像等,提供一種保持低成本的高可用性。從關鍵性計算應用的角度看,集群是一組作為單一系統管理的獨立運行服務器,由網絡連接在一起構成的穩定性、安全性良好的一臺虛擬服務器,支持用戶透明訪問的服務資源,最終目的是高可用性。
可用性能否達標,需要應用系統的最終用戶來進行衡量[3]。企業依賴于系統的可用性以防出現服務器故障或者從故障中進行恢復。高可用性集群提供了一個比一般可用性系統更高級的系統可用性,來減少系統發生故障的幾率。
設計高可用性的數據庫集群系統時,集群系統的可靠性、可用性及可維護性是重中之重,其中可用性標準結合了可靠性和可維護性標準。
(2)高效通訊。
數據庫集群一般使用有標準通信協議網絡。低級通信協議雖然比標準通信協議有效,但是現在低級通信協議沒有統一標準,追求高效往往卻和集群的可擴展性相抵觸。需要高可擴展的集群系統,就要用一些低效的商品化網絡、更通用的硬件平臺和流行的操作系統。在保障集群的可擴充能力的同時,降低了優化性能的可能。
3.數據庫集群應該具備的功能
性能優良的數據庫集群系統應該能夠提高數據庫的運行處理能力,具有良好的響應速度、能夠即時數據同步,做好數據備份和保護、能夠隨時監測各個節點服務器的運行狀態,在系統發生故障的時候,能及時實現故障轉移,切換服務器,保障集群服務器的正常運行,提供不間斷服務,并且能夠降低管理和維護支出成本。
4.數據庫集群存儲體系結構的選擇
根據集群之間是否共享存儲,集群系統的體系結構分為共享存儲結構和無共享結構兩大類。在共享存儲結構中每個節點能夠直接訪問一個共享的主存或共享磁盤陣列;在無共享存儲結構中每個處理節點擁有獨立的內存和硬盤,節點之間通過高速通信網絡來進行消息傳遞。本文的SQL Server 2005數據庫集群屬于無共享存儲結構。
四、數據庫集群的部署與實現
運用Windows Server 2003操作系統、MSCS集群軟件以及SQL Server 2005數據庫管理軟件構建一個集群系統。Windows Server 2003可以支持最大達8個節點的集群配置,典型特征是可以為數據庫、消息系統、文件與打印服務等關鍵業務的應用,提供高可用性和可擴展性。
配置兩節點集群需要三臺服務器,因此選擇使用虛擬機VMware Workstation。集群的共享數據盤要裝在SCSI結構的總線上。經過測試,集群系統與單臺服務器數據庫系統相比,數據庫集群系統可以有效進行故障轉移,可擴充性強,極大地提高了數據庫系統的高可用性。
五、總結
數據庫集群技術憑借其高可用性和高可靠性正逐漸取代以往的數據庫容錯技術。集群技術的迅速發展,可以給高校和企業節約大量經費和支出。利用服務器集群技術,經過周密計劃和網絡維護,系統破壞的幾率非常小。因此,服務器的穩定盡可能地使用集群技術。
參考文獻
[1] 魏榕暉.數據庫集群系統高可用性的研究與應用[D].曲阜師范大學,2008.
[2] 桂榮.計算機集群技術的研究與應用[D].天津大學,2003.
[3] 王林.基于SQL Server數據庫集群的研究[D].中國石油大學,2009.