基于OpenStack的校園云桌面設(shè)計(jì)與實(shí)現(xiàn)
引 言
目前,我國(guó)許多高校面臨著各院系計(jì)算機(jī)設(shè)備資源分配不均勻、計(jì)算機(jī)設(shè)備閑置、早期采購(gòu)的設(shè)備未使用就面臨淘汰等資源浪費(fèi)問題。為了更好地滿足教學(xué)與科研的實(shí)際需求, 高校可使用云計(jì)算技術(shù)來減少升級(jí)硬件、軟件的成本,達(dá)到統(tǒng)一調(diào)配資源、充分利用資源的效果。自云計(jì)算技術(shù)誕生以來, 尚未制定出一個(gè)具有針對(duì)性與合理性的方案用來實(shí)現(xiàn)高校教學(xué)與科研實(shí)驗(yàn)的校園云桌面。本文設(shè)計(jì)與構(gòu)建了基于 OpenStack 的校園云桌面平臺(tái),該平臺(tái)有利于對(duì)高校軟硬件資源和教學(xué)科研資源進(jìn)行整合,為教學(xué)與科研提供便捷的桌面與存儲(chǔ)服務(wù)。
1 OpenStack及云桌面簡(jiǎn)介
OpenStack 是由Rackspace 與 NASA 共同研發(fā)與投入使用的一種云計(jì)算平臺(tái),提供與 Amazon EC2 及S3 類似的云基礎(chǔ)架構(gòu)服務(wù),采用 SOA 架構(gòu)及模塊化設(shè)計(jì),主要包含 Nova, Neutron,Ceph,Glance,Keystone 及消息中間件等模塊,用來向架構(gòu)的上層提供計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)、鏡像、認(rèn)證等服務(wù)。由于各大高校實(shí)際教學(xué)與科研等工作情況各不相同,因此,本文采用源代碼安裝方式在CentOS 7.2上構(gòu)建 OpenStack。
云桌面也稱為桌面云,通過桌面虛擬化來提供計(jì)算機(jī)桌面服務(wù)[1]。終端上的客戶端與云系統(tǒng)進(jìn)行交互來為用戶提供桌面服務(wù)。桌面虛擬化的協(xié)議主要包括 ICA,RDP,PCoIP 和SPICE 協(xié)議,具體實(shí)施時(shí)一般采用SPICE 協(xié)議,并結(jié)合業(yè)務(wù)實(shí)際需求對(duì)該協(xié)議進(jìn)行優(yōu)化,必要時(shí)需在客戶端添加硬件, 避免在使用某些圖形渲染軟件時(shí)使桌面性能受到影響。
2 基于 OpenStack的云桌面平臺(tái)設(shè)計(jì)與部署
2.1 總體設(shè)計(jì)與開發(fā)
云桌面平臺(tái)總體設(shè)計(jì)與開發(fā)的工作包括網(wǎng)絡(luò)拓?fù)湓O(shè)計(jì)與實(shí)施、軟件架構(gòu)設(shè)計(jì)與開發(fā)(云桌面客戶端模塊設(shè)計(jì)與資源管理系統(tǒng)的桌面模塊設(shè)計(jì))、虛擬機(jī)的 HA 設(shè)計(jì)與部署及存儲(chǔ)設(shè)計(jì)與部署等。
拓?fù)湓O(shè)計(jì)與實(shí)施。校園云桌面系統(tǒng)物理結(jié)構(gòu)如圖 1 所示。數(shù)據(jù)中心部署有OpenStack資源管理系統(tǒng),且部署有主干網(wǎng),其內(nèi)部的HA架構(gòu)可保證云計(jì)算平臺(tái)服務(wù)有足夠高的可用性。各教室部署有云桌面終端,教室、宿舍所在的樓部署萬兆交換機(jī)便于連到數(shù)據(jù)中心。數(shù)據(jù)中心包括存儲(chǔ)、計(jì)算、網(wǎng)絡(luò)、各自組網(wǎng)等。
云桌面客戶端模塊設(shè)計(jì)。該模塊主要包括桌面服務(wù)、云桌面升級(jí)、賬戶信息、校園服務(wù)等子模塊。具體模塊設(shè)計(jì)如圖 2所示。
資源管理系統(tǒng)的桌面模塊設(shè)計(jì)。該模塊包括云認(rèn)證、計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)、云桌面帳號(hào)管理、云桌面、計(jì)費(fèi)、管理員等子組件。云桌面帳號(hào)管理、云桌面服務(wù)端、計(jì)費(fèi)、管理員非原生組件需要額外進(jìn)行開發(fā)。校園云桌面平臺(tái)設(shè)計(jì)如圖3所示。
高可用虛擬機(jī)模塊設(shè)計(jì)。調(diào)用該模塊將會(huì)產(chǎn)生 冗余的虛擬機(jī),該模塊實(shí)現(xiàn) 基于 Spice 協(xié)議,Pacemaker, HAproxy,Glance,NFS 結(jié)構(gòu)(集中式存儲(chǔ)),固態(tài)(系統(tǒng)盤) 或機(jī)械結(jié)構(gòu)(數(shù)據(jù)盤)等技術(shù)。
高可用存儲(chǔ)設(shè)計(jì)。該模塊采用封裝 Ceph 模塊實(shí)現(xiàn)。
2.2 部署
2.2.1 部署基礎(chǔ)組件
OpenStack 的基礎(chǔ)組件包括數(shù)據(jù)庫(kù)與消息隊(duì)列,整個(gè)系 統(tǒng)最經(jīng)常訪問這兩個(gè)組件。其中,數(shù)據(jù)庫(kù)用于 OpenStack 運(yùn) 行的關(guān)鍵信息與狀態(tài)存取,數(shù)據(jù)庫(kù)部署采用 MySQL 數(shù)據(jù)庫(kù), 參照方案 Mariadb Galera Cluster 執(zhí)行部署操作。消息隊(duì)列用 于 OpenStack 服務(wù)中各模塊之間的消息傳輸,消息隊(duì)列部署 采用 Rabbitmq HA方案,且單獨(dú)部署該集群 [2]。
2.2.2 部署資源管理系統(tǒng)的 HA 組件及OpenStack 各組件
根據(jù)業(yè)務(wù)需要,HA 的組件有控制節(jié)點(diǎn)、存儲(chǔ)、虛擬機(jī)及 儀表盤(Dashboard)等。各計(jì)算節(jié)點(diǎn)配置部署 DVR 來提升云 桌面訪問速度。采用 Pacemaker+HAproxy 控制節(jié)點(diǎn)、儀表盤 的高可用;采用 Ceph 實(shí)現(xiàn)存儲(chǔ)的高可用;采用 NFS 作為云桌 面的硬盤后端,將系統(tǒng)盤部署在固態(tài)硬盤上實(shí)現(xiàn)虛擬機(jī)的高 可用及高性能 [3]。
安 裝 包 括 Keystone,Glance,Nova,Neutron,Ceph, Dashboard,Ceilometer 組件。同時(shí),安裝 Cobbler 服務(wù)組件, 使用 Cobbler 自動(dòng)化安裝服務(wù)器,修改配置文件。
2.2.3 部署校園云桌面等相關(guān)組件
數(shù)據(jù)中心安裝的額外開發(fā)的組件包括認(rèn)證、云桌面帳號(hào) 管理、云桌面、高可用云桌面、計(jì)費(fèi)、管理員等子組件 [4]。
3 云桌面在教學(xué)與科研中的應(yīng)用及性能測(cè)試
3.1 基于 OpenStack 的云桌面在校園教學(xué)與科研中的應(yīng)用
(1)云儲(chǔ)存。利用云存儲(chǔ)不僅可以隨時(shí)隨地登錄云中獲 取桌面數(shù)據(jù),還可為師生提供云盤服務(wù)。
(2)桌面云。開展教學(xué)活動(dòng)時(shí),教師可利用鏡像制作教 學(xué)環(huán)境模版,學(xué)生連接教室使用已安裝好的環(huán)境。教室具有 保存快照功能,亦可 24 小時(shí)開機(jī),學(xué)生可在任意時(shí)刻返回以 往教學(xué)課堂環(huán)境,方便接入學(xué)習(xí)。同時(shí),云桌面實(shí)現(xiàn)了可在一 間實(shí)體教室進(jìn)行多門課程教授的效果。開展科研活動(dòng)時(shí),可 方便接入環(huán)境,進(jìn)行在線協(xié)作。云桌面為師生營(yíng)造了便利的教 學(xué)與科研活動(dòng)空間。
3.2 平臺(tái)性能測(cè)試
將 A 校原有系統(tǒng)與基于 OpenStack 的校園云桌面平臺(tái)進(jìn) 行對(duì)比。性能測(cè)試結(jié)果見表 1 所列。
測(cè)試結(jié)果表明,云桌面平臺(tái)提供的桌面可以較好地滿足 教學(xué)科研人員桌面與存儲(chǔ)需求,且具有相對(duì)低廉的成本優(yōu)勢(shì), 有利于提升高校在教學(xué)科研上的自動(dòng)化、網(wǎng)絡(luò)化以及數(shù)字化 水平。
4 結(jié) 語(yǔ)
本文基于 OpenStack 設(shè)計(jì)與構(gòu)建了校園云桌面平臺(tái),通 過各組件與相關(guān)模塊的部署,實(shí)現(xiàn)了高校軟硬件資源和教學(xué) 科研資源的整合。通過性能測(cè)試,驗(yàn)證了此系統(tǒng)的高可用性, 可為教學(xué)與科研提供便捷的桌面與存儲(chǔ)服務(wù),應(yīng)用前景廣闊。