朱建勛,呂曉軍,吳興華,樊 楠
(1.中國鐵道科學研究院 研究生部,北京 100081;2.北京經緯信息技術有限公司,北京 100081;3.中國鐵道科學研究院集團有限公司 電子計算技術研究所,北京 100081)
近年來我國鐵路快速發展,鐵路旅客服務信息系統集成管理平臺(簡稱:旅服平臺)已在全路多數車站上線運行,成為保障車站運行的重要系統。旅服平臺包含服務器、存儲設備及網絡設備等硬件設施。平臺的數據庫軟件、應用服務軟件及接口服務軟件各自獨立運行于規劃的物理機設備[1-2]。目前,新建線路旅服平臺項目及既有車站旅服平臺改造項目逐年增多,旅服平臺基礎架構無法滿足平臺快速部署,7×24 h 不間斷穩定運行,故障及時處理等需求。虛擬化技術與旅服平臺相結合,可對服務器資源進行統籌規劃,提高服務器資源利用率,提升基礎環境可靠性,實現平臺快速部署,保障平臺安全、穩定運行。
虛擬化是指通過虛擬化技術將一臺物理實體機虛擬為多臺虛擬機。在一臺物理實體機中可以同時運行多臺虛擬機,每臺虛擬機安裝不同的操作系統,運行不同的業務應用,且業務應用分別運行于不同的虛擬機,相互之間獨立而互不影響,從而顯著提高物理實體機的工作效率[3]。虛擬化技術可利用有限的固定硬件設備,達到其最大利用率。
在虛擬化技術中,根據計算機的不同功能,將虛擬化劃分成幾種不同的類型,包括系統虛擬化、存儲虛擬化、網絡虛擬化、軟件虛擬化等。本文著重介紹系統虛擬化技術在服務器上的應用。
服務器虛擬化是將物理機硬件資源進行虛擬化。包括虛擬基本輸入輸出系統、虛擬處理器、虛擬內存、虛擬設備與輸入/輸出(I/O, Input/Output)等,并保障了虛擬機良好的隔離性、封裝性和安全性。如圖1 所示,采用服務器虛擬化之前,不同的應用分別運行于不同的物理服務器;采用服務器虛擬化之后,不同的應用可以被同一個物理服務器托管。

圖1 服務器虛擬化前后對比
服務器虛擬化技術在應用層和物理設備層之間引入虛擬化層和虛擬化管理層[4]。虛擬化層對物理層服務器CPU、內存、網絡、存儲等進行資源整合和統籌管理。虛擬化管理層根據業務需求分配CPU、磁盤、網絡、內存等,規劃不同業務的不同模板,同時創建多個虛擬機,實現平臺快速部署。虛擬化管理層實時監控虛擬機運行狀態,及時進行調度和控制[5],通過高可用性(HA,High Available)集群的高可用機制,保障平臺的可用性、穩定性及安全性。
服務器虛擬化技術包括CPU、內存、設備與I/O虛擬化和虛擬化實時遷移等。CPU 虛擬化技術指將物理CPU 虛擬為多個虛擬CPU,可以實現多臺虛擬機共用一個CPU,且相互之間隔離。CPU 虛擬化技術可解決虛擬CPU 隔離和調度等問題,隔離是使不同的虛擬機之間能相互獨立運算,調度是指虛擬化管理層決定CPU 當前被哪臺虛擬機使用。
內存虛擬化技術是指將物理內存虛擬為多個虛擬內存,可以實現多臺虛擬機共用物理內存,且相互之間隔離。虛擬化管理層采用段式、頁式、段頁式、多級頁表、緩存、虛擬內存等多種復雜的技術管理內存。
設備與I/O 虛擬化技術將真實設備虛擬成多個虛擬設備,實現多臺虛擬機共用物理設備與I/O。
實時遷移技術是指在虛擬機正常運行中,將整個虛擬機快速、完整地從既有的物理機硬件平臺遷移到新的物理機硬件平臺,其業務不中斷。使用實時遷移技術,可以在業務不宕機的情況下,將虛擬機遷移到另一個物理機上,然后對原來虛擬機所在的物理機進行硬件維護。該技術較好地保障了虛擬機服務7×24 h 不間斷運行。
旅服平臺采用鐵路局集團有限公司(簡稱:鐵路局)-車站兩級架構[6],鐵路局旅服平臺承擔所管轄車站的接口處理服務、數據處理服務、應用處理服務、數據存儲等功能。車站旅服平臺保留業務操作終端、廣播子系統控制器、導向子系統控制器、接口服務器等設備[7]。新建線路旅服平臺及既有車站旅服平臺改造時,數據庫處理服務、應用處理服務、數據存儲等設備均需根據實際情況做相應擴展。
根據《鐵路旅客服務信息系統集成管理平臺配置技術條件》[8],傳統鐵路局旅服平臺基礎架構如圖2 所示。該基礎構架含數據處理模塊、管理服務模塊、應用處理模塊、接口服務模塊、網絡及存儲設備等硬件設施。平臺數據庫、接口服務、應用服務等軟件運行于不同物理服務器,如圖3 所示。
本文將虛擬化技術應用于傳統鐵路局旅服平臺,平臺的基礎架構如圖4 所示。
每臺物理服務器均部署虛擬化層系統XenServer 6.5,物理服務器通過SAN 交換機與磁盤陣列相連,虛擬化鐵路局旅服平臺服務器軟件結構如圖5 所示。
每臺物理服務器根據業務實際需求,通過虛擬化管理層劃分內存、硬盤、虛擬CPU(vCPU)等資源,同時,創建數據庫、鐵路運輸調度管理系統接口、鐵路客票發售和預訂系統接口、鐵路自動售檢票系統接口、身份認證、到發服務、廣播服務、導向服務等相應的虛擬機模板,實現平臺的快速部署。虛擬機內存、vCPU 及網絡資源使用物理機計算資源,其硬盤一般使用磁盤陣列共享資源。每臺物理服務器根據自身硬件配置情況,運行適當數量的虛擬機。例如,數據庫虛擬機占用內存較多,可自動調配內存較小的虛擬機,與其共用1臺物理服務器。虛擬化管理層的合理配置和智能優化,使每臺物理服務器利用率顯著提高。
虛擬化管理層可在物理服務器出現故障時,通過實時遷移功能,將故障服務器上運行的全部虛擬機自動遷移到其他物理機,業務幾乎無中斷。同時,可對故障物理服務器進行及時維修。虛擬化管理層通過HA 技術保障旅服平臺7×24 h 不間斷穩定運行。

圖2 傳統鐵路局旅服平臺基礎架構

圖3 傳統鐵路局旅服平臺服務器軟件結構

圖4 虛擬化鐵路局旅服平臺基礎結構
服務器虛擬化技術重新定義和劃分CPU、內存、網絡及存儲等計算資源。本文將其成功運用于鐵路局旅服平臺,圖6 為虛擬化鐵路局旅服平臺實現情況。
圖6 中,左側列是虛擬化資源池KMZ Pool,由4 臺物理服務器組成。圖6 中間部分,包含8 列:第1 列Name 字段,顯示服務器中分別運行的不同業務虛擬機;第2 列CPU Usage (CPU 使用率)字段,顯示物理服務器及虛擬機CPU 使用率,其使用率均低于10%;第3 列Used Memory(內存使用率)字段,包含物理服務器和虛擬機的內存使用率;第4、5、6 列均為磁盤網絡情況;第7 列Uptime 字段,為物理服務器與虛擬機本次開機后的運行時間,其中,大部分物理服務器已連續穩定運行300 天以上,虛擬機連續運行40 天以上;第8 列HA 字段,為虛擬化集群配置,一旦物理服務器發生故障,虛擬化管理層會自動遷移虛擬機到其他正常物理服務器繼續運行。
目前,已經在鄭州局、昆明局、呼和局、太原站、武昌站等鐵路局及車站上線使用Citrix 版本的虛擬化旅服平臺,南昌局、廣州局上線使用Vmware 版本的虛擬化旅服平臺。通過虛擬化管理層實時監控物理服務器及虛擬機運行狀態,保障平臺7×24 h 不間斷、安全、穩定運行。

圖5 虛擬化鐵路局旅服平臺服務器軟件結構

圖6 鐵路局旅服平臺虛擬化實現
傳統鐵路局旅服平臺使用物理服務器的數量在10 臺左右,每臺服務器CPU 使用率小于12%,硬盤和內存使用率小于10%。磁盤陣列只為2 臺數據庫集群提供數據存儲,使用率小于20%。
而應用虛擬化鐵路局旅服平臺后,使用物理服務器的數量為4 臺,每臺服務器CPU 使用率小于30%,硬盤使用率小于5%,內存使用率小于40%。磁盤陣列為4 臺物理服務器提供數據存儲,使用率為80%左右。
綜上,虛擬化鐵路局旅服平臺需要物理服務器數量明顯減少,物理服務器CPU、內存、網絡等資源使用率和磁盤陣列占用率都得到了顯著提高。
虛擬化技術在旅服平臺的應用,可實現平臺的快速部署,提高物理服務器使用率,縮短平臺故障處理時間且滿足平臺擴展需求,保障平臺7×24 h 不間斷、安全、穩定運行。
此外,磁盤陣列包含所有數據處理服務、到發服務、導向服務、廣播服務等虛擬機硬盤資源,且占用率較高。將來車站線路增多時,磁盤陣列的需求量將會迅速擴大,擴容難度及耗資較大。下一步將著重研究Docker 在旅服平臺中的應用,在保障后臺服務冗余的同時,節省磁盤陣列資源空間,保障旅服平臺高效、穩定運行。