侯紅祥
(中國(guó)電信股份有限公司泰州分公司,江蘇 泰州 225300)
經(jīng)過(guò)多年的信息化建設(shè),政府、銀行、醫(yī)院、學(xué)校等單位的信息中心已初具規(guī)模,關(guān)鍵信息系統(tǒng)中積累了較多的數(shù)據(jù),但原有系統(tǒng)建設(shè)時(shí)均采用傳統(tǒng)的“煙囪式IT”建設(shè)模式,一個(gè)應(yīng)用模塊部署到一臺(tái)服務(wù)器,由于業(yè)務(wù)系統(tǒng)數(shù)量眾多,采用傳統(tǒng)建設(shè)模式,一個(gè)單位的整套運(yùn)營(yíng)系統(tǒng)至少需要幾十臺(tái)以上服務(wù)器,同時(shí)為了應(yīng)對(duì)少量的峰值負(fù)載,往往會(huì)過(guò)度配置計(jì)算資源,導(dǎo)致資源利用率低下。為了解決以上問(wèn)題需要構(gòu)建一個(gè)合理的數(shù)據(jù)中心[1],實(shí)現(xiàn)從傳統(tǒng)的“煙囪式IT”建設(shè)模式邁向數(shù)據(jù)中心建設(shè)模式,從而消除物理邊界,提升資源利用率,統(tǒng)一資源的分配。
在數(shù)據(jù)中心時(shí)代,為了避免不必要的數(shù)據(jù)丟失,往往需要建兩套數(shù)據(jù)中心。一套作為主中心,運(yùn)營(yíng)生產(chǎn)系統(tǒng),一套作為備中心,作為容災(zāi)系統(tǒng)。當(dāng)主中心的生產(chǎn)系統(tǒng)遇到發(fā)生崩潰或者受到攻擊等情況時(shí),能在規(guī)定的時(shí)間內(nèi)切換到備中心的容災(zāi)系統(tǒng),從而保證生產(chǎn)的連續(xù)性。由于備中心的配置與主中心相當(dāng),硬件投資也相當(dāng),但主中心近乎滿負(fù)荷運(yùn)轉(zhuǎn)時(shí),備中心很空閑,造成了資源的浪費(fèi),設(shè)備的綜合利用率不高。
本文采用虛擬化云技術(shù)對(duì)服務(wù)器資源統(tǒng)一管理,設(shè)計(jì)出一套能自動(dòng)負(fù)載均衡的雙活數(shù)據(jù)中心。用戶層面只看到系統(tǒng)快速高效地運(yùn)轉(zhuǎn),而不用關(guān)心應(yīng)用在主中心還是在備中心運(yùn)行,系統(tǒng)根據(jù)主、備中心的運(yùn)行情況,動(dòng)態(tài)均衡地分配負(fù)載,當(dāng)一個(gè)中心發(fā)生崩潰或者受到攻擊時(shí),另一個(gè)中心能承接所有的負(fù)載,用戶層面應(yīng)用不受影響,從而保障應(yīng)用系統(tǒng)安全、可靠、有效地運(yùn)行,減少了資金的投入,提高了設(shè)備的綜合利用率和性能,簡(jiǎn)化了設(shè)備運(yùn)維管理的復(fù)雜度。
文本介紹了基于虛擬化技術(shù)的雙活數(shù)據(jù)中心方案設(shè)計(jì),首先敘述了數(shù)據(jù)中心的總體架構(gòu),然后從網(wǎng)絡(luò)層面、應(yīng)用層面、數(shù)據(jù)庫(kù)層面、存儲(chǔ)層面描述了如何實(shí)現(xiàn)雙活設(shè)計(jì),最后總結(jié)了實(shí)現(xiàn)雙活設(shè)計(jì)的難點(diǎn),并展望了雙活數(shù)據(jù)中心發(fā)展的方向。
針對(duì)雙活數(shù)據(jù)中心平臺(tái)[2]建設(shè)要求,平臺(tái)總體架構(gòu)如圖1所示,兩個(gè)中心通過(guò)Internet網(wǎng)絡(luò),在核心層和接入層都進(jìn)行負(fù)載均衡,實(shí)現(xiàn)網(wǎng)絡(luò)雙活。中央存儲(chǔ)和服務(wù)器集群分別采用虛擬化技術(shù),實(shí)現(xiàn)應(yīng)用服務(wù)雙活、數(shù)據(jù)庫(kù)雙活和存儲(chǔ)雙活。
圖1 雙活數(shù)據(jù)中心總體架構(gòu)圖
本方案設(shè)計(jì)的重點(diǎn)是主中心和備中心的外聯(lián)網(wǎng)絡(luò)鏈路的雙活,數(shù)據(jù)中心核心網(wǎng)絡(luò)虛擬化,分別在主中心和備中心各配置兩臺(tái)核心交換機(jī)并通過(guò)橫向虛擬化技術(shù)將核心設(shè)備虛擬化為邏輯上的一臺(tái)交換機(jī),簡(jiǎn)化了網(wǎng)絡(luò)管理同時(shí)提高了可靠性,同時(shí)將雙中心的核心網(wǎng)絡(luò)整合成按需調(diào)度的大型虛擬資源池。在雙活數(shù)據(jù)網(wǎng)絡(luò)中心環(huán)境下,數(shù)據(jù)中心通過(guò)前端網(wǎng)絡(luò)雙活技術(shù),用戶能快速訪問(wèn)“距離最近”的可用數(shù)據(jù)中心相對(duì)應(yīng)的業(yè)務(wù),提高服務(wù)響應(yīng)速度,提升用戶訪問(wèn)體驗(yàn)。本方案中數(shù)據(jù)中心的業(yè)務(wù)對(duì)外發(fā)布時(shí),采用純IP地址方式實(shí)現(xiàn)分布式網(wǎng)絡(luò)雙活。
在純IP地址方式的網(wǎng)絡(luò)雙活設(shè)計(jì)中,正常情況下只有主中心對(duì)外發(fā)布業(yè)務(wù)路由,從而將用戶訪問(wèn)流量牽引到主中心,實(shí)現(xiàn)主中心業(yè)務(wù)訪問(wèn),而備中心的流量管理設(shè)備只探測(cè)業(yè)務(wù)地址,因沒(méi)有探測(cè)到而不對(duì)外發(fā)布業(yè)務(wù)路由,實(shí)現(xiàn)主中心的備份作用。具體過(guò)程如圖2所示。
圖2 主中心業(yè)務(wù)訪問(wèn)圖
當(dāng)主中心業(yè)務(wù)遷移到備中心后,備中心的流量管理設(shè)備探測(cè)到業(yè)務(wù)IP已經(jīng)轉(zhuǎn)移到備中心,從而對(duì)外發(fā)布業(yè)務(wù)路由,引導(dǎo)用戶訪問(wèn)備中心的業(yè)務(wù)IP,從而實(shí)現(xiàn)基于純IP發(fā)布業(yè)務(wù)的數(shù)據(jù)中心前端網(wǎng)絡(luò)雙活,具體過(guò)程如圖3所示。
圖3 備中心業(yè)務(wù)訪問(wèn)圖
純IP地址方式的網(wǎng)絡(luò)雙活設(shè)計(jì)實(shí)際上還是主-備模式,不是主-主模式。采用全局負(fù)載均衡設(shè)備的動(dòng)態(tài)DNS功能來(lái)實(shí)現(xiàn)分布式網(wǎng)絡(luò)雙活的主-主模式,通過(guò)動(dòng)態(tài)DNS可以實(shí)現(xiàn)訪問(wèn)流量的智能分發(fā),從而實(shí)現(xiàn)網(wǎng)絡(luò)設(shè)計(jì)的主-主模式。
由于主備中心采用主-主模式,數(shù)據(jù)中心的出入口相當(dāng)于做了冗余,一旦某個(gè)入口有故障,可從另一個(gè)入口走,只要主動(dòng)做好運(yùn)維管理,后期的設(shè)備維保能及時(shí)跟進(jìn),出入口部分設(shè)備的故障發(fā)現(xiàn)和故障處理能在短時(shí)間內(nèi)排除。出入口鏈路不處于系統(tǒng)核心區(qū)域,出入口單側(cè)端的故障不會(huì)影響整個(gè)網(wǎng)絡(luò)的性能。在后期的建設(shè)中,可考慮出入口鏈路設(shè)備單側(cè)的冗余問(wèn)題。
在網(wǎng)絡(luò)雙活的基礎(chǔ)上要實(shí)現(xiàn)應(yīng)用的雙活,必須要實(shí)施應(yīng)用服務(wù)器的虛擬化及負(fù)載均衡,方案中應(yīng)用程序服務(wù)在VMware虛擬機(jī)上啟用[3],應(yīng)用程序服務(wù)級(jí)別內(nèi)置控制由vSphere來(lái)完成,保證提供安全、可用的平臺(tái)。
通過(guò)使用VMware VMotion實(shí)現(xiàn)服務(wù)器帶電維護(hù)及虛擬機(jī)實(shí)時(shí)遷移,操作過(guò)程中不需要關(guān)閉應(yīng)用程序,保證應(yīng)用服務(wù)不中斷。VMware Hot-Add技術(shù)向虛擬機(jī)添加CPU和內(nèi)存時(shí)不會(huì)導(dǎo)致服務(wù)中斷。
使用VMware DRS對(duì)服務(wù)器資源進(jìn)行負(fù)載平衡,將資源虛擬成一個(gè)統(tǒng)一的資源池,應(yīng)用程序根據(jù)業(yè)務(wù)優(yōu)先級(jí)排成不同的隊(duì)列,資源池對(duì)優(yōu)先級(jí)不同的應(yīng)用程序隊(duì)列分別提供資源,應(yīng)用程序隊(duì)列根據(jù)資源池的運(yùn)行情況動(dòng)態(tài)調(diào)整,如圖4所示。
圖4 基于優(yōu)先級(jí)的負(fù)載平衡圖
通過(guò)使用VMware Storage VMotion實(shí)現(xiàn)實(shí)時(shí)遷移虛擬機(jī)磁盤。
通過(guò)使用VMware vShield Zones和VMware VMsafe在應(yīng)用服務(wù)級(jí)別實(shí)現(xiàn)企業(yè)安全策略,在共享環(huán)境中保持了對(duì)敏感數(shù)據(jù)的保護(hù),對(duì)虛擬化層進(jìn)行協(xié)調(diào),簡(jiǎn)化了安全管理,提高了安全性。
應(yīng)用平臺(tái)往往由不同業(yè)務(wù)功能的子業(yè)務(wù)系統(tǒng)組成,各子業(yè)務(wù)系統(tǒng)都由不同廠商不同版本的數(shù)據(jù)庫(kù)來(lái)承載業(yè)務(wù)數(shù)據(jù),數(shù)據(jù)庫(kù)雙活設(shè)計(jì)需要將承載各子業(yè)務(wù)系統(tǒng)的數(shù)據(jù)庫(kù)服務(wù)器作為一個(gè)整體數(shù)據(jù)庫(kù)來(lái)考慮。本方案通過(guò)虛擬化技術(shù)將數(shù)據(jù)服務(wù)器做成一個(gè)專門的數(shù)據(jù)庫(kù)服務(wù)池,利用存儲(chǔ)虛擬化網(wǎng)關(guān)和ORACLE Extend RAC技術(shù)在數(shù)據(jù)底層進(jìn)行同步,實(shí)現(xiàn)數(shù)據(jù)庫(kù)的雙活。
在雙活數(shù)據(jù)中心模式中,參見(jiàn)圖5,Oracle RAC數(shù)據(jù)庫(kù)可實(shí)現(xiàn)跨站點(diǎn)部署,兩個(gè)Oracle RAC節(jié)點(diǎn)分別部署到兩個(gè)數(shù)據(jù)中心上,比如Oracle RAC 1部署在主中心,Oracle RAC 2部署在備中心,如果主中心發(fā)生故障,不會(huì)影響運(yùn)行在備中心的Oracle RAC 2應(yīng)用,再結(jié)合VMware HA技術(shù),可保證備中心自動(dòng)重啟原來(lái)運(yùn)行在主中心的Oracle RAC 1應(yīng)用。
圖5 雙活數(shù)據(jù)中心模式
運(yùn)行在虛擬化平臺(tái)之上的Oracle RAC結(jié)合VMware vMotion技術(shù),可實(shí)現(xiàn)在線維護(hù)、擴(kuò)容和遷移,避免應(yīng)用服務(wù)中斷,通過(guò)VMware Hot-Add技術(shù)在線增加RAC節(jié)點(diǎn)的CPU和內(nèi)存[4]。通過(guò)高速雙鏈路與存儲(chǔ)池相連,實(shí)現(xiàn)熱備份和負(fù)載均衡[5]。
一個(gè)完整的雙活數(shù)據(jù)中心要求業(yè)務(wù)、數(shù)據(jù)庫(kù)、主機(jī)、網(wǎng)絡(luò)、存儲(chǔ)所有層面實(shí)現(xiàn)雙活,其最核心部分是存儲(chǔ)雙活。存儲(chǔ)雙活通過(guò)存儲(chǔ)虛擬化技術(shù)實(shí)現(xiàn),存儲(chǔ)虛擬化技術(shù)通過(guò)輸入輸出重定向和存儲(chǔ)地址重編排來(lái)實(shí)現(xiàn)。存儲(chǔ)虛擬化可作為應(yīng)用服務(wù)與存儲(chǔ)設(shè)備之間的邏輯層,其主要任務(wù)是捕獲應(yīng)用程序輸入輸出指令并重定向,對(duì)所有存儲(chǔ)空間統(tǒng)一編址,并在這一基本機(jī)制衍生其他高級(jí)功能。
存儲(chǔ)雙活技術(shù)中的硬件解決方案在高可用、高性能、高擴(kuò)展性方面比軟件方案都更具優(yōu)勢(shì),當(dāng)前業(yè)界具備相當(dāng)多的成熟案例。本文采用的硬件解決方案參見(jiàn)圖6,通過(guò)分布式聯(lián)合技術(shù)擴(kuò)展同步了主備中心的訪問(wèn)能力,通過(guò)共享訪問(wèn)數(shù)據(jù)拷貝實(shí)現(xiàn)主備業(yè)務(wù)系統(tǒng)同時(shí)訪問(wèn)同一卷的愿望。通過(guò)主機(jī)集群技術(shù)實(shí)現(xiàn)兩套業(yè)務(wù)系統(tǒng)同時(shí)訪問(wèn)同一套共享卷,并協(xié)調(diào)輸入輸出之間的鎖機(jī)制,控制來(lái)自業(yè)務(wù)系統(tǒng)的輸入輸出訪問(wèn)的負(fù)載平衡和一致性。用VPLEX來(lái)保證兩個(gè)存儲(chǔ)緩存的數(shù)據(jù)一致性。兩套業(yè)務(wù)系統(tǒng)共用的虛擬卷是由鏡像卷創(chuàng)建的,在主備中心的數(shù)據(jù)是鏡像關(guān)系,當(dāng)一個(gè)中心在寫的時(shí)候,另一個(gè)中心只可接受讀請(qǐng)求,保證讀出來(lái)的數(shù)據(jù)是實(shí)時(shí)更新的數(shù)據(jù)。
圖6 硬件存儲(chǔ)虛擬化
將VMware技術(shù)與Cisco網(wǎng)絡(luò)擴(kuò)展技術(shù)相結(jié)合,打破了兩個(gè)中心之間的壁壘,為業(yè)務(wù)系統(tǒng)提供同一數(shù)據(jù)副本的共享訪問(wèn),業(yè)務(wù)數(shù)據(jù)在兩中心可透明地在線移動(dòng),動(dòng)態(tài)平衡業(yè)務(wù)數(shù)據(jù)負(fù)載。存儲(chǔ)雙活技術(shù)中的硬件解決方案的獨(dú)特特征[6]主要包括以下四點(diǎn):
(1)硬件集群橫向擴(kuò)展,保證存儲(chǔ)在線擴(kuò)展,不影響服務(wù)應(yīng)用;
(2)數(shù)據(jù)緩存規(guī)模大,利用大規(guī)模緩存減少輸入輸出;
(3)分布式緩存相互吻合,可動(dòng)態(tài)平衡集群間輸入輸出;
(4)存儲(chǔ)陣列統(tǒng)一視圖化,顯示跨中心的存儲(chǔ),實(shí)現(xiàn)跨集群的工作負(fù)載平衡。
憑借獨(dú)特的橫向和縱向擴(kuò)展結(jié)構(gòu),通過(guò)分布式數(shù)據(jù)緩存動(dòng)態(tài)平衡存儲(chǔ)域和工作負(fù)載,實(shí)現(xiàn)了應(yīng)用服務(wù)級(jí)的本地和遠(yuǎn)程數(shù)據(jù)訪問(wèn)。熱插熱拔功能支持在線添加、刪除網(wǎng)絡(luò)設(shè)備和虛擬存儲(chǔ),虛擬磁盤熱擴(kuò)展技術(shù)支持在線添加虛擬存儲(chǔ)。
真正的雙活數(shù)據(jù)中心,要從上到下各個(gè)層面都要實(shí)現(xiàn)雙活,包括網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)、應(yīng)用服務(wù)、存儲(chǔ)等各層面。企業(yè)中的IT基礎(chǔ)架構(gòu)設(shè)施經(jīng)過(guò)多年的積累,從硬件設(shè)備、網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)、應(yīng)用軟件到存儲(chǔ)都來(lái)自不同廠家的不同版本,不同層面的整合又都有各種各樣的技術(shù),實(shí)現(xiàn)數(shù)據(jù)中心雙活的難點(diǎn)就是技術(shù)選型要實(shí)現(xiàn)承上啟下。本文介紹了一套完整的數(shù)據(jù)雙活中心在各個(gè)層面的雙活設(shè)計(jì),最終實(shí)現(xiàn)了主備兩個(gè)中心并行運(yùn)行,一個(gè)中心斷了,另一個(gè)中心正常運(yùn)行,用戶應(yīng)用不受影響,避免了傳統(tǒng)備中心長(zhǎng)期處于閑置狀態(tài)的情況,提高了資源利用率,并提供了雙倍的服務(wù)能力。
雙活數(shù)據(jù)中心隨著技術(shù)的進(jìn)步肯定會(huì)實(shí)現(xiàn)得更加完美,將來(lái)隨著云計(jì)算技術(shù)的成熟,有可能實(shí)現(xiàn)多活數(shù)據(jù)中心或者云數(shù)據(jù)中心,為各單位提供更高的資源利用率、更加完美的容災(zāi)方案以及更加動(dòng)態(tài)靈活的硬件擴(kuò)展。