戴琳琳,閻志遠(yuǎn),苗 凡,朱建軍
(中國鐵道科學(xué)研究院 電子計(jì)算技術(shù)研究所,北京 100081)
OpenStack在新一代客票系統(tǒng)中的應(yīng)用
戴琳琳,閻志遠(yuǎn),苗 凡,朱建軍
(中國鐵道科學(xué)研究院 電子計(jì)算技術(shù)研究所,北京 100081)
介紹新一代客票系統(tǒng)采用OpenStack開源軟件搭建云計(jì)算平臺,實(shí)現(xiàn)客票系統(tǒng)資源統(tǒng)一部署、管理和維護(hù)的系統(tǒng)結(jié)構(gòu)。
OpenStack;基礎(chǔ)設(shè)施及服務(wù);云平臺
隨著互聯(lián)網(wǎng)售票、電話訂票、自助售票等多種形式的自助售票方式的發(fā)展,中國鐵路客票發(fā)售和預(yù)訂系統(tǒng)(簡稱:客票系統(tǒng))的售票接入渠道和方式進(jìn)一步多樣化,其承載量也呈數(shù)量級增長,漸漸出現(xiàn)以下矛盾:
(1)日益增長的客票軟件需求與資源擴(kuò)展需求之間的矛盾
新一代客票系統(tǒng)涵蓋了新型互聯(lián)網(wǎng)售票、客票監(jiān)控、客票遠(yuǎn)程培訓(xùn)和測試平臺等新需求,相應(yīng)地也對硬件資源提出了更高的要求,但是由于場地大小、供電鋪線、空調(diào)設(shè)置等限制,硬件資源不可能無條件擴(kuò)展。適當(dāng)利用現(xiàn)有商用云計(jì)算平臺,可以有效解決在短時間內(nèi)資源激增的問題。
(2)日益增長的硬件資源與硬件維護(hù)代價和高可靠性之間的矛盾
隨著硬件資源的增長,網(wǎng)絡(luò)和平臺結(jié)構(gòu)日益復(fù)雜,對日常維護(hù)要求更高,同時軟件高可靠性所需的分節(jié)點(diǎn)分地區(qū)容災(zāi)部署,進(jìn)一步增加了維護(hù)難度。利用云計(jì)算平臺的計(jì)算節(jié)點(diǎn)同構(gòu)特性,可有效簡化維護(hù)難度,虛擬化資源管理可以減低維護(hù)復(fù)雜度。
(3)復(fù)雜軟件結(jié)構(gòu)與快速部署和高可伸縮性之間的矛盾
客票系統(tǒng)資源的需求具有規(guī)律性,在節(jié)假日售票高峰時,資源需求最為緊迫,而在非節(jié)假日,資源需求并不那么突出,如果按照高峰采購硬件,那么在非節(jié)假日勢必會有閑置資源。利用云平臺,將復(fù)雜軟件結(jié)構(gòu)分解成可快速部署的計(jì)算節(jié)點(diǎn),在高峰時,動態(tài)伸展,滿足應(yīng)用需要;在非高峰時,可以部署其他應(yīng)用,提高資源利用率。
因此打造新一代客票售票、監(jiān)控、培訓(xùn)和測試云平臺,盤活全路客票系統(tǒng)硬件資源,靈活調(diào)配計(jì)算資源分配,提高系統(tǒng)資源利用率和系統(tǒng)可用率,對進(jìn)一步提升客票系統(tǒng)的服務(wù)層次具有重要意義。
搭建新一代客票系統(tǒng)的云計(jì)算平臺要達(dá)到以下幾個目的:
(1)搭建的私有云平臺可以實(shí)現(xiàn)客票系統(tǒng)的快速擴(kuò)展和業(yè)務(wù)伸縮。由于客票系統(tǒng)已經(jīng)建設(shè)了近20年,其系統(tǒng)結(jié)構(gòu)和組成模塊都比較復(fù)雜,因此不可能完全移植到現(xiàn)有的云開發(fā)平臺上,云平臺搭建基于IaaS比較符合實(shí)際情況,然后將客票系統(tǒng)部署在其之上,利用它的虛擬化管理,提高系統(tǒng)性能、伸縮性和可靠性。
(2)搭建的私有云平臺可以實(shí)現(xiàn)全路資源動態(tài)調(diào)配。目前全路客票資源分布在各鐵路局,在維護(hù)水平和故障排查能力上各鐵路局參差不齊,各鐵路局重復(fù)購買和閑置硬件資源較多。為了更好地利用資源,搭建客票私有云平臺,當(dāng)各鐵路局/各鐵路車站有資源使用需求,可以租借該云平臺資源,無需另外購買維護(hù),實(shí)現(xiàn)了全路資源整合。
(3)搭建的私有云平臺還可以實(shí)現(xiàn)全路應(yīng)用服務(wù)定制。通過租用私有云平臺的定制服務(wù),可以減少各鐵路局重復(fù)開發(fā)成本,提高部署服務(wù)效率。
因此,選用基礎(chǔ)設(shè)施即服務(wù)(IaaS)云平臺的部署、管理和配置方案來搭建新一代客票系統(tǒng)云平臺。目前開源云平臺以其支持的服務(wù)器類型廣泛、產(chǎn)品不需要付費(fèi)使用、由開源社區(qū)負(fù)責(zé)軟件的更新等特點(diǎn),成為部署私有云的首選方案。業(yè)界主流的IaaS開源解決方案有CloudStack,Eucalyptus和OpenStack等產(chǎn)品,本文選用的OpenStack發(fā)展速度非??欤谥袊鐓^(qū)生態(tài)環(huán)境良好。
2.1 OpenStack組成部分
(1)OpenStack Compute(Nova) 控制云計(jì)算架構(gòu)(基礎(chǔ)架構(gòu)服務(wù)的核心組件)。它是用 Python 編寫的,創(chuàng)建一個抽象層,讓 CPU、內(nèi)存、網(wǎng)絡(luò)適配器和硬盤驅(qū)動器等資源實(shí)現(xiàn)虛擬化,并具有提高利用率和自動化的功能。
(2)OpenStack Networking (Neutron/Quantum)提供了管理局域網(wǎng)的能力,具有適用于虛擬局域網(wǎng)(VLAN)、動態(tài)主機(jī)配置協(xié)議和 IPv6 的一些功能。用戶可以定義網(wǎng)絡(luò)、子網(wǎng)和路由器,以配置其內(nèi)部拓?fù)?,然后向這些網(wǎng)絡(luò)分配 IP 地址和 VLAN。
(3)OpenStack Identity Management (Keystone)管理用戶目錄以及用戶訪問目錄。其目的是實(shí)現(xiàn)一個中央身份驗(yàn)證機(jī)制。它本身沒有提供身份驗(yàn)證,可以集成其他各種目錄服務(wù),如 Pluggable Authentication Module、Lightweight Directory Access Protocol(LDAP) 或 OAuth。通過這些插件,它能夠?qū)崿F(xiàn)多種形式的身份驗(yàn)證,包括簡單的用戶名密碼憑據(jù)以及復(fù)雜的多因子系統(tǒng)。
(4)OpenStack Object Storage (Swift) 是一個分布式存儲系統(tǒng),主要用于靜態(tài)數(shù)據(jù),比如 VM 鏡像、備份和存檔。該軟件將文件和其他對象寫入可能分布在一個或多個數(shù)據(jù)中心內(nèi)的多個服務(wù)器上的一組磁盤驅(qū)動器,在整個集群內(nèi)確保數(shù)據(jù)復(fù)制和完整性。
(5)OpenStack Block Storage(Cinder)管理計(jì)算實(shí)例所使用的塊級存儲。塊存儲非常適用于有嚴(yán)格性能約束的場景,比如數(shù)據(jù)庫和文件系統(tǒng)。
(6)OpenStack Image Service(Glance)為 VM鏡像提供了支持。除了發(fā)現(xiàn)、注冊和激活鏡像服務(wù)之外,它還有鏡像機(jī)快照和備份功能。
2.2 新一代客票系統(tǒng)云計(jì)算平臺實(shí)現(xiàn)目標(biāo)
(1)具有資源統(tǒng)一管理監(jiān)控界面,包括CPU、內(nèi)存、網(wǎng)絡(luò)、存儲、交換機(jī)、路由器、IP資源管理等。
(2)可以分配用戶資源,用戶可以根據(jù)需要裁減使用資源;
(3)可以根據(jù)需求動態(tài)增加/刪除資源;
(4)可以根據(jù)鏡像快速復(fù)制,創(chuàng)建資源;
(5)可以調(diào)整資源分配策略;
(6)可以靈活調(diào)整安全策略;
(7)可以根據(jù)資源使用時長/租用資源數(shù)量,進(jìn)行實(shí)時計(jì)費(fèi);
(8)對于已有的使用其它虛擬化技術(shù)管理的資源可以做到平緩過渡,統(tǒng)一管理。
2.3 新一代客票系統(tǒng)云計(jì)算平臺系統(tǒng)結(jié)構(gòu)
基于開源技術(shù)的云計(jì)算平臺的新一代客票系統(tǒng)架構(gòu)如圖1所示,由以下4層組成。
(1)物理層。由各種物理設(shè)備組成,包含服務(wù)器、交換機(jī)、路由器、存儲等硬件設(shè)備。
(2)資源池層。通過現(xiàn)有的虛擬化管理軟件,如VMware、KVM等,將由物理設(shè)備抽象出來的各種資源組成資源池層,主要包括:計(jì)算資源、網(wǎng)絡(luò)資源和存儲資源。
(3)虛擬化層。通過OpenStack各組件將各種資源進(jìn)行管理,實(shí)現(xiàn)計(jì)算虛擬化、網(wǎng)絡(luò)虛擬化和存儲虛擬化。
(4)統(tǒng)一門戶。平臺的管理模塊功能包括用戶管理、系統(tǒng)配置、日志管理、監(jiān)控管理、虛機(jī)管理、技術(shù)支持等。為管理員和用戶分別提供各自的門戶平臺,方便其使用。
圖1 OpenStack與新一代客票系統(tǒng)云計(jì)算平臺
OpenStack是一個開源的云計(jì)算管理平臺項(xiàng)目,由幾個主要的組件組合起來完成具體工作,支持幾乎所有類型的云環(huán)境,目標(biāo)是提供實(shí)施簡單、可大規(guī)模擴(kuò)展、豐富、標(biāo)準(zhǔn)統(tǒng)一的云計(jì)算管理平臺,通過各種互補(bǔ)的服務(wù)提供了IaaS的解決方案,每個服務(wù)提供API以進(jìn)行集成。目前新一代客票系統(tǒng)基于開源技術(shù)的云計(jì)算平臺對該開源產(chǎn)品還處在探索和學(xué)習(xí)階段,在后續(xù)的研究過程中,將不斷加強(qiáng)學(xué)習(xí)和理解。
[1]懷進(jìn)鵬,李 沁,胡春明. 基于虛擬機(jī)的虛擬計(jì)算環(huán)境研究與設(shè)計(jì)[J]. 軟件學(xué)報(bào),2007,18(8).
[2]盛憲鋒,及俊川,周小軍,等. 基于虛擬化技術(shù)的私有云APCS平臺設(shè)計(jì)[J]. 計(jì)算機(jī)工程,2012(8).
責(zé)任編輯 方 圓
OpenStack in new generation Ticketing and Reservation System
DAI Linlin, YAN Zhiyuan, MIAO Fan, ZHU Jianjun
( Institute of Computing Technologies, China Academy of Railway Sciences, Beijing 100081, China )
This article introduced the application of OpenStack in new generation Ticketing and Reservation System to implement unif i ed deployment, management and maintenance of system resources.
OpenStack; infrastructure and services(IaaS); cloud platform
U293.22∶TP393.22
A
1005-8451(2015)11-0021-03
2015-04-10
中國鐵路總公司科技研究開發(fā)計(jì)劃課題(J2014X002)。
戴琳琳,助理研究員;閻志遠(yuǎn),副研究員。