徐欣 劉寶鍾
摘要:數(shù)據(jù)庫平臺(tái)在服務(wù)系統(tǒng)中處于核心位置,數(shù)據(jù)庫性能的優(yōu)劣將直接決定了平臺(tái)性能的優(yōu)劣而一個(gè)好的容災(zāi)方案將極大的提高數(shù)據(jù)庫的實(shí)用性。本文以新農(nóng)村建設(shè)數(shù)字化綜合服務(wù)系統(tǒng)平臺(tái)容災(zāi)方案設(shè)計(jì)為例,詳細(xì)的闡述了平臺(tái)容災(zāi)方案的建設(shè)依據(jù)和建設(shè)目標(biāo),對(duì)今后數(shù)據(jù)庫容災(zāi)方案解決具有參考價(jià)值。
關(guān)鍵詞:新農(nóng)村建設(shè),數(shù)據(jù)庫,容災(zāi)
項(xiàng)目來源:重慶市科技攻關(guān)計(jì)劃項(xiàng)目《村鎮(zhèn)新農(nóng)村建設(shè)數(shù)字化綜合服務(wù)系統(tǒng)平臺(tái)關(guān)鍵技術(shù)研究與應(yīng)用示范》(課題編號(hào)CSTC2011AC1077)。
容災(zāi)系統(tǒng)是指在相隔較遠(yuǎn)的異地,建立兩套或多套功能相同的IT系統(tǒng),互相之間可以進(jìn)行健康狀態(tài)監(jiān)視和功能切換,當(dāng)一處系統(tǒng)因意外(如火災(zāi)、地震等)停止工作時(shí),整個(gè)應(yīng)用系統(tǒng)可以切換到另一處,使得該系統(tǒng)功能可以繼續(xù)正常工作。容災(zāi)技術(shù)是系統(tǒng)的高可用性技術(shù)的一個(gè)組成部分,容災(zāi)系統(tǒng)更加強(qiáng)調(diào)處理外界環(huán)境對(duì)系統(tǒng)的影響,特別是災(zāi)難性事件對(duì)整個(gè)IT節(jié)點(diǎn)的影響,提供節(jié)點(diǎn)級(jí)別的系統(tǒng)恢復(fù)功能。
村鎮(zhèn)新農(nóng)村建設(shè)數(shù)字化綜合服務(wù)系統(tǒng)平臺(tái)是為了構(gòu)建面向新農(nóng)村建設(shè)的鄉(xiāng)鎮(zhèn)與行政村綜合信息服務(wù)體系和應(yīng)用模式,為基層農(nóng)業(yè)農(nóng)村信息化的建設(shè)、發(fā)展與應(yīng)用推廣提供幫助。平臺(tái)面向新農(nóng)村建設(shè)的農(nóng)村基層(包括村民、村民小組、行政村、農(nóng)業(yè)產(chǎn)業(yè)化項(xiàng)目等)的信息采集分類與代碼標(biāo)準(zhǔn)、資源共享技術(shù)標(biāo)準(zhǔn)與規(guī)則,建立一批服務(wù)于農(nóng)業(yè)農(nóng)村經(jīng)濟(jì)發(fā)展的信息資源專題數(shù)據(jù)庫,該類數(shù)據(jù)庫能夠?qū)崿F(xiàn)異構(gòu)信息系統(tǒng)的有效集成和整合。通過村鎮(zhèn)一體化的新農(nóng)村建設(shè)數(shù)字化綜合服務(wù)系統(tǒng)平臺(tái)建設(shè),能夠?yàn)檗r(nóng)業(yè)、農(nóng)村和農(nóng)民提供可靠便捷的信息服務(wù),從而節(jié)約基層政府的行政成本,提高政府的辦事效率和服務(wù)質(zhì)量,為農(nóng)民提供方便、快捷的信息服務(wù)。
根據(jù)IT內(nèi)控建立異地備份系統(tǒng)的要求,結(jié)合村鎮(zhèn)新農(nóng)村建設(shè)數(shù)字化綜合服務(wù)系統(tǒng)平臺(tái)各業(yè)務(wù)系統(tǒng)的實(shí)際需求,特建立一個(gè)獨(dú)立的遠(yuǎn)端業(yè)務(wù)中心作為系統(tǒng)平臺(tái)內(nèi)部的主要冗災(zāi)中心。該中心將設(shè)置相應(yīng)的存儲(chǔ)系統(tǒng),通信線路保障,主機(jī)服務(wù)器以及應(yīng)用服務(wù)器,當(dāng)主業(yè)務(wù)系統(tǒng)發(fā)生災(zāi)難時(shí),遠(yuǎn)端的容災(zāi)系統(tǒng)將自動(dòng)或人工啟用,在極短的時(shí)間內(nèi)接管整個(gè)主業(yè)務(wù)系統(tǒng)的業(yè)務(wù)應(yīng)用,做到各業(yè)務(wù)單元的平滑切換,保證數(shù)據(jù)的一致性,業(yè)務(wù)的連續(xù)性。并且在保持備份中心安全運(yùn)行的基礎(chǔ)上,快速恢復(fù)主業(yè)務(wù)系統(tǒng)的業(yè)務(wù)數(shù)據(jù)。
對(duì)于平臺(tái)內(nèi)部的各類IT支撐系統(tǒng),團(tuán)隊(duì)根據(jù)各系統(tǒng)故障對(duì)公司業(yè)務(wù)產(chǎn)生影響的重要性,確定了本次方案先完成重要的前端系統(tǒng)(包括村民基本數(shù)據(jù)系統(tǒng)、村鎮(zhèn)基層組織數(shù)據(jù)系統(tǒng)、村鎮(zhèn)管理系統(tǒng))的異地容災(zāi)備份。經(jīng)分析,村民基本數(shù)據(jù)系統(tǒng)、村鎮(zhèn)基層組織數(shù)據(jù)系統(tǒng)、村鎮(zhèn)管理系統(tǒng)三個(gè)系統(tǒng)的數(shù)據(jù)總量約是3T左右。
Oracle Data Guard 是ORACLE數(shù)據(jù)庫提供的一個(gè)基于歸檔日志遠(yuǎn)程復(fù)制的災(zāi)備方案,其原理是在遠(yuǎn)程災(zāi)備服務(wù)器上安裝和配置一套與生產(chǎn)系統(tǒng)完全一致的ORACLE數(shù)據(jù)庫熱備份系統(tǒng)。在生產(chǎn)服務(wù)器工作時(shí),將產(chǎn)生的數(shù)據(jù)庫歸檔日志遠(yuǎn)程傳遞到備份系統(tǒng),并在備份系統(tǒng)上重演日志中的操作,使兩邊的數(shù)據(jù)保持同步。當(dāng)生產(chǎn)數(shù)據(jù)庫損毀時(shí),備份系統(tǒng)上的數(shù)據(jù)庫可以接替工作。
本方案采用Oracle Data Guard方式,要求主服務(wù)器和備用服務(wù)器上的Oracle數(shù)據(jù)庫和操作系統(tǒng)的版本相同。因此,我們?cè)跒?zāi)備機(jī)房配置一臺(tái)IBM主機(jī)和一個(gè)存儲(chǔ),其可用硬盤容量大于primary site數(shù)據(jù)庫存儲(chǔ)總合。其中IBM小型機(jī),安裝操作系統(tǒng)為AIX5.3,并安裝三個(gè)Oracle數(shù)據(jù)庫,版本為 8.1.7.4(10000號(hào)數(shù)據(jù)庫不用進(jìn)行數(shù)據(jù)同步)。生產(chǎn)系統(tǒng)和災(zāi)備系統(tǒng)間的數(shù)據(jù)庫通過Oracle Data Guard技術(shù)來實(shí)現(xiàn)數(shù)據(jù)同步。方案實(shí)施后的網(wǎng)絡(luò)拓?fù)鋱D1所示:
實(shí)現(xiàn)本方案需要的設(shè)備和環(huán)境搭建如下:
容災(zāi)機(jī)房配置一臺(tái)IBM小型機(jī),型號(hào)為IBM P5-550Q,做為村民基本數(shù)據(jù)系統(tǒng)、村鎮(zhèn)基層組織數(shù)據(jù)系統(tǒng)、村鎮(zhèn)管理系統(tǒng)的備用數(shù)據(jù)庫服務(wù)器。安裝操作系統(tǒng)為AIX5.3,同時(shí)在這臺(tái)服務(wù)器上安裝兩個(gè)Oracle數(shù)據(jù)庫,版本都為 8.1.7.4。
容災(zāi)機(jī)房配置一臺(tái)IBM存儲(chǔ)設(shè)備,型號(hào)為IBM DS4800,裸容量為6T左右,采用Raid5+1hotspare的方式進(jìn)行數(shù)據(jù)容余。
容災(zāi)機(jī)房配置至少1臺(tái)16口SAN光纖交換機(jī),型號(hào)為IBM 2026-416,為提高可靠性建議在條件允許的情況下配置2臺(tái)。
兩機(jī)房的光纖交換機(jī)分別連接一臺(tái)Fiber Channel轉(zhuǎn)IP的路由器,從而可以通過遠(yuǎn)程IP網(wǎng)絡(luò)連接進(jìn)行數(shù)據(jù)復(fù)制。
在主系統(tǒng)正常工作的同時(shí)將主系統(tǒng)產(chǎn)生歸檔日志文件(Archived Log)不斷的傳送到后備數(shù)據(jù)庫系統(tǒng),并且利用這些日志文件在后備數(shù)據(jù)庫系統(tǒng)上連續(xù)進(jìn)行恢復(fù)(Recover)操作,以保持后備系統(tǒng)與運(yùn)行系統(tǒng)的一致。當(dāng)主系統(tǒng)發(fā)生故障時(shí),使用備份的數(shù)據(jù)庫日志文件在后備數(shù)據(jù)庫上恢復(fù)主數(shù)據(jù)庫內(nèi)的數(shù)據(jù)。
當(dāng)需要將主系統(tǒng)切換到后備系統(tǒng)時(shí),需進(jìn)行以下步驟:首先如果主數(shù)據(jù)庫還可以工作,將主數(shù)據(jù)庫的日志文件歸檔;然后將所有備份的主數(shù)據(jù)庫的日志傳送到后備系統(tǒng);再使用主數(shù)據(jù)庫的日志在后備數(shù)據(jù)庫上進(jìn)行恢復(fù),使后備數(shù)據(jù)庫達(dá)到主數(shù)據(jù)庫故障前的狀態(tài);激活(activate)后備數(shù)據(jù)庫;根據(jù)需要備份后備數(shù)據(jù)庫的所有數(shù)據(jù);最后啟動(dòng)后備數(shù)據(jù)庫,恢復(fù)業(yè)務(wù)處理;系統(tǒng)切換時(shí)的示意圖如圖2所示:
新農(nóng)村建設(shè)數(shù)字化綜合服務(wù)系統(tǒng)平臺(tái)容災(zāi)方案設(shè)計(jì),詳細(xì)的闡述了平臺(tái)容災(zāi)方案的建設(shè)依據(jù)和建設(shè)目標(biāo),對(duì)今后數(shù)據(jù)庫容災(zāi)方案解決具有參考價(jià)值。