文/江明
企業(yè)信息化建設(shè)中的容災(zāi)系統(tǒng)建設(shè)
文/江明
在企業(yè)信息化建設(shè)中,會(huì)不斷的部署實(shí)施一些應(yīng)用系統(tǒng),應(yīng)用系統(tǒng)的部署架構(gòu)一般分為C/S或者B/S架構(gòu),無論哪一種架構(gòu)的應(yīng)用系統(tǒng),在Server端又會(huì)區(qū)分為前端應(yīng)用系統(tǒng)、中間件系統(tǒng)、數(shù)據(jù)庫系統(tǒng)。以網(wǎng)站系統(tǒng)為例,客戶端訪問https://xxxx.com網(wǎng)址,向Web服務(wù)器發(fā)起訪問查詢請(qǐng)求,Web服務(wù)器根據(jù)客戶端請(qǐng)求的類型,通過中間件或者直接向后臺(tái)數(shù)據(jù)庫讀取數(shù)據(jù),然后將數(shù)據(jù)反饋給客戶端。如果客戶端有提交數(shù)據(jù)的請(qǐng)求,同樣會(huì)由Web服務(wù)器通過中間件或者直接向后臺(tái)數(shù)據(jù)庫進(jìn)行寫入數(shù)據(jù)。在上述系統(tǒng)的架構(gòu)中,Web服務(wù)器或者中間件系統(tǒng)都是沒有數(shù)據(jù)變化的,其僅僅處理來自客戶端的請(qǐng)求,并將請(qǐng)求結(jié)果返回給客戶端,只有后臺(tái)數(shù)據(jù)庫會(huì)產(chǎn)生數(shù)據(jù)變化和更新。
容災(zāi) 負(fù)載 數(shù)據(jù) VMware 高可用
一般情況下,數(shù)據(jù)庫系統(tǒng)要使用專門針對(duì)數(shù)據(jù)庫產(chǎn)品的數(shù)據(jù)庫群集系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)庫服務(wù)器的高可用性(業(yè)務(wù)不中斷)和負(fù)載均衡;
使用專門針對(duì)數(shù)據(jù)庫產(chǎn)品或者第三方的策略備份軟件、容災(zāi)軟件實(shí)現(xiàn)數(shù)據(jù)保護(hù)(數(shù)據(jù)不丟失)。
例如:Oracle數(shù)據(jù)庫系統(tǒng)的RAC技術(shù)可以實(shí)現(xiàn)高可用性和負(fù)載均衡,Oracle RMAN技術(shù)可以實(shí)現(xiàn)數(shù)據(jù)庫定期自動(dòng)備份(策略備份),Oracle DataGuard技術(shù)可以實(shí)現(xiàn)數(shù)據(jù)庫的異地實(shí)時(shí)同步。
SQLServer數(shù) 據(jù) 庫 系 統(tǒng) 的Cluster群集技術(shù)可以實(shí)現(xiàn)故障轉(zhuǎn)移(高可用性),SQLServer自身的備份功能可以實(shí)現(xiàn)策略備份,SQLServer Mirror技術(shù)可以實(shí)現(xiàn)數(shù)據(jù)庫的異地實(shí)時(shí)同步。
借助第三的軟件也可以實(shí)現(xiàn)數(shù)據(jù)庫的策略備份和實(shí)時(shí)同步:比如Symantec NetBackup可以實(shí)現(xiàn)Oracle、SQLServer的策略備份;迪斯杰公司DSG RealSync/SmartE產(chǎn)品可以實(shí)現(xiàn)Oracle數(shù)據(jù)庫的異地實(shí)時(shí)同步。
由于前端應(yīng)用系統(tǒng)不存在數(shù)據(jù)存儲(chǔ)的需求,因此只要為其實(shí)現(xiàn)高可用性,即業(yè)務(wù)訪問不中斷即可。但是又由于前端應(yīng)用系統(tǒng)全部部署在虛擬化環(huán)境中,我們需要針對(duì)虛擬機(jī)層面進(jìn)行數(shù)據(jù)保護(hù),確保虛擬機(jī)數(shù)據(jù)的安全性。
將前端應(yīng)用系統(tǒng)或者中間件系統(tǒng)部署在虛擬化環(huán)境中,服務(wù)器虛擬化本身可以提供硬件級(jí)別的故障轉(zhuǎn)移(高可用性),底層物理機(jī)出現(xiàn)故障時(shí),上層虛擬機(jī)將會(huì)在其他物理機(jī)上進(jìn)行重啟。
結(jié)合前端應(yīng)用系統(tǒng)和中間件系統(tǒng)數(shù)據(jù)不變化的特點(diǎn),建議在客戶端與服務(wù)器中間部署一套負(fù)載均衡設(shè)備,再部署多臺(tái)應(yīng)用系統(tǒng)或中間件系統(tǒng)虛擬機(jī),將其分布在不同的物理服務(wù)器上運(yùn)行,在后臺(tái)形成服務(wù)器池,由負(fù)載均衡設(shè)備負(fù)責(zé)接收客戶端請(qǐng)求并重定向到后臺(tái)服務(wù)器池中負(fù)載較小的虛擬機(jī)上。負(fù)載設(shè)備會(huì)通過不同的通信協(xié)議感知后臺(tái)服務(wù)器虛擬機(jī)的故障,出現(xiàn)故障的虛擬機(jī)將不會(huì)被分發(fā)新的訪問請(qǐng)求。
由于前端應(yīng)用系統(tǒng)都部署在虛擬化環(huán)境中,如果虛擬化層面出現(xiàn)故障,可能會(huì)導(dǎo)致虛擬機(jī)無法啟動(dòng)或者虛擬機(jī)數(shù)據(jù)丟失。因此針對(duì)重要的虛擬機(jī)要部署策略備份或者實(shí)時(shí)同步技術(shù),以達(dá)到保護(hù)虛擬機(jī)的目的。
比如,Data Protection系統(tǒng)可以實(shí)現(xiàn)針對(duì)不同虛擬機(jī)定期自動(dòng)備份的功能;VMware SRM系統(tǒng)可以實(shí)現(xiàn)虛擬機(jī)在異地?cái)?shù)據(jù)中心實(shí)時(shí)同步的功能。
下面以EDP系統(tǒng)和OA系統(tǒng)為例闡述如何部署容災(zāi)環(huán)境,假如EDP系統(tǒng)后臺(tái)數(shù)據(jù)庫為Oracle數(shù)據(jù)庫,OA系統(tǒng)后臺(tái)數(shù)據(jù)庫為SQLServer數(shù)據(jù)庫。
將OA和EDP程序部署在虛擬機(jī)中,VMware服務(wù)器虛擬化環(huán)境本身就提供了高可用性,物理服務(wù)器的故障不會(huì)導(dǎo)致虛擬機(jī)停止服務(wù)(虛擬機(jī)會(huì)在異機(jī)重啟)。
在物理機(jī)出現(xiàn)故障時(shí),如果想避免虛擬機(jī)在其他物理服務(wù)器重啟的現(xiàn)象(零延遲故障轉(zhuǎn)移),可以利用VMware FaultTolerance技術(shù),為OA和EDP虛擬機(jī)分別在其他物理服務(wù)器上啟用實(shí)時(shí)鏡像虛擬機(jī),鏡像端虛擬機(jī)的數(shù)據(jù)是和生產(chǎn)端虛擬機(jī)實(shí)時(shí)同步的,一旦生產(chǎn)虛擬機(jī)所處的物理機(jī)出現(xiàn)故障,生產(chǎn)虛擬機(jī)不會(huì)在其他物理機(jī)上進(jìn)行重啟,而是立即啟用鏡像端虛擬機(jī)對(duì)外提供服務(wù),建議在采取了應(yīng)用負(fù)載均衡設(shè)備的環(huán)境中,可以不需要部署VMware FT技術(shù),因?yàn)閼?yīng)用負(fù)載設(shè)備后臺(tái)有多臺(tái)應(yīng)用程序虛擬機(jī)提供相同的服務(wù)。
在網(wǎng)絡(luò)架構(gòu)的最前端部署應(yīng)用負(fù)載均衡設(shè)備,分別為OA應(yīng)用和EDP應(yīng)用建立應(yīng)用程序服務(wù)器池,將后臺(tái)對(duì)應(yīng)的OA和EDP虛擬機(jī)添加到應(yīng)用程序服務(wù)器池中。
在服務(wù)器虛擬化環(huán)境中部署OA和EDP虛擬機(jī),可以提前分別為OA和EDP虛擬機(jī)創(chuàng)建模板,當(dāng)應(yīng)用負(fù)載設(shè)備應(yīng)用服務(wù)器池中的服務(wù)器節(jié)點(diǎn)數(shù)量不足時(shí),后臺(tái)虛擬機(jī)可以利用模板快速產(chǎn)生新的虛擬機(jī),從而達(dá)到快速擴(kuò)容負(fù)載設(shè)備中應(yīng)用服務(wù)器池的目的。
客戶端訪問OA或者EDP應(yīng)用程序時(shí),先訪問應(yīng)用負(fù)載設(shè)備發(fā)布的地址(OA和EDP為不同的訪問地址),應(yīng)用負(fù)載設(shè)備根據(jù)用戶的訪問類型絕對(duì)從哪個(gè)應(yīng)用服務(wù)器池中調(diào)用服務(wù)器接收客戶端的訪問需求,并且應(yīng)用服務(wù)器池中比較空閑的服務(wù)器會(huì)被優(yōu)先選中作為響應(yīng)服務(wù)器。
至于異地容災(zāi)可視數(shù)據(jù)的重要性以及企業(yè)發(fā)展需求進(jìn)行實(shí)施,本人由于篇幅有限就不詳細(xì)介紹??傊?,在企業(yè)信息化容災(zāi)系統(tǒng)建設(shè)中,信息管理部門要實(shí)現(xiàn)的兩個(gè)終極目標(biāo)是RPO=0,RTO=0,即業(yè)務(wù)不中斷,數(shù)據(jù)不丟失。
因此,信息管理部門需要根據(jù)企業(yè)應(yīng)用系統(tǒng)架構(gòu)中不同的服務(wù)器角色,結(jié)合容災(zāi)建設(shè)目標(biāo),為不同的服務(wù)器角色部署不同的容災(zāi)建設(shè)方案。
作者單位 江蘇康緣藥業(yè)股份有限公司 江蘇省連云港市222000