黃歲鋒
摘 要:對(duì)核電工程項(xiàng)目來(lái)說(shuō),數(shù)據(jù)庫(kù)承載著整個(gè)施工過(guò)程的數(shù)據(jù),數(shù)據(jù)庫(kù)系統(tǒng)是否安全、穩(wěn)定也直接影響現(xiàn)場(chǎng)施工管理工作,因此,建立高可用性集群數(shù)據(jù)庫(kù)系統(tǒng),是保護(hù)系統(tǒng)能夠持續(xù)穩(wěn)定不間斷運(yùn)行的基礎(chǔ),經(jīng)過(guò)需求分析和市場(chǎng)調(diào)研,本文將利用Oracle自帶的RAC 來(lái)構(gòu)建一套2節(jié)點(diǎn)集群系統(tǒng)來(lái)保障系統(tǒng)的穩(wěn)定運(yùn)行,實(shí)現(xiàn)系統(tǒng)故障的自動(dòng)轉(zhuǎn)移。
關(guān)鍵詞:集群;SAN;Oracle RAC;RAID5
1、集群系統(tǒng)概述
集群系統(tǒng)由多臺(tái)(至少二臺(tái))相互獨(dú)立的、通過(guò)高速網(wǎng)絡(luò)互連的服務(wù)器組成,像一個(gè)單獨(dú)集成的計(jì)算機(jī)資源一樣協(xié)同完成特定任務(wù)的系統(tǒng),任何一臺(tái)服務(wù)器運(yùn)行一個(gè)應(yīng)用時(shí),應(yīng)用數(shù)據(jù)被存儲(chǔ)在共享的數(shù)據(jù)空間內(nèi)。每臺(tái)服務(wù)器的操作系統(tǒng)和應(yīng)用程序文件存儲(chǔ)在其各自的本地儲(chǔ)存空間上。
2、集群系統(tǒng)研究與部署
2.1 集群系統(tǒng)體系結(jié)構(gòu)
本文將采用Oracle11gRAC構(gòu)架和主/備機(jī)本地冗災(zāi)的方式構(gòu)建2節(jié)點(diǎn)集群數(shù)據(jù)庫(kù)系統(tǒng);數(shù)據(jù)庫(kù)由兩臺(tái)服務(wù)器通過(guò)心跳線構(gòu)成,每個(gè)節(jié)點(diǎn)有二塊網(wǎng)卡,一塊接入公網(wǎng),與SAN網(wǎng)絡(luò)存儲(chǔ)的連接使用光纖跳線;這樣可以避免一臺(tái)服務(wù)器出現(xiàn)故障時(shí)也不會(huì)影響其正常工作;從軟件組件上講,集群由2臺(tái)服務(wù)器組成,每臺(tái)服務(wù)器有自已的監(jiān)聽器,用于監(jiān)聽自已的網(wǎng)絡(luò)端口,每臺(tái)服務(wù)器有自已的Oracle RAC服務(wù),用于數(shù)據(jù)庫(kù)的集群訪問(wèn);每臺(tái)服務(wù)器有自已的集群就緒服務(wù),用于集群管理;所有的服務(wù)器通過(guò)自已的操作系統(tǒng)訪問(wèn)共享SAN網(wǎng)絡(luò)存儲(chǔ)設(shè)備,共享存儲(chǔ)設(shè)備的存儲(chǔ)機(jī)制使用裸設(shè)備、集群文件系統(tǒng)、自動(dòng)存儲(chǔ)管理、當(dāng)客戶端訪問(wèn)時(shí),由上而下依次調(diào)用相應(yīng)的軟件;總體拓?fù)淙鐖D1:
2.2集群系統(tǒng)平臺(tái)選擇
Oracle數(shù)據(jù)庫(kù)是目前全球公認(rèn)最成熟與穩(wěn)定的數(shù)據(jù)庫(kù)平臺(tái),也是大型數(shù)據(jù)中心以及核心業(yè)務(wù)系統(tǒng)的首選數(shù)據(jù)庫(kù)平臺(tái),本文將采用Oracle11gR2企業(yè)版作為技術(shù)標(biāo)準(zhǔn)、Oracle RAC 作為集群軟件進(jìn)行研究。其相關(guān)產(chǎn)品及套件見下表:
2.3集群數(shù)據(jù)庫(kù)系統(tǒng)軟件組成
在搭建數(shù)據(jù)庫(kù)集群系統(tǒng)中,分別采用兩個(gè)軟件和組件,主要為Oracle數(shù)據(jù)庫(kù)軟件和Oracle ClusterWare軟件以及elxocm和iscsi組件;從邏輯結(jié)構(gòu)上講,集群數(shù)據(jù)中的每臺(tái)服務(wù)器有一個(gè)實(shí)例,每臺(tái)服務(wù)器上的實(shí)例都對(duì)應(yīng)到同一個(gè)數(shù)據(jù)庫(kù),其服務(wù)器使用已有網(wǎng)絡(luò)訪問(wèn)存儲(chǔ)系統(tǒng)。
2.4集群數(shù)據(jù)庫(kù)系統(tǒng)規(guī)與配置
2.4.1數(shù)據(jù)庫(kù)集群存儲(chǔ)機(jī)制
ClusterWare軟件、ORACLE軟件采用NTFS存儲(chǔ)機(jī)制;Voting Disk、OCR、 RAC數(shù)據(jù)庫(kù)、恢復(fù)文件(Recovery File)采用RAW DEVICE存儲(chǔ)機(jī)制。
2.4.2集群系統(tǒng)支撐平臺(tái)規(guī)劃
集群數(shù)據(jù)庫(kù)支撐平臺(tái)采用Windows Server 2008 R2 64位體系結(jié)構(gòu)的網(wǎng)絡(luò)操作系統(tǒng),配置兩個(gè)公有IP,兩個(gè)虛擬IP,兩個(gè)私有IP。其中公有、虛擬IP在DNS中注冊(cè);專用在主機(jī)文件中注冊(cè)。
2.5 存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)
SAN實(shí)際上是一種獨(dú)立于TCP/IP網(wǎng)絡(luò)之外的專用網(wǎng)絡(luò);通過(guò)光纖交換機(jī)、光纖通道將應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器、磁盤陣列連接起來(lái),形成數(shù)據(jù)傳輸?shù)母咚倬W(wǎng)絡(luò)環(huán)境;由于SAN提供了一種與現(xiàn)有LAN連接的簡(jiǎn)易方法,并且支持廣泛使用的IP協(xié)議,不受SCSI存儲(chǔ)結(jié)構(gòu)的布局限制,允許任何服務(wù)器連接到任何存儲(chǔ)陣列,這樣不管數(shù)據(jù)置放在那里,服務(wù)器都可直接存取所需的數(shù)據(jù)。
2.6心跳檢測(cè)機(jī)制
心跳檢測(cè)機(jī)制是定時(shí)發(fā)送一個(gè)自定義的心跳包讓對(duì)方知道是否存在故障,以確保連接的有效性的機(jī)制;本文將采用TCP/ IP方式設(shè)置心跳;通過(guò)TCP/ IP 等方式在兩臺(tái)集群數(shù)據(jù)庫(kù)服務(wù)器之間保持周期性信號(hào)握手, 用來(lái)互相偵測(cè)對(duì)方的工作狀態(tài);如果監(jiān)視器連續(xù)沒有收到的心跳信號(hào)到了一定數(shù)目, 集群系統(tǒng)即開始啟用系統(tǒng)故障恢復(fù)功能, 將IP地址切換到另一臺(tái)數(shù)據(jù)庫(kù)服務(wù)器上并啟動(dòng)相應(yīng)服務(wù)。因此心跳線在保證集群系統(tǒng)正常工作中起著非常重要作用。
3、總結(jié)
通過(guò)對(duì)集群系統(tǒng)研究與應(yīng)用,雖然能給信息系統(tǒng)安全穩(wěn)定運(yùn)行提供有力保障,可以實(shí)現(xiàn)系統(tǒng)自動(dòng)故障轉(zhuǎn)移,多節(jié)負(fù)載均衡;但是由于采用Oracle自身的集群技術(shù),只能對(duì)Oracle數(shù)據(jù)庫(kù)進(jìn)行故障切換;成本較高;因此,需要在虛擬化環(huán)境建立集群系統(tǒng),然后通過(guò)HA、DRS、快照等技術(shù)實(shí)現(xiàn)故障切換和資源的動(dòng)態(tài)負(fù)載,確保系統(tǒng)始終處理最佳狀態(tài);從而節(jié)省成本。
參考文獻(xiàn):
[1](美).羅尼,Oracle Database11G. 北京.清華大學(xué)出版社.2010..
[2]孫立威.張曉莉.王淑江,精通WindowsServer2008系統(tǒng)管理與群集. 北京.中國(guó)鐵道出版社.2010.
[3] Thomas Kyte,Oracle Database 9i/10g/11g編程藝術(shù):深入數(shù)據(jù)庫(kù)體系結(jié)構(gòu)(第2版)北京:人民郵電出版社,2011.
[4] 百度文庫(kù).http://www.baidu.com;