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