朱建勛,呂曉軍,吳興華,樊 楠
(1.中國鐵道科學(xué)研究院 研究生部,北京 100081;2.北京經(jīng)緯信息技術(shù)有限公司,北京 100081;3.中國鐵道科學(xué)研究院集團有限公司 電子計算技術(shù)研究所,北京 100081)
近年來我國鐵路快速發(fā)展,鐵路旅客服務(wù)信息系統(tǒng)集成管理平臺(簡稱:旅服平臺)已在全路多數(shù)車站上線運行,成為保障車站運行的重要系統(tǒng)。旅服平臺包含服務(wù)器、存儲設(shè)備及網(wǎng)絡(luò)設(shè)備等硬件設(shè)施。平臺的數(shù)據(jù)庫軟件、應(yīng)用服務(wù)軟件及接口服務(wù)軟件各自獨立運行于規(guī)劃的物理機設(shè)備[1-2]。目前,新建線路旅服平臺項目及既有車站旅服平臺改造項目逐年增多,旅服平臺基礎(chǔ)架構(gòu)無法滿足平臺快速部署,7×24 h 不間斷穩(wěn)定運行,故障及時處理等需求。虛擬化技術(shù)與旅服平臺相結(jié)合,可對服務(wù)器資源進行統(tǒng)籌規(guī)劃,提高服務(wù)器資源利用率,提升基礎(chǔ)環(huán)境可靠性,實現(xiàn)平臺快速部署,保障平臺安全、穩(wěn)定運行。
虛擬化是指通過虛擬化技術(shù)將一臺物理實體機虛擬為多臺虛擬機。在一臺物理實體機中可以同時運行多臺虛擬機,每臺虛擬機安裝不同的操作系統(tǒng),運行不同的業(yè)務(wù)應(yīng)用,且業(yè)務(wù)應(yīng)用分別運行于不同的虛擬機,相互之間獨立而互不影響,從而顯著提高物理實體機的工作效率[3]。虛擬化技術(shù)可利用有限的固定硬件設(shè)備,達到其最大利用率。
在虛擬化技術(shù)中,根據(jù)計算機的不同功能,將虛擬化劃分成幾種不同的類型,包括系統(tǒng)虛擬化、存儲虛擬化、網(wǎng)絡(luò)虛擬化、軟件虛擬化等。本文著重介紹系統(tǒng)虛擬化技術(shù)在服務(wù)器上的應(yīng)用。
服務(wù)器虛擬化是將物理機硬件資源進行虛擬化。包括虛擬基本輸入輸出系統(tǒng)、虛擬處理器、虛擬內(nèi)存、虛擬設(shè)備與輸入/輸出(I/O, Input/Output)等,并保障了虛擬機良好的隔離性、封裝性和安全性。如圖1 所示,采用服務(wù)器虛擬化之前,不同的應(yīng)用分別運行于不同的物理服務(wù)器;采用服務(wù)器虛擬化之后,不同的應(yīng)用可以被同一個物理服務(wù)器托管。
圖1 服務(wù)器虛擬化前后對比
服務(wù)器虛擬化技術(shù)在應(yīng)用層和物理設(shè)備層之間引入虛擬化層和虛擬化管理層[4]。虛擬化層對物理層服務(wù)器CPU、內(nèi)存、網(wǎng)絡(luò)、存儲等進行資源整合和統(tǒng)籌管理。虛擬化管理層根據(jù)業(yè)務(wù)需求分配CPU、磁盤、網(wǎng)絡(luò)、內(nèi)存等,規(guī)劃不同業(yè)務(wù)的不同模板,同時創(chuàng)建多個虛擬機,實現(xiàn)平臺快速部署。虛擬化管理層實時監(jiān)控虛擬機運行狀態(tài),及時進行調(diào)度和控制[5],通過高可用性(HA,High Available)集群的高可用機制,保障平臺的可用性、穩(wěn)定性及安全性。
服務(wù)器虛擬化技術(shù)包括CPU、內(nèi)存、設(shè)備與I/O虛擬化和虛擬化實時遷移等。CPU 虛擬化技術(shù)指將物理CPU 虛擬為多個虛擬CPU,可以實現(xiàn)多臺虛擬機共用一個CPU,且相互之間隔離。CPU 虛擬化技術(shù)可解決虛擬CPU 隔離和調(diào)度等問題,隔離是使不同的虛擬機之間能相互獨立運算,調(diào)度是指虛擬化管理層決定CPU 當(dāng)前被哪臺虛擬機使用。
內(nèi)存虛擬化技術(shù)是指將物理內(nèi)存虛擬為多個虛擬內(nèi)存,可以實現(xiàn)多臺虛擬機共用物理內(nèi)存,且相互之間隔離。虛擬化管理層采用段式、頁式、段頁式、多級頁表、緩存、虛擬內(nèi)存等多種復(fù)雜的技術(shù)管理內(nèi)存。
設(shè)備與I/O 虛擬化技術(shù)將真實設(shè)備虛擬成多個虛擬設(shè)備,實現(xiàn)多臺虛擬機共用物理設(shè)備與I/O。
實時遷移技術(shù)是指在虛擬機正常運行中,將整個虛擬機快速、完整地從既有的物理機硬件平臺遷移到新的物理機硬件平臺,其業(yè)務(wù)不中斷。使用實時遷移技術(shù),可以在業(yè)務(wù)不宕機的情況下,將虛擬機遷移到另一個物理機上,然后對原來虛擬機所在的物理機進行硬件維護。該技術(shù)較好地保障了虛擬機服務(wù)7×24 h 不間斷運行。
旅服平臺采用鐵路局集團有限公司(簡稱:鐵路局)-車站兩級架構(gòu)[6],鐵路局旅服平臺承擔(dān)所管轄車站的接口處理服務(wù)、數(shù)據(jù)處理服務(wù)、應(yīng)用處理服務(wù)、數(shù)據(jù)存儲等功能。車站旅服平臺保留業(yè)務(wù)操作終端、廣播子系統(tǒng)控制器、導(dǎo)向子系統(tǒng)控制器、接口服務(wù)器等設(shè)備[7]。新建線路旅服平臺及既有車站旅服平臺改造時,數(shù)據(jù)庫處理服務(wù)、應(yīng)用處理服務(wù)、數(shù)據(jù)存儲等設(shè)備均需根據(jù)實際情況做相應(yīng)擴展。
根據(jù)《鐵路旅客服務(wù)信息系統(tǒng)集成管理平臺配置技術(shù)條件》[8],傳統(tǒng)鐵路局旅服平臺基礎(chǔ)架構(gòu)如圖2 所示。該基礎(chǔ)構(gòu)架含數(shù)據(jù)處理模塊、管理服務(wù)模塊、應(yīng)用處理模塊、接口服務(wù)模塊、網(wǎng)絡(luò)及存儲設(shè)備等硬件設(shè)施。平臺數(shù)據(jù)庫、接口服務(wù)、應(yīng)用服務(wù)等軟件運行于不同物理服務(wù)器,如圖3 所示。
本文將虛擬化技術(shù)應(yīng)用于傳統(tǒng)鐵路局旅服平臺,平臺的基礎(chǔ)架構(gòu)如圖4 所示。
每臺物理服務(wù)器均部署虛擬化層系統(tǒng)XenServer 6.5,物理服務(wù)器通過SAN 交換機與磁盤陣列相連,虛擬化鐵路局旅服平臺服務(wù)器軟件結(jié)構(gòu)如圖5 所示。
每臺物理服務(wù)器根據(jù)業(yè)務(wù)實際需求,通過虛擬化管理層劃分內(nèi)存、硬盤、虛擬CPU(vCPU)等資源,同時,創(chuàng)建數(shù)據(jù)庫、鐵路運輸調(diào)度管理系統(tǒng)接口、鐵路客票發(fā)售和預(yù)訂系統(tǒng)接口、鐵路自動售檢票系統(tǒng)接口、身份認(rèn)證、到發(fā)服務(wù)、廣播服務(wù)、導(dǎo)向服務(wù)等相應(yīng)的虛擬機模板,實現(xiàn)平臺的快速部署。虛擬機內(nèi)存、vCPU 及網(wǎng)絡(luò)資源使用物理機計算資源,其硬盤一般使用磁盤陣列共享資源。每臺物理服務(wù)器根據(jù)自身硬件配置情況,運行適當(dāng)數(shù)量的虛擬機。例如,數(shù)據(jù)庫虛擬機占用內(nèi)存較多,可自動調(diào)配內(nèi)存較小的虛擬機,與其共用1臺物理服務(wù)器。虛擬化管理層的合理配置和智能優(yōu)化,使每臺物理服務(wù)器利用率顯著提高。
虛擬化管理層可在物理服務(wù)器出現(xiàn)故障時,通過實時遷移功能,將故障服務(wù)器上運行的全部虛擬機自動遷移到其他物理機,業(yè)務(wù)幾乎無中斷。同時,可對故障物理服務(wù)器進行及時維修。虛擬化管理層通過HA 技術(shù)保障旅服平臺7×24 h 不間斷穩(wěn)定運行。
圖2 傳統(tǒng)鐵路局旅服平臺基礎(chǔ)架構(gòu)
圖3 傳統(tǒng)鐵路局旅服平臺服務(wù)器軟件結(jié)構(gòu)
圖4 虛擬化鐵路局旅服平臺基礎(chǔ)結(jié)構(gòu)
服務(wù)器虛擬化技術(shù)重新定義和劃分CPU、內(nèi)存、網(wǎng)絡(luò)及存儲等計算資源。本文將其成功運用于鐵路局旅服平臺,圖6 為虛擬化鐵路局旅服平臺實現(xiàn)情況。
圖6 中,左側(cè)列是虛擬化資源池KMZ Pool,由4 臺物理服務(wù)器組成。圖6 中間部分,包含8 列:第1 列Name 字段,顯示服務(wù)器中分別運行的不同業(yè)務(wù)虛擬機;第2 列CPU Usage (CPU 使用率)字段,顯示物理服務(wù)器及虛擬機CPU 使用率,其使用率均低于10%;第3 列Used Memory(內(nèi)存使用率)字段,包含物理服務(wù)器和虛擬機的內(nèi)存使用率;第4、5、6 列均為磁盤網(wǎng)絡(luò)情況;第7 列Uptime 字段,為物理服務(wù)器與虛擬機本次開機后的運行時間,其中,大部分物理服務(wù)器已連續(xù)穩(wěn)定運行300 天以上,虛擬機連續(xù)運行40 天以上;第8 列HA 字段,為虛擬化集群配置,一旦物理服務(wù)器發(fā)生故障,虛擬化管理層會自動遷移虛擬機到其他正常物理服務(wù)器繼續(xù)運行。
目前,已經(jīng)在鄭州局、昆明局、呼和局、太原站、武昌站等鐵路局及車站上線使用Citrix 版本的虛擬化旅服平臺,南昌局、廣州局上線使用Vmware 版本的虛擬化旅服平臺。通過虛擬化管理層實時監(jiān)控物理服務(wù)器及虛擬機運行狀態(tài),保障平臺7×24 h 不間斷、安全、穩(wěn)定運行。
圖5 虛擬化鐵路局旅服平臺服務(wù)器軟件結(jié)構(gòu)
圖6 鐵路局旅服平臺虛擬化實現(xiàn)
傳統(tǒng)鐵路局旅服平臺使用物理服務(wù)器的數(shù)量在10 臺左右,每臺服務(wù)器CPU 使用率小于12%,硬盤和內(nèi)存使用率小于10%。磁盤陣列只為2 臺數(shù)據(jù)庫集群提供數(shù)據(jù)存儲,使用率小于20%。
而應(yīng)用虛擬化鐵路局旅服平臺后,使用物理服務(wù)器的數(shù)量為4 臺,每臺服務(wù)器CPU 使用率小于30%,硬盤使用率小于5%,內(nèi)存使用率小于40%。磁盤陣列為4 臺物理服務(wù)器提供數(shù)據(jù)存儲,使用率為80%左右。
綜上,虛擬化鐵路局旅服平臺需要物理服務(wù)器數(shù)量明顯減少,物理服務(wù)器CPU、內(nèi)存、網(wǎng)絡(luò)等資源使用率和磁盤陣列占用率都得到了顯著提高。
虛擬化技術(shù)在旅服平臺的應(yīng)用,可實現(xiàn)平臺的快速部署,提高物理服務(wù)器使用率,縮短平臺故障處理時間且滿足平臺擴展需求,保障平臺7×24 h 不間斷、安全、穩(wěn)定運行。
此外,磁盤陣列包含所有數(shù)據(jù)處理服務(wù)、到發(fā)服務(wù)、導(dǎo)向服務(wù)、廣播服務(wù)等虛擬機硬盤資源,且占用率較高。將來車站線路增多時,磁盤陣列的需求量將會迅速擴大,擴容難度及耗資較大。下一步將著重研究Docker 在旅服平臺中的應(yīng)用,在保障后臺服務(wù)冗余的同時,節(jié)省磁盤陣列資源空間,保障旅服平臺高效、穩(wěn)定運行。