陸波,劉瑞林
(中國鐵路武漢局集團(tuán)有限公司信息技術(shù)所,湖北武漢 430071)
鐵路運(yùn)輸企業(yè)信息化發(fā)展日新月異,運(yùn)輸組織、客票發(fā)售等業(yè)務(wù)完全依賴信息系統(tǒng)。運(yùn)輸企業(yè)的服務(wù)性質(zhì)決定其對信息系統(tǒng)的穩(wěn)定運(yùn)行和數(shù)據(jù)備份具有較高要求。保障數(shù)據(jù)中心的高可用成為信息系統(tǒng)運(yùn)維的首要任務(wù),同時(shí)災(zāi)難恢復(fù)也被高度重視。虛擬化技術(shù)在企業(yè)已廣泛使用多年,通過服務(wù)器虛擬化和存儲(chǔ)虛擬化實(shí)施,極大地改善了企業(yè)信息系統(tǒng)基礎(chǔ)設(shè)施條件,使容災(zāi)系統(tǒng)建設(shè)成為可能。在此,結(jié)合中國鐵路武漢局集團(tuán)有限公司(簡稱武漢局集團(tuán)公司)信息系統(tǒng)實(shí)際情況,研究探討鐵路運(yùn)輸企業(yè)在充分保護(hù)已有信息系統(tǒng)投資前提下,漸進(jìn)式地應(yīng)用虛擬化技術(shù)整合新舊資源,完成資源池化改造,消除單點(diǎn)故障,建立容災(zāi)備份系統(tǒng)的解決方案。
網(wǎng)絡(luò)設(shè)備、應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器、存儲(chǔ)設(shè)備都會(huì)產(chǎn)生單點(diǎn)故障。以高昂的費(fèi)用購買高冗余的高端設(shè)備當(dāng)然可行,但運(yùn)輸企業(yè)信息系統(tǒng)建設(shè)經(jīng)歷了10多年,已積累大量信息設(shè)備,充分利舊和保護(hù)投資也是需要考慮的現(xiàn)實(shí)問題。
企業(yè)信息網(wǎng)絡(luò)作為信息系統(tǒng)的關(guān)鍵基礎(chǔ)設(shè)施,故障往往不可容忍,任意1臺(tái)交換機(jī)故障都不應(yīng)對核心生產(chǎn)業(yè)務(wù)造成影響,實(shí)際上網(wǎng)絡(luò)堆疊技術(shù)早已被廣泛應(yīng)用。
網(wǎng)絡(luò)堆疊技術(shù)是一種網(wǎng)絡(luò)虛擬化技術(shù)(見圖1),將多臺(tái)網(wǎng)絡(luò)設(shè)備組成1臺(tái)虛擬網(wǎng)絡(luò)交換機(jī),在接入設(shè)備雙上連時(shí)分別接入不同物理交換機(jī),單臺(tái)物理交換機(jī)故障不影響網(wǎng)絡(luò)連接,實(shí)現(xiàn)了網(wǎng)絡(luò)設(shè)備的高可靠。主流廠家的交換機(jī)產(chǎn)品都能很好地支持堆疊技術(shù),其優(yōu)勢在于簡化了網(wǎng)絡(luò)管理,彈性擴(kuò)展了交換機(jī)的端口數(shù)量,解決了網(wǎng)絡(luò)設(shè)備高可用,已成為數(shù)據(jù)中心的網(wǎng)絡(luò)設(shè)備必選項(xiàng)。目前常見的有華為技術(shù)有限公司的集群交換機(jī)系統(tǒng)(CSS)技術(shù)、杭州華三通信技術(shù)有限公司的智能彈性架構(gòu)(IRF)技術(shù)、思科公司的虛擬交換系統(tǒng)(VSS)技術(shù)等網(wǎng)絡(luò)堆疊技術(shù)[1]。
圖1 網(wǎng)絡(luò)堆疊技術(shù)示意圖
由于堆疊技術(shù)的局限性,也有網(wǎng)絡(luò)廠家提出,數(shù)據(jù)中心還可采用網(wǎng)絡(luò)架構(gòu)中“去”堆疊等其他實(shí)現(xiàn)方式解決網(wǎng)絡(luò)單點(diǎn)故障問題。思科公司提出的虛擬鏈路聚合(VPC)技術(shù)就很強(qiáng)大,該技術(shù)是基于數(shù)據(jù)平臺(tái)的虛擬化,更加靈活和安全。
為滿足企業(yè)信息系統(tǒng)對基礎(chǔ)設(shè)施的需求,給運(yùn)維人員提供高效運(yùn)維手段,并增強(qiáng)基礎(chǔ)設(shè)施的安全和可靠性,利用成熟的虛擬化手段建立資源池是最佳選擇。
VMware vSphere是業(yè)界領(lǐng)先且可靠的虛擬化平臺(tái)。用戶能夠從容地使用虛擬化技術(shù)縱向和橫向擴(kuò)展應(yīng)用,重新定義高可用性和簡化虛擬數(shù)據(jù)中心,最終實(shí)現(xiàn)高度可用、恢復(fù)能力強(qiáng)的按需基礎(chǔ)架構(gòu),這是云平臺(tái)環(huán)境的理想基礎(chǔ)[2]。企業(yè)采用VMware vSphere虛擬化架構(gòu)搭建基礎(chǔ)平臺(tái),初期利用既有20臺(tái)服務(wù)器建立虛擬化群集。為滿足虛擬化群集設(shè)備要求,必須對服務(wù)器加配光纖通道(HBA)卡為服務(wù)器和存儲(chǔ)設(shè)備間提供輸入/輸出處理,新增2臺(tái)80口的光纖交換機(jī)作為存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)的存儲(chǔ)交換機(jī)。資源分配上基本按1臺(tái)物理機(jī)虛擬4臺(tái)虛機(jī)的原則進(jìn)行,另外預(yù)留5臺(tái)物理機(jī)作為虛擬機(jī)遷移、備份、硬件維護(hù)等使用,建成1個(gè)少量資金投入的計(jì)算虛擬化池,僅占用4個(gè)標(biāo)準(zhǔn)機(jī)柜,對企業(yè)提供60臺(tái)虛擬服務(wù)器,解決了幾十個(gè)應(yīng)用系統(tǒng)的資源需求,優(yōu)勢非常明顯。
服務(wù)器虛擬化給信息系統(tǒng)運(yùn)維帶來前所未有的便利。單臺(tái)物理機(jī)故障不再讓運(yùn)維工程師焦躁,秒級就能完成虛擬機(jī)遷移,大幅減少了宕機(jī)事件。新系統(tǒng)建設(shè)任務(wù)也不再是體力活,項(xiàng)目負(fù)責(zé)人只需在申請的虛擬機(jī)上安裝系統(tǒng),無須完成設(shè)備上架、磁盤初始化、驅(qū)動(dòng)程序安裝等工作,大大縮短了實(shí)施時(shí)間。系統(tǒng)成功安裝后,還可保存成模板共享使用。若在用系統(tǒng)出現(xiàn)性能瓶頸,簡單的操作就能完成資源擴(kuò)容和服務(wù)器復(fù)制。
從企業(yè)角度看,服務(wù)器虛擬化的實(shí)施大幅降低了信息系統(tǒng)成本。物理服務(wù)器不再需要按年限報(bào)廢,極端情況可以用到徹底無法修復(fù)。新建項(xiàng)目也不用單獨(dú)考慮硬件設(shè)備投入,虛擬資源池將共享信息系統(tǒng)基礎(chǔ)設(shè)施變成現(xiàn)實(shí)。以往單個(gè)應(yīng)用系統(tǒng)配置的設(shè)備常常占用1~2個(gè)機(jī)柜,新系統(tǒng)設(shè)備資源閑置,舊系統(tǒng)可用資源不足。虛擬化實(shí)施后這些問題都迎刃而解,大大節(jié)約了機(jī)房空間,減少了硬件設(shè)備數(shù)量,降低了機(jī)房能耗。
計(jì)算資源虛擬化完成后,服務(wù)器硬件故障不再是問題,但是多臺(tái)虛擬機(jī)運(yùn)行在單臺(tái)存儲(chǔ)設(shè)備上,存儲(chǔ)性能和容量遭遇瓶頸,同時(shí)存儲(chǔ)設(shè)備成為單點(diǎn)隱患,維修和升級都變成難題。單存儲(chǔ)的計(jì)算資源虛擬化池示意見圖2。
基于上述問題,搭建存儲(chǔ)虛擬化池就成為企業(yè)必須開展的工作。主要完成2個(gè)任務(wù):一是綜合利用機(jī)房已有的老存儲(chǔ),同時(shí)購置高性能存儲(chǔ),建立分層存儲(chǔ)系統(tǒng);二是突破單個(gè)存儲(chǔ)容量限制,建立供多個(gè)服務(wù)器共享的存儲(chǔ)池。武漢局集團(tuán)公司既有存儲(chǔ)資源情況見表1。
圖2 單存儲(chǔ)的計(jì)算資源虛擬化池示意圖
表1 武漢局集團(tuán)公司既有存儲(chǔ)資源情況
在現(xiàn)有架構(gòu)下,存儲(chǔ)系統(tǒng)主要由使用多年的高端存儲(chǔ)和新購待用存儲(chǔ)組成。總?cè)萘靠臻g為115 TB,已用空間為42 TB,存儲(chǔ)總空間利用率僅為36%,但小型機(jī)B空間已用完,達(dá)到100%,小型機(jī)B和VMware虛擬化群集空間占用都超過75%,急需擴(kuò)容。在現(xiàn)有架構(gòu)下僅新購1臺(tái)存儲(chǔ)不能解決全部問題,同時(shí)老存儲(chǔ)存在性能、容量上的瓶頸,急需整合與升級。此外,存儲(chǔ)系統(tǒng)缺乏容災(zāi)保護(hù),一旦存儲(chǔ)發(fā)生災(zāi)難,業(yè)務(wù)系統(tǒng)將會(huì)癱瘓,甚至帶來經(jīng)濟(jì)損失。因此存儲(chǔ)虛擬化改造除了解決目前迫在眉睫的性能、容量問題外,還能通過集中存儲(chǔ),提升整個(gè)基礎(chǔ)架構(gòu)的易管理性、安全性,并能實(shí)現(xiàn)存儲(chǔ)級別的容災(zāi)。它能將存儲(chǔ)網(wǎng)絡(luò)上各種品牌的存儲(chǔ)系統(tǒng)整合成1個(gè)可以集中管理的存儲(chǔ)池,并在存儲(chǔ)池中按需要建立1個(gè)或多個(gè)不同大小的虛卷,并將這些虛卷按一定的讀寫授權(quán)分配給存儲(chǔ)網(wǎng)絡(luò)上各種應(yīng)用服務(wù)器,可達(dá)到充分利用存儲(chǔ)容量、集中管理存儲(chǔ)、降低存儲(chǔ)成本的目的。
國際商業(yè)機(jī)器公司(簡稱IBM公司)的SAN卷控制器(SAN Volume Controller,SVC)是整個(gè)SAN的控制器,可將整個(gè)SAN中各種存儲(chǔ)設(shè)備整合成1個(gè)巨大的存儲(chǔ)池,充分利用存儲(chǔ)資源并按需分配存儲(chǔ)空間、性能和功能[3],能夠很好地解決傳統(tǒng)SAN網(wǎng)絡(luò)中每種存儲(chǔ)系統(tǒng)都自成一體、像一個(gè)個(gè)獨(dú)立孤島的問題[4]。
基于存儲(chǔ)池的計(jì)算資源虛擬化池示意見圖3,是武漢局集團(tuán)公司改造后的信息系統(tǒng)基礎(chǔ)架構(gòu),所有存儲(chǔ)都納入SVC統(tǒng)一管理。HP 3PAR 10800和IBM DS8700主要用于虛擬化應(yīng)用服務(wù)器和核心小型機(jī)。IBM DS8800和HP XP24000主要用于虛擬機(jī)備份和數(shù)據(jù)備份。
圖3 基于存儲(chǔ)池的計(jì)算資源虛擬化池示意圖
隨后幾年中,通過更新和擴(kuò)容建設(shè),企業(yè)物理服務(wù)器得以持續(xù)增加,存儲(chǔ)也進(jìn)行了同步升級,虛擬化群集規(guī)模不斷擴(kuò)大,企業(yè)對基礎(chǔ)設(shè)施需求也不斷增長。目前物理機(jī)數(shù)量已擴(kuò)展至100余臺(tái),虛擬池可對外提供300余臺(tái)虛擬機(jī),成為生產(chǎn)核心平臺(tái)。隨著資源池不斷擴(kuò)大,也帶來了虛擬機(jī)管理問題,如何更高效地監(jiān)管虛擬機(jī)運(yùn)行狀態(tài),如何更合理地分配虛擬機(jī)資源成為需要解決的問題,于是又引入資源監(jiān)控平臺(tái),逐步開始實(shí)現(xiàn)資源自動(dòng)管理。
另外,由于高端存儲(chǔ)投資巨大,為了尋找更多有效且廉價(jià)的存儲(chǔ)池解決方案,嘗試搭建由6臺(tái)服務(wù)器組成的VMware分布式存儲(chǔ)(VSAN)測試環(huán)境,由集中式大存儲(chǔ)向分布式存儲(chǔ)發(fā)展。分布式存儲(chǔ)系統(tǒng)是將數(shù)據(jù)分散存儲(chǔ)在多臺(tái)獨(dú)立的設(shè)備上,而傳統(tǒng)網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)采用集中的存儲(chǔ)服務(wù)器存放所有數(shù)據(jù),存儲(chǔ)服務(wù)器成為系統(tǒng)性能的瓶頸,也是可靠性和安全性的焦點(diǎn),不能滿足大規(guī)模存儲(chǔ)應(yīng)用的需要。分布式網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)采用可擴(kuò)展的系統(tǒng)結(jié)構(gòu),利用多臺(tái)存儲(chǔ)服務(wù)器分擔(dān)存儲(chǔ)負(fù)荷,利用位置服務(wù)器定位存儲(chǔ)信息,不但提高了系統(tǒng)的可靠性、可用性和存取效率,還易于擴(kuò)展[5-6]。在測試環(huán)境中進(jìn)行的輸入和輸出(I/O)測試表明,VSAN讀速度為800 MB/s、寫速度為200 MB/s,對比HP 3PAR存儲(chǔ)讀速度,VSAN的讀速度較為滿意,寫速度還需提高,如果服務(wù)器數(shù)量增加到一定規(guī)模,VSAN將會(huì)有更好的表現(xiàn)。
當(dāng)前集群由2套SVC構(gòu)成,分別位于A機(jī)房和B機(jī)房,2個(gè)資源池已實(shí)現(xiàn)互聯(lián)互通,受限于光纖交換機(jī)資源不足,暫時(shí)用SVC互聯(lián)實(shí)現(xiàn),光纖交換機(jī)通信能力大于SVC,將來用它互聯(lián)SAN網(wǎng)絡(luò)效果會(huì)更好。SVC互聯(lián)實(shí)現(xiàn)跨機(jī)房存儲(chǔ)池互聯(lián)示意見圖4。
圖4 SVC互聯(lián)實(shí)現(xiàn)跨機(jī)房存儲(chǔ)池互聯(lián)示意圖
在已實(shí)現(xiàn)存儲(chǔ)虛擬化的前提下,建立服務(wù)器災(zāi)備系統(tǒng)則比較簡單。在A機(jī)房和B機(jī)房各建立1套VMware群集,通過1個(gè)VCenter管理2個(gè)群集的存儲(chǔ)資源和計(jì)算資源。一是在日常維護(hù)時(shí)可由人工完成虛擬服務(wù)器機(jī)房遷移;二是利用SVC鏡像功能,實(shí)現(xiàn)虛擬機(jī)數(shù)據(jù)在2個(gè)機(jī)房存儲(chǔ)上雙寫。一旦出現(xiàn)緊急情況,環(huán)境正常的機(jī)房可以接管另一個(gè)機(jī)房的虛擬服務(wù)器。
企業(yè)以往關(guān)鍵業(yè)務(wù)數(shù)據(jù)庫服務(wù)器運(yùn)行平臺(tái)主要由小型機(jī)加集中式存儲(chǔ)組成。上述存儲(chǔ)虛擬化池搭建完成后,對小型機(jī)直連存儲(chǔ)的模式進(jìn)行了改造,實(shí)現(xiàn)通過SVC來分配存儲(chǔ)。改造過程是利用數(shù)據(jù)庫小型機(jī)安裝的集群文件系統(tǒng)(GPFS)鏡像功能對老存儲(chǔ)和新存儲(chǔ)鏡像[7],然后拆分鏡像去除老存儲(chǔ),從而完成數(shù)據(jù)庫服務(wù)器的存儲(chǔ)虛擬化遷移。
為進(jìn)一步保障核心系統(tǒng)穩(wěn)定運(yùn)行,實(shí)現(xiàn)單個(gè)存儲(chǔ)池故障不影響系統(tǒng)正常運(yùn)行,利用SVC鏡像功能在2個(gè)機(jī)房不同存儲(chǔ)上雙寫數(shù)據(jù)。數(shù)據(jù)庫服務(wù)器本身采用ORACLE RAC技術(shù)[8],2臺(tái)小型機(jī)構(gòu)成數(shù)據(jù)庫集群,單個(gè)小型機(jī)停機(jī)幾乎不影響系統(tǒng)正常運(yùn)行,更不會(huì)造成數(shù)據(jù)丟失。至此,數(shù)據(jù)庫服務(wù)器單點(diǎn)故障隱患已基本消除。
多個(gè)機(jī)房基礎(chǔ)環(huán)境同時(shí)出現(xiàn)問題也會(huì)威脅信息系統(tǒng)穩(wěn)定運(yùn)行,錯(cuò)誤操作導(dǎo)致的數(shù)據(jù)丟失和系統(tǒng)不可用也可能發(fā)生。為避免這種情況影響系統(tǒng)運(yùn)行,使用ORACLE數(shù)據(jù)庫系統(tǒng)自帶的恢復(fù)管理工具(RMAN)比較有效。只需要在災(zāi)備機(jī)房準(zhǔn)備專門的備用數(shù)據(jù)庫服務(wù)器,每日完成1次目標(biāo)數(shù)據(jù)庫全庫備份收集,每20 min在目標(biāo)數(shù)據(jù)庫上執(zhí)行1次強(qiáng)制歸檔,并且同步收集新增歸檔日志,同時(shí)記錄收集時(shí)間,以此判斷數(shù)據(jù)庫最大限度恢復(fù)時(shí)間點(diǎn)。備份數(shù)據(jù)庫每次收集完備份和日志后都立即實(shí)施恢復(fù),保證備份數(shù)據(jù)庫隨時(shí)具備接管條件。采取這種異地備份方式可實(shí)現(xiàn)多個(gè)生產(chǎn)數(shù)據(jù)庫對應(yīng)1個(gè)備用數(shù)據(jù)庫。跨機(jī)房數(shù)據(jù)庫災(zāi)備示意見圖5。只需在備用數(shù)據(jù)庫上建立不同的實(shí)例來對應(yīng),且無任何額外軟件費(fèi)用,硬件投入也少;缺點(diǎn)是對網(wǎng)絡(luò)帶寬要求高,最好在萬兆網(wǎng)絡(luò)上實(shí)施,在極端情況下會(huì)出現(xiàn)20 min的數(shù)據(jù)丟失,屬于不完全恢復(fù),所以還要考慮應(yīng)用系統(tǒng)恢復(fù)要求[9]。在數(shù)據(jù)丟失零容忍的情況下,可以采用ORACLE DATA GUARD來實(shí)現(xiàn)數(shù)據(jù)備份,災(zāi)難發(fā)生時(shí)可以完全恢復(fù)數(shù)據(jù)庫[10];缺點(diǎn)是設(shè)備投入量大,必須按照1∶1的方案準(zhǔn)備備用設(shè)備,在正常運(yùn)行時(shí),備用服務(wù)器實(shí)際處于閑置狀態(tài),計(jì)算資源未發(fā)揮作用,還需耗電和散熱[11]。
經(jīng)過多年建設(shè),武漢局集團(tuán)公司應(yīng)用網(wǎng)絡(luò)堆疊技術(shù)完成了網(wǎng)絡(luò)加固,應(yīng)用VMware虛擬化技術(shù)實(shí)現(xiàn)了計(jì)算資源虛擬化,應(yīng)用SVC存儲(chǔ)虛擬化技術(shù)實(shí)現(xiàn)了存儲(chǔ)資源池建立。企業(yè)信息系統(tǒng)架構(gòu)中的單點(diǎn)故障基本消除,系統(tǒng)穩(wěn)定可靠,并且在此基礎(chǔ)上完成了本地容災(zāi)系統(tǒng)建設(shè),為企業(yè)信息系統(tǒng)穩(wěn)定運(yùn)行提供了有力保障,為云平臺(tái)建設(shè)提供了基礎(chǔ)。今后還可在改善網(wǎng)絡(luò)的基礎(chǔ)上進(jìn)一步實(shí)現(xiàn)異地容災(zāi)系統(tǒng)建設(shè),最終實(shí)現(xiàn)搭建高可用、易擴(kuò)展、易維護(hù)、省成本的信息系統(tǒng)基礎(chǔ)設(shè)施的目標(biāo)。
圖5 跨機(jī)房數(shù)據(jù)庫災(zāi)備示意圖