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