郭晶 程卓 王勇 田攀
(四川中電啟明星信息技術(shù)有限公司)
云計(jì)算通常通過(guò)互聯(lián)網(wǎng)提供動(dòng)態(tài)可擴(kuò)展的資源,按需響應(yīng)服務(wù)按用戶(hù)使用量進(jìn)行付費(fèi)[1-2]。企業(yè)的信息系統(tǒng)云化成為必然趨勢(shì),通過(guò)信息系統(tǒng)云化,可實(shí)現(xiàn)按需彈性服務(wù),減少運(yùn)維成本[3]。信息系統(tǒng)上云后,如何在云環(huán)境下保障信息系統(tǒng)可靠性成為業(yè)界關(guān)注焦點(diǎn)[4]。
國(guó)家電網(wǎng)公司(簡(jiǎn)稱(chēng)“國(guó)網(wǎng)公司”)對(duì)于云計(jì)算整體規(guī)劃為“三朵云”,即生產(chǎn)控制云、企業(yè)管理云、公共服務(wù)云[5],由一體化“國(guó)網(wǎng)云”平臺(tái)(簡(jiǎn)稱(chēng)“云平臺(tái)”)及其支撐的各類(lèi)業(yè)務(wù)應(yīng)用組成。云平臺(tái)能實(shí)現(xiàn)IT資源的統(tǒng)一管理,有力促進(jìn)業(yè)務(wù)集成融合。因?yàn)樽灾餮邪l(fā)的產(chǎn)品在功能性、穩(wěn)定可靠性上沒(méi)有市面上已有的云虛擬產(chǎn)品成熟。當(dāng)前國(guó)網(wǎng)公司中關(guān)于云平臺(tái)可靠性的措施還處于初級(jí)階段,存在內(nèi)存、CPU資源耗盡時(shí),需要人工手動(dòng)調(diào)整資源利用率,服務(wù)器與操作系統(tǒng)中集群內(nèi)存用量居高不下,無(wú)法支持HA等問(wèn)題,缺乏體系化保障措施和系統(tǒng)架構(gòu)設(shè)計(jì)[6-7]。
文章借助云平臺(tái)基礎(chǔ)能力,整合網(wǎng)絡(luò)、存儲(chǔ)、運(yùn)行環(huán)境等多個(gè)環(huán)節(jié)的資源,基于云計(jì)算的雙活數(shù)據(jù)中心架構(gòu)和信息系統(tǒng)一二次劃分的思路,構(gòu)建云平臺(tái)下信息系統(tǒng)可靠性架構(gòu)。
傳統(tǒng)的數(shù)據(jù)中心架構(gòu)一般設(shè)計(jì)為一個(gè)主數(shù)據(jù)中心和一個(gè)備份數(shù)據(jù)中心,只有當(dāng)主數(shù)據(jù)中心出現(xiàn)問(wèn)題停止服務(wù)時(shí),備份數(shù)據(jù)中心才發(fā)揮作用開(kāi)始運(yùn)轉(zhuǎn),在切換時(shí)有一段空白時(shí)間內(nèi),兩個(gè)數(shù)據(jù)中心都未處于工作狀態(tài),該情況可能會(huì)使在空白時(shí)間內(nèi)的信息系統(tǒng)產(chǎn)生的數(shù)據(jù)丟失[8-9]。
近年來(lái),隨著信息技術(shù)的飛速發(fā)展和用戶(hù)對(duì)可靠性需求增強(qiáng),數(shù)據(jù)中心多采用雙活架構(gòu),兩個(gè)數(shù)據(jù)中心同時(shí)運(yùn)行工作互為備份,共同承擔(dān)工作任務(wù)。在高速網(wǎng)絡(luò)技術(shù),虛擬化技術(shù)與云計(jì)算技術(shù)支持下,可以較為迅速的將一個(gè)數(shù)據(jù)中心遷移至另一個(gè)數(shù)據(jù)中心,可以認(rèn)為在進(jìn)行數(shù)據(jù)中心遷移時(shí)幾乎沒(méi)有空白時(shí)間,丟失數(shù)據(jù)遠(yuǎn)少于采用傳統(tǒng)數(shù)據(jù)中心備份方案時(shí)的丟失數(shù)據(jù)量[10-11]。
基于云計(jì)算的雙活數(shù)據(jù)中心架構(gòu)如圖1所示。該雙活數(shù)據(jù)中心架構(gòu)中,采用云計(jì)算架構(gòu)構(gòu)建計(jì)算系統(tǒng),把數(shù)據(jù)中心物理服務(wù)器的各硬件資源進(jìn)行虛擬化[12],按需生成多個(gè)虛擬服務(wù)器來(lái)支撐不同的應(yīng)用服務(wù),大幅提升服務(wù)器資源的利用率。同時(shí)采用云計(jì)算架構(gòu)使得上層應(yīng)用服務(wù)能夠分布在多個(gè)物理服務(wù)器中運(yùn)行,保證在某一臺(tái)物理服務(wù)器出現(xiàn)異常故障時(shí),該臺(tái)服務(wù)器上運(yùn)行的應(yīng)用服務(wù)能夠及時(shí)遷移至其他仍能夠正常工作的物理服務(wù)器中,提高了數(shù)據(jù)中心計(jì)算系統(tǒng)的可靠性,即使其中一個(gè)數(shù)據(jù)中心的計(jì)算系統(tǒng)中的全部計(jì)算資源都出現(xiàn)問(wèn)題,該數(shù)據(jù)中心所承載的運(yùn)算任務(wù)仍然能夠通過(guò)使用另一個(gè)計(jì)算中心的計(jì)算資源的方式繼續(xù)運(yùn)行。
目前信息系統(tǒng)架構(gòu)較為復(fù)雜,生產(chǎn)作業(yè)系統(tǒng)和信息支撐系統(tǒng)混合部署,功能耦合,存在故障互擾和同時(shí)失效問(wèn)題。電力系統(tǒng)通過(guò)一二次設(shè)備的劃分、專(zhuān)業(yè)管理以及故障隔離分段保護(hù)等措施,支撐了電網(wǎng)高可靠運(yùn)行[13-14]。借鑒電力系統(tǒng)可靠性設(shè)計(jì),將信息系統(tǒng)按一次二次系統(tǒng)劃分。信息一次系統(tǒng)由信息系統(tǒng)中負(fù)責(zé)信息采集、傳輸、處理、存儲(chǔ)和輸出的設(shè)備及軟件構(gòu)成,其工作對(duì)象為信息內(nèi)容,包括對(duì)信息進(jìn)行加工處理,轉(zhuǎn)運(yùn)分配等。信息二次系統(tǒng)由保障信息一次系統(tǒng)可靠運(yùn)行的相關(guān)設(shè)備及軟件構(gòu)成,具備故障診斷、故障恢復(fù)和應(yīng)急處理等方面的能力。
基于信息系統(tǒng)一二次劃分的思路和基于云計(jì)算的雙活數(shù)據(jù)中心架構(gòu),構(gòu)建云平臺(tái)下信息系統(tǒng)可靠性架構(gòu)。主要是將信息系統(tǒng)中的二次系統(tǒng),如資源調(diào)度監(jiān)控系統(tǒng),下沉到云平臺(tái)環(huán)境中,云平臺(tái)環(huán)境下高可靠架構(gòu)模塊圖如圖2所示。
基于云環(huán)境的技術(shù)架構(gòu),按照應(yīng)用架構(gòu)評(píng)估和應(yīng)用雙活的設(shè)計(jì)原則,采用PAAS層提供的負(fù)載均衡、分布式緩存、消息處理、分布式存儲(chǔ)等服務(wù),將可靠性保障的關(guān)鍵技術(shù)下沉至云平臺(tái),形成雙活云災(zāi)備方案,降低應(yīng)用可靠性保障的復(fù)雜度和投資成本。雙活容災(zāi)云架構(gòu)如圖3所示。
兩個(gè)數(shù)據(jù)中心同時(shí)為用戶(hù)提供服務(wù),一旦某個(gè)數(shù)據(jù)中心的應(yīng)用系統(tǒng)出現(xiàn)狀況,另外的數(shù)據(jù)中心能夠持續(xù)為用戶(hù)提供服務(wù),從而提高服務(wù)可靠性[15]。在技術(shù)實(shí)現(xiàn)方面,應(yīng)用組件支持跨數(shù)據(jù)中心的分布式部署,可以同時(shí)提供對(duì)外服務(wù),通過(guò)負(fù)載均衡實(shí)現(xiàn)應(yīng)用組件級(jí)多活。存儲(chǔ)和計(jì)算架構(gòu)的詳細(xì)設(shè)計(jì)下文進(jìn)行介紹。
該架構(gòu)在兩個(gè)數(shù)據(jù)中心分別部署相應(yīng)的存儲(chǔ)陣列、虛擬存儲(chǔ)網(wǎng)關(guān)、存儲(chǔ)主機(jī)等設(shè)施以及對(duì)應(yīng)的光纖交換機(jī),根據(jù)雙活數(shù)據(jù)中心架構(gòu)中的兩個(gè)數(shù)據(jù)中心的物理距離,采用光纖直連或密集波分復(fù)用設(shè)備(DWDM)連接兩個(gè)數(shù)據(jù)中心,實(shí)現(xiàn)心跳、存儲(chǔ)域網(wǎng)絡(luò)業(yè)務(wù)的匯聚與遠(yuǎn)距離數(shù)據(jù)傳輸。兩個(gè)數(shù)據(jù)中心中的虛擬存儲(chǔ)網(wǎng)關(guān)組成跨站點(diǎn)的雙活集群,共同負(fù)責(zé)兩數(shù)據(jù)中心的存儲(chǔ)陣列,形成跨數(shù)據(jù)中心的存儲(chǔ)資源池,該集群負(fù)責(zé)管理存儲(chǔ)系統(tǒng)與上層應(yīng)用的交互。上層應(yīng)用服務(wù)向存儲(chǔ)系統(tǒng)的訪問(wèn)請(qǐng)求由兩個(gè)數(shù)據(jù)中心的虛擬存儲(chǔ)網(wǎng)關(guān)所組成的集群共同處理,當(dāng)其中一個(gè)數(shù)據(jù)中心的虛擬存儲(chǔ)網(wǎng)關(guān)出現(xiàn)故障時(shí),另一個(gè)數(shù)據(jù)中心的虛擬存儲(chǔ)網(wǎng)關(guān)可以立即接管所有來(lái)自上層應(yīng)用服務(wù)的存儲(chǔ)/讀取請(qǐng)求。通過(guò)虛擬網(wǎng)關(guān)鏡像卷技術(shù),實(shí)現(xiàn)兩個(gè)數(shù)據(jù)中心存儲(chǔ)系統(tǒng)相互備份。該高可靠存儲(chǔ)系統(tǒng)架構(gòu)示意圖如圖4所示。
將兩個(gè)數(shù)據(jù)中心的虛擬存儲(chǔ)網(wǎng)關(guān)組成雙活集群的優(yōu)點(diǎn)為,可以實(shí)現(xiàn)存儲(chǔ)數(shù)據(jù)的跨數(shù)據(jù)中心訪問(wèn)。若兩個(gè)數(shù)據(jù)中心的虛擬存儲(chǔ)網(wǎng)關(guān)未組成雙活虛擬存儲(chǔ)網(wǎng)關(guān)集群,則每一臺(tái)虛擬存儲(chǔ)網(wǎng)關(guān)設(shè)備在處理來(lái)自上層應(yīng)用服務(wù)對(duì)于存儲(chǔ)系統(tǒng)的訪問(wèn)請(qǐng)求時(shí),只能夠返回存儲(chǔ)于該數(shù)據(jù)中心的存儲(chǔ)陣列中的數(shù)據(jù),若上層應(yīng)用服務(wù)所請(qǐng)求的數(shù)據(jù)并未存儲(chǔ)在該數(shù)據(jù)中心的存儲(chǔ)陣列中,則該虛擬存儲(chǔ)網(wǎng)關(guān)無(wú)法向上層應(yīng)用服務(wù)返回其需要的數(shù)據(jù),上層應(yīng)用服務(wù)需要再次向另一個(gè)數(shù)據(jù)中心的虛擬存儲(chǔ)網(wǎng)關(guān)請(qǐng)求數(shù)據(jù),增大了數(shù)據(jù)中心承載的通信壓力。若采用該構(gòu)架的高可靠存儲(chǔ)系統(tǒng)方案,則虛擬存儲(chǔ)網(wǎng)關(guān)組成的集群系統(tǒng)可以直接讀取兩個(gè)數(shù)據(jù)中心中的任意一個(gè)存儲(chǔ)陣列中的數(shù)據(jù),也即應(yīng)用服務(wù)可以向數(shù)據(jù)中心A的虛擬存儲(chǔ)網(wǎng)關(guān)設(shè)備請(qǐng)求任意數(shù)據(jù)而無(wú)需關(guān)心該數(shù)據(jù)實(shí)際是存儲(chǔ)于數(shù)據(jù)中心A還是數(shù)據(jù)中心B,即使數(shù)據(jù)存儲(chǔ)于數(shù)據(jù)中心B,位于數(shù)據(jù)中心A的虛擬網(wǎng)關(guān)存儲(chǔ)設(shè)備可以直接進(jìn)行跨站點(diǎn)讀取,取得數(shù)據(jù)中心B中存儲(chǔ)的數(shù)據(jù),依然能夠向上層應(yīng)用服務(wù)返回其需要的數(shù)據(jù)。
該架構(gòu)可以保證當(dāng)某一個(gè)數(shù)據(jù)中心的存儲(chǔ)系統(tǒng)中的虛擬存儲(chǔ)網(wǎng)關(guān)設(shè)備或存儲(chǔ)陣列設(shè)備出現(xiàn)異常故障時(shí),該數(shù)據(jù)中心中的存儲(chǔ)系統(tǒng)不會(huì)完全癱瘓,仍能夠使用另一個(gè)數(shù)據(jù)中心中的虛擬存儲(chǔ)網(wǎng)關(guān)設(shè)備完成對(duì)本地存儲(chǔ)陣列中的數(shù)據(jù)的讀取與寫(xiě)入,或者使用另一個(gè)數(shù)據(jù)中心中的數(shù)據(jù)備份繼續(xù)完成當(dāng)前該數(shù)據(jù)中心計(jì)算系統(tǒng)中正在執(zhí)行的工作任務(wù),使得該數(shù)據(jù)中心所承載的業(yè)務(wù)不受影響。
在該架構(gòu)中,為了使用虛擬化平臺(tái)技術(shù)實(shí)現(xiàn)數(shù)據(jù)中心對(duì)多個(gè)應(yīng)用服務(wù)的支持,系統(tǒng)使用配置管理數(shù)據(jù)庫(kù)來(lái)進(jìn)行對(duì)各個(gè)應(yīng)用服務(wù)的軟硬件資源需求進(jìn)行管理。利用虛擬化技術(shù)重構(gòu)數(shù)據(jù)中心的計(jì)算資源,并按照具體應(yīng)用服務(wù)的說(shuō)明建立應(yīng)用服務(wù)的運(yùn)行環(huán)境,在虛擬化平臺(tái)中模擬運(yùn)行應(yīng)用服務(wù),并在運(yùn)行過(guò)程中進(jìn)行資源監(jiān)控,從而獲取應(yīng)用服務(wù)運(yùn)行時(shí)的具體軟硬件資源需求,將獲取的數(shù)據(jù)進(jìn)行歸檔從而構(gòu)建CMDB。
該架構(gòu)基于共享存儲(chǔ),將多臺(tái)位于不同地點(diǎn),具有高性能CPU與大容量?jī)?nèi)存的計(jì)算機(jī)組成VMware vSphere分布式集群系統(tǒng)。集群系統(tǒng)通過(guò)vSphere HA功能,保證當(dāng)集群中的某一主機(jī)或多臺(tái)主機(jī)故障時(shí),將故障主機(jī)上正在運(yùn)行的應(yīng)用服務(wù)業(yè)務(wù)即刻切換至仍正常工作的主機(jī)上,保證信息系統(tǒng)持續(xù)可靠平穩(wěn)運(yùn)行,保障應(yīng)用服務(wù)業(yè)務(wù)的中斷時(shí)間處于最少狀態(tài),無(wú)數(shù)據(jù)丟失。集群系統(tǒng)采用VMware DRS功能實(shí)現(xiàn)跨數(shù)據(jù)中心的分布式資源調(diào)度與負(fù)載均衡,充分利用兩個(gè)數(shù)據(jù)中心的資源。
文章基于互聯(lián)網(wǎng)可靠性技術(shù)與信息系統(tǒng)一二次劃分的思路,形成基于國(guó)網(wǎng)云平臺(tái)的信息系統(tǒng)可靠性架構(gòu)設(shè)計(jì)。該架構(gòu)有效提升國(guó)網(wǎng)云平臺(tái)信息系統(tǒng)的可靠性,有效解決目前云平臺(tái)資源調(diào)節(jié)和高可用性等方面存在的問(wèn)題,對(duì)于其他云環(huán)境下的信息系統(tǒng)架構(gòu)可靠性提升具有普遍參考意義。