劉建軍
(吉林省教育學(xué)院,長春 130022)
Windows2008下Sqlserver2008數(shù)據(jù)庫故障轉(zhuǎn)移集群部署方案探析
劉建軍
(吉林省教育學(xué)院,長春 130022)
隨著信息化的推廣和普及,數(shù)據(jù)庫應(yīng)用系統(tǒng)的應(yīng)用范圍越來越廣,數(shù)據(jù)基礎(chǔ)信息量成幾何級數(shù)倍增。但系統(tǒng)經(jīng)常因為數(shù)據(jù)庫服務(wù)器的宕機而出現(xiàn)運行停止的情況,系統(tǒng)無法實現(xiàn)7*24小時運行,如何保證系統(tǒng)的高可用就成為難題。上述問題可以采用集群技術(shù)來解決。集群分為負(fù)載均衡集群和故障轉(zhuǎn)移集群,故障轉(zhuǎn)移集群主要針對數(shù)據(jù)庫服務(wù)器,用來保證服務(wù)器的高可用性和數(shù)據(jù)的高安全性。本文的主要目的是研究如何采用故障轉(zhuǎn)移集群對數(shù)據(jù)庫服務(wù)器進行規(guī)劃和設(shè)計,探析如何在Windows2008操作系統(tǒng)下部署故障轉(zhuǎn)移集群。
Windows2008;SQLServer2008;故障轉(zhuǎn)移集群;高可用
集群是一種針對負(fù)載進行均衡和針對故障進行轉(zhuǎn)移的技術(shù),可以在付出較低成本的情況下獲得在性能、可靠性、靈活性方面的相對較高的收益,是由相互獨立的、通過網(wǎng)絡(luò)互聯(lián)的計算機構(gòu)建成一個組,可用來進行單點管理,對外提供統(tǒng)一服務(wù)。
故障轉(zhuǎn)移集群的基本思路為由一組服務(wù)器構(gòu)建一個故障轉(zhuǎn)移集群,對外提供獨立的Ip地址,群內(nèi)的每個節(jié)點服務(wù)器均安裝數(shù)據(jù)庫。通過集群提供IP地址來進行對數(shù)據(jù)庫的訪問。同一時刻多臺節(jié)點數(shù)據(jù)庫服務(wù)器均運行,但只有一臺服務(wù)器對外提供數(shù)據(jù)庫服務(wù),而其他服務(wù)器處在等待狀態(tài),集群來管理和調(diào)配數(shù)據(jù)庫請求綁定到當(dāng)前對外提供服務(wù)的的數(shù)據(jù)庫服務(wù)器。當(dāng)該服務(wù)器因宕機或網(wǎng)絡(luò)故障等原因停止數(shù)據(jù)庫服務(wù)時,待用數(shù)據(jù)庫服務(wù)器順序啟用,轉(zhuǎn)化為主服務(wù)器,接管其工作,繼續(xù)提供數(shù)據(jù)庫服務(wù)。
圖1 單仲裁多節(jié)點服務(wù)器群集結(jié)構(gòu)
服務(wù)器群集分為:單節(jié)點群集、單仲裁設(shè)備群集和多數(shù)節(jié)點集群集三種集群模型。單仲裁設(shè)備服務(wù)器群集能滿足目前一般信息系統(tǒng)群集部署的需要,而單節(jié)點群集轉(zhuǎn)移不支持故障轉(zhuǎn)移。單仲裁多節(jié)點服務(wù)器群集結(jié)構(gòu)和基本思路如圖1所示。
上述單仲裁多節(jié)點服務(wù)器群集為多對一結(jié)構(gòu),即故障轉(zhuǎn)移集群服務(wù)器節(jié)點最少為兩個節(jié)點,除了服務(wù)器本身的Ip地址外,需要配置一個共有的集群Ip地址,做為外部數(shù)據(jù)庫訪問的入口。在對外提供服務(wù)時,雖然這多臺節(jié)點服務(wù)器均能提供服務(wù),但實際上只有主節(jié)點服務(wù)器一臺對外真正工作。當(dāng)主節(jié)點服務(wù)器宕機等故障時,備用節(jié)點依次啟用。集群狀態(tài)實際上為多臺數(shù)據(jù)庫服務(wù)器均共用磁盤陣列上的數(shù)據(jù)文件,同一時間段內(nèi),只有一臺服務(wù)器能對該數(shù)據(jù)文件進行訪問,即只有一臺服務(wù)器對外提供數(shù)據(jù)庫服務(wù)。
(1)數(shù)據(jù)庫故障轉(zhuǎn)移集群,要滿足以下的功能性和非功能性需求:
①系統(tǒng)宕機時可以對數(shù)據(jù)庫服務(wù)器做故障轉(zhuǎn)移。
②保證數(shù)據(jù)庫服務(wù)器24*7不間斷運行,減少或者取消計劃呢和計劃外的系統(tǒng)停止服務(wù)時間。
③系統(tǒng)硬件故障和網(wǎng)絡(luò)故障不影響業(yè)務(wù)程序運行及業(yè)務(wù)數(shù)據(jù)安全。
④方便運行維護和管理。
故障轉(zhuǎn)移群集主要確保對運行在其上的關(guān)鍵應(yīng)用程序能夠始終處于在線狀態(tài).這些關(guān)鍵應(yīng)用程序一般為數(shù)據(jù)庫,當(dāng)數(shù)據(jù)庫服務(wù)器任一節(jié)點出現(xiàn)硬件或軟件故障時,當(dāng)前運行在該節(jié)點上的數(shù)據(jù)庫系統(tǒng)會由群集服務(wù)功能移往其它無故障的節(jié)點并被重新啟動.由于群集服務(wù)使用共享存儲,所以,在故障應(yīng)急期間將不會產(chǎn)生數(shù)據(jù)丟失現(xiàn)象,能夠同時保障數(shù)據(jù)庫服務(wù)器的高可用性和數(shù)據(jù)的高安全性
在Windows2008操作系統(tǒng)上部署Sqlserver2008數(shù)據(jù)庫故障轉(zhuǎn)移集群,需要先在Windows操作系統(tǒng)上部署windows集群,繼而在windows集群上部署故障轉(zhuǎn)移集群,本文采用雙機熱備的結(jié)構(gòu)進行部署。
雙機熱備結(jié)構(gòu)如圖2所示。
圖2 雙機熱備結(jié)構(gòu)示意
(2)故障轉(zhuǎn)移集群部署需要以下四個大的步驟:
①為保證數(shù)據(jù)的一致性,數(shù)據(jù)文件需要統(tǒng)一存儲在共享磁盤陣列即存儲中。同時保存在存儲中硬盤的i/o訪問效率也大大提高,數(shù)據(jù)的容錯性也可以得到保證,間接提升了數(shù)據(jù)庫服務(wù)器的性能。
②需要搭建Windows域控環(huán)境,由域控來監(jiān)控網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)的運行狀態(tài)。域控服務(wù)器不需要很高的贏家你配置。
③部署操作系統(tǒng)的故障轉(zhuǎn)移集群即Windows的故障轉(zhuǎn)移集群。這一過程可以由Windows自帶的集群軟件實現(xiàn)。該集群在部署過程中需要將磁盤陣列劃分為仲裁盤,MSDTC盤和共享數(shù)據(jù)磁盤三個盤。共享數(shù)據(jù)磁盤存放系統(tǒng)數(shù)據(jù)文件,并需要保證該磁盤能被主備數(shù)據(jù)庫服務(wù)器同時訪問。
④在windows故障轉(zhuǎn)移集群上安裝數(shù)據(jù)庫產(chǎn)品,完成數(shù)據(jù)庫的故障轉(zhuǎn)移集群部署。部署方式有兩種:第一種是先完成主節(jié)點數(shù)據(jù)庫服務(wù)器的集群部署,然后將備節(jié)點數(shù)據(jù)庫服務(wù)器加入集群,第二種為主備節(jié)點服務(wù)器均部署數(shù)據(jù)庫完畢后,一起構(gòu)建集群。
利用故障轉(zhuǎn)移群集管理器創(chuàng)建Windows群集。正常配置集群過程中,需要配置集群名稱和集群對外Ip,集群自動選擇仲裁盤和共享數(shù)據(jù)盤。配置過程如圖3所示。
配置成功后,可以進入如下界面對群集進行管理和維護。
可以測試故障轉(zhuǎn)移集群常見故障有如下四種:
(1)資源故障:例如服務(wù)意外終止,I/O通訊故障等。將SQLSERVER數(shù)據(jù)庫服務(wù)或者故障轉(zhuǎn)移集群服務(wù)強行終止,集群自動轉(zhuǎn)移集群到另一節(jié)點。
(2)認(rèn)為轉(zhuǎn)移:可以手動終止或者啟動某節(jié)點集群服務(wù),如果該節(jié)點為應(yīng)用程序的執(zhí)行者,則自動轉(zhuǎn)移到另一節(jié)點。
圖3 配置過程圖
(3)意外故障:硬關(guān)機關(guān)掉服務(wù)器或者拔掉電源,拔掉公網(wǎng)網(wǎng)線,如果均為應(yīng)用程序的執(zhí)行者,則能執(zhí)行故障轉(zhuǎn)移到另一節(jié)點。
(4)其他情況:拔掉內(nèi)網(wǎng)網(wǎng)線(心跳網(wǎng)絡(luò)網(wǎng)線),表面無影響。對非運行節(jié)點執(zhí)行上述意外故障,無影響。
首先在主次節(jié)點服務(wù)器上安裝SQLServer2008:選擇高級和高級集群準(zhǔn)備,配置安裝程序支持規(guī)則,選擇數(shù)據(jù)庫引擎服務(wù),配置相同的安裝實例,按步驟安裝直至完成。
其次配置集群實例:配置集群網(wǎng)絡(luò)名稱及資源組,選擇數(shù)據(jù)文件所在存儲上的共享磁盤資源,對群集進行網(wǎng)絡(luò)配置和故障轉(zhuǎn)移群集安全策略,參數(shù)配置如圖4所示。
圖4 參數(shù)配置圖
最后數(shù)據(jù)庫集群安裝完成,完成后打開群集管理器,對數(shù)據(jù)庫集群進行維護,測試和管理,其過程如圖5所示。
圖5 測試管理過程圖
可以測試故障轉(zhuǎn)移集群常見故障:
群集在節(jié)點1時,可以正常訪問數(shù)據(jù)庫,把節(jié)點1關(guān)機后,群集服務(wù)切換到節(jié)點2上,再次連接數(shù)據(jù)庫服務(wù)器,還可以正常連接,可以表明群集功能正常,可以正常進行故障轉(zhuǎn)移。
[1]楊志國,等.SQL Server2005數(shù)據(jù)庫管理精講[M].北京:電子工業(yè)出版社,2007.
[2]Kalen Delaney.Microsoft SQl Server 2005技術(shù)內(nèi)幕:存儲引擎[M].北京:電子工業(yè)出版社,2007.
[3]史文路.雙機熱備份系統(tǒng)的研究與設(shè)計[D].南京:南京工業(yè)大學(xué),2006.
[4]孫立威,張曉莉,王淑江.精通Windows server2008系統(tǒng)管理與群集[M].北京:中國鐵道出版社,2009.
An Analysis of the Arrangement of Sqlserver2008 Database Transfer Cluster in Windows2008
LIU Jian-jun
(Jilin Provincial Institute of Education,Changchun 130022,China)
With the development and popularization of information technology,database application system is being used more and more widely and the amount of database information increases rapidly.However,the system frequently stops operating due to database server’s being down and fails to achieve 7*24-hour operation.How to guarantee its high availability becomes a hot potato.The problems above can be solved by cluster technology.Clusters are divided into load balancing cluster and fault transfer cluster.Fault transfer cluster mainly serves the database server,which is used to ensure the high availability of the server and high security and of the data.The main purpose of this paper is to study how to plan and design database server by fault shift cluster and to explore how to arrange fault transfer cluster in Windows2008 operating system.
Windows2008;SQLServer2008;fault transfer cluster;high availability
TP311.13
A
1009-3907(2013)10-1252-03
2013-09-06
劉建軍(1978-),男,山東沂水人,工程師,主要從事軟件系統(tǒng)架構(gòu)、軟件設(shè)計、dba方向的研究。
責(zé)任編輯:
吳旭云