曹 麗, 姜 毅, 楊曉剛
(1. 浙江理工大學 信息學院, 浙江 杭州 310018; 2. 浙江理工大學 經(jīng)濟管理學院, 浙江 杭州 310018;3. 浙江理工大學 科學技術(shù)研究院, 浙江 杭州 310018)
隨著云計算技術(shù)的快速發(fā)展和教育云的應用,越來越多的高校嘗試把云計算技術(shù)引入信息化建設(shè)中[1-6],高校教育云平臺的建設(shè)面臨巨大的挑戰(zhàn)。一方面,需要有效地利用已有的信息化建設(shè)成果和資源,降低新技術(shù)應用的成本;另一方面,需要按照不同的工作需求實現(xiàn)教育云平臺功能和資源配置的按需定制,實現(xiàn)教育云服務(wù)的差異化和個性化[7-8]。為了解決這些問題,本文提出利用開源軟件構(gòu)建私有教育云平臺的解決方案,并給出了通用型私有教育云平臺建設(shè)實例,為云計算技術(shù)在高校信息化建設(shè)中的應用提供新的思路。
從用戶使用的角度,云計算平臺可以分為公共云和私有云[9]。公共云服務(wù)提供商通過互聯(lián)網(wǎng)提供計算和存儲等服務(wù),用戶按照“即用即付 ”的模式付費。典型的公共云服務(wù)有Amazon EC2、阿里云等。私有云一般部署在機構(gòu)的防火墻內(nèi)部,相關(guān)資源只提供給內(nèi)部人員使用。典型的私有云平臺有IBM“藍云”計算平臺、OpenStack開源云平臺等。
在高校中,典型的教育云服務(wù)(如視頻播放、作業(yè)上傳、開放實驗等)需要較高的網(wǎng)絡(luò)帶寬,而云平臺的主要用戶(教師、學生和管理人員)大部分時間在校園內(nèi),校園網(wǎng)一般部署了百兆或千兆帶寬的局域網(wǎng)絡(luò)。因此,采用私有云技術(shù)構(gòu)建教育云平臺可以有效地利用高?,F(xiàn)有的硬件、軟件和網(wǎng)絡(luò)資源,以較低的成本實現(xiàn)高質(zhì)量的私有云服務(wù),是一種較好的教育云平臺建設(shè)解決方案。
高校的教育私有云平臺主要應用在教學和科研環(huán)境中,需要充分考慮平臺的易用性、功能的完備性和成本投入等因素。目前私有云平臺建設(shè)主要有自行開發(fā)方案、商業(yè)解決方案和開源解決方案3種模式。表1對這3種模式的特點進行了對比[10]。
表1 私有教育云平臺構(gòu)建模式對比
在3種構(gòu)建教育私有云的模式中,開源解決方案無需各種軟件的商業(yè)授權(quán)費用,使用成本遠低于商業(yè)解決方案。一般不需要編寫大量代碼,主要工作是規(guī)劃、實施和集成等,其技術(shù)難度遠小于自行開發(fā)方案。此外,開源解決方案的可擴展性強,能有效避免廠家鎖定問題。筆者認為這是目前比較適合我國高校實際情況的構(gòu)建模式,因此本文討論的私有教育云平臺的構(gòu)建與應用采用開源云計算方案。
目前開源云計算有OpenStack、Eucalyptus和CloudStack等多個項目,其中OpenStack是2010年美國國家航空航天局(NASA)與Rackspace合作研發(fā)的開源云計算平臺[11],獲得了多個公司和開源組織的支持,并能夠兼容亞馬遜的公共云平臺,已經(jīng)成為開放云平臺的事實標準。因此,本平臺的構(gòu)建采用OpenStack解決方案。
云計算有3種服務(wù)模式,即IaaS、PaaS和SaaS。私有教育云平臺一般只需提供IaaS和SaaS服務(wù),IaaS提供計算、存儲和網(wǎng)絡(luò)等資源的基礎(chǔ)設(shè)施服務(wù),SaaS用來提供教學、實驗、流媒體、在線測試等教育應用服務(wù)。在云計算中,PaaS用來構(gòu)建應用開發(fā)的中間平臺,而私有教育云平臺一般不需要提供PaaS服務(wù)。本文提出的私有教育云平臺層次模型如圖1所示。
圖1 私有教育云平臺層次模型
該層次模型分為3個層次。
底層為物理設(shè)備層,包含物理服務(wù)器、網(wǎng)絡(luò)設(shè)備、存儲設(shè)備、安全設(shè)備等物理設(shè)施。
中間層為IaaS層,首先通過KVM、Xen、VMWare等虛擬化軟件把物理設(shè)備虛擬化成為虛擬設(shè)備,然后使用OpenStack等云計算平臺管理系統(tǒng)動態(tài)分配和管理私有教育云的各種虛擬資源,包括計算、存儲和網(wǎng)絡(luò)資源,并提供統(tǒng)一身份認證和管理工具等。
上層為SaaS層,主要提供教育云應用服務(wù),包括教學管理、在線測試、CMS、流媒體、問卷調(diào)查、WIKI等。SaaS層的教育應用服務(wù)部署在IaaS之上,并能通過IaaS提供的接口訪問下層資源。
教育云平臺的構(gòu)建采用OpenStack的JUNO版本。JUNO是OpenStack的第10個版本,共有10個組件,可以分為基礎(chǔ)服務(wù)、存儲、共用服務(wù)和高層服務(wù)4種類型。
(1) 基礎(chǔ)服務(wù):包含Compute、Networking、Dashboard等3種服務(wù)。其中Nova組件是Compute的具體實現(xiàn),主要功能是管理計算實例的生命周期,即按照命令啟動、調(diào)度和銷毀虛擬機;Neutron組件是Networking的具體實現(xiàn),主要功能是提供可插拔、可拓展和API驅(qū)動的虛擬網(wǎng)絡(luò)服務(wù);Horizon組件是Dashboard的具體實現(xiàn),提供了通過Web圖形界面管理OpenStack服務(wù)的方式。
(2) 存儲服務(wù):OpenStack提供了對象存儲(Object Storage)和塊存儲(Block Storage)服務(wù)。Swift組件是Object Storage的具體實現(xiàn),提供了分布式、可拓展和冗余的非結(jié)構(gòu)化數(shù)據(jù)的對象存儲服務(wù);Cinder組件是Block Storage的具體實現(xiàn),為虛擬機提供了持久化的塊存儲服務(wù)。
(3) 共用服務(wù):包含了Identity、Image、Telemetry等3種服務(wù)。其中,Keystone組件是Identity的具體實現(xiàn),為OpenStack提供統(tǒng)一的身份認證服務(wù);Glance組件是Image的具體實現(xiàn),為Compute提供虛擬機磁盤鏡像的存儲、檢索和獲取服務(wù);Ceilometer組件是Telemetry的具體實現(xiàn),提供了云平臺的計量、統(tǒng)計和計費等服務(wù)。
(4) 高層服務(wù):包含Orchestration和Database兩種服務(wù)。其中Heat組件是Orchestration的具體實現(xiàn),類似于亞馬遜AWS CloudFormation,用戶可通過模板配置和部署各種資源;Trove組件是Database的具體實現(xiàn),支持關(guān)系型和非關(guān)系型云數(shù)據(jù)庫服務(wù)。
根據(jù)應用場景的不同,私有教育云平臺可以分為計算型、存儲型和通用型3種,OpenStack的各個組件可以按照具體應用場景中用戶的不同需要進行選擇和部署。
計算型私有教育云主要應用在計算密集型的場景中,如高??蒲兄械母咝阅芸茖W計算、動畫專業(yè)的作品渲染以及數(shù)據(jù)分析課程中的大數(shù)據(jù)分析處理等。計算密集包括CPU密集、內(nèi)存密集或兩者皆有的情況,一般不包括存儲密集和網(wǎng)絡(luò)密集的情況。
計算型私有教育云需要速度快、數(shù)量大的CPU核心以及大容量的內(nèi)存??梢允褂枚嗯_價格低廉的PC Server(即X86架構(gòu)服務(wù)器)構(gòu)建基礎(chǔ)設(shè)施,每臺PC Server可以支持多顆CPU,每顆CPU包含多顆核心,然后通過OpenStack產(chǎn)生大量的虛擬計算節(jié)點。需要使用的核心組件為Nova、Glance和Keystone,并可以根據(jù)特定的需要增加一些組件如Neutron、Horizon、Heat等。
計算任務(wù)決定了計算型私有教育云的不同技術(shù)策略。例如,大量短時間運行的計算任務(wù)和少量長時間運行的計算任務(wù)有著不同的技術(shù)需求,前者可以通過CPU和內(nèi)存的超分配機制優(yōu)化資源的利用,后者一般不對CPU和內(nèi)存進行超分配。資源超分配比例即虛擬資源與實際物理資源的比例,在OpenStack中,CPU的超分配比例默認為16∶1。如果一個物理節(jié)點有8個CPU核心,則調(diào)度器可以為該節(jié)點上的所有實例共分配128個虛擬核心。內(nèi)存的超分配比例默認為1.5∶1,如果一個物理節(jié)點有32 GB內(nèi)存,則調(diào)度器為該節(jié)點上的所有實例分配的內(nèi)存總數(shù)不多于48 GB即可。較大的超分配比例可以有效地提高資源利用效率,但是在負載較重時會降低實例的性能,影響教育云用戶的感受。因此,需要根據(jù)不同的情況選擇合適的CPU與內(nèi)存超分配比例。
存儲型私有教育云主要應用在存儲密集的場景中,例如校園網(wǎng)內(nèi)的文件上傳/下載服務(wù)、教學數(shù)據(jù)備份、教育資料歸檔、教育視頻流等。存儲型私有教育云通過數(shù)據(jù)的分布存儲和冗余機制(默認在不同位置存儲3份)實現(xiàn)了非常高的容錯能力,保證了校園網(wǎng)中數(shù)據(jù)資料的安全。
通過OpenStack構(gòu)建的存儲型私有教育云可以提供對象存儲和塊存儲兩種服務(wù)。Swift組件通過“賬戶-容器-對象 ”(Account-Container-Object)的形式提供對象存儲服務(wù),一個賬戶下可有多個容器,每個容器中可存儲多個對象,通過環(huán)(Ring)來記錄存儲對象與物理位置間的映射關(guān)系[10]。Cinder組件為虛擬服務(wù)器提供持久的塊存儲服務(wù),能夠像文件系統(tǒng)一樣被虛擬服務(wù)器分區(qū)、格式化和加載,即使在虛擬服務(wù)器的生命周期結(jié)束后,塊存儲中的數(shù)據(jù)也能夠長期保存下來。存儲型私有教育云也可以根據(jù)特定的需要增加一些組件,如Nova、Horizon、Glance等。
具體的存儲任務(wù)決定了存儲型私有教育云的不同技術(shù)策略。例如,有些存儲任務(wù)要求大容量的存儲空間,有些存儲任務(wù)要求高存儲速度。前者可以使用機械硬盤陣列構(gòu)建大容量的存儲集群,后者則需要使用高速的固態(tài)硬盤構(gòu)建緩存池。
通用型私有教育云不強調(diào)針對某個特定的應用場景,而是在計算、存儲和網(wǎng)絡(luò)等要素之間保持平衡,適用于一般性需求。高校的Web服務(wù)、網(wǎng)絡(luò)教學平臺、在線實驗、數(shù)據(jù)庫等應用都可以架構(gòu)在通用型私有教育云平臺中。
通用型私有教育云通常實現(xiàn)計算、存儲和網(wǎng)絡(luò)3種基本服務(wù)。
計算資源被設(shè)計為資源池,能夠按照用戶的要求實現(xiàn)按需分配,由調(diào)度器自動配置到最合適的硬件環(huán)境中。和計算型私有教育云一樣,通用型私有教育云中的CPU和內(nèi)存也能夠?qū)崿F(xiàn)資源的超分配,從而提高硬件的利用效率。
存儲服務(wù)可以提供臨時存儲、對象存儲和塊存儲3種服務(wù)。臨時存儲會在虛擬服務(wù)器的生命周期結(jié)束后釋放資源,對象存儲和塊存儲則可以把數(shù)據(jù)長期保存下來。用戶可以根據(jù)需要選擇一種或多種存儲服務(wù)模式。 網(wǎng)絡(luò)本身也是一種資源。Neutron組件實現(xiàn)了為用戶提供控制權(quán)建立虛擬網(wǎng)絡(luò)資源服務(wù)的功能。在校園網(wǎng)環(huán)境中,OpenStack網(wǎng)絡(luò)結(jié)構(gòu)一般需要劃分為3個網(wǎng)段:第一個網(wǎng)段為云平臺的內(nèi)網(wǎng)管理接口,第二個網(wǎng)段為云平臺的內(nèi)網(wǎng)計算接口,第三個網(wǎng)段為云平臺的外部訪問接口(即校園網(wǎng)接口)。
OpenStack云平臺可以架構(gòu)在Ubuntu、RHEL(Red Hat Enterprise Linux)、CentOS、SLES(SUSE Linux Enterprise Server)等多種Linux發(fā)行版本之上,支持KVM、Xen、VMWare、Hyper-V等多種虛擬化環(huán)境。分配給客戶的虛擬服務(wù)器可以使用Windows、Unix、Linux等不同的操作系統(tǒng),并配置不同的數(shù)據(jù)庫和應用服務(wù)。
筆者已經(jīng)在校園網(wǎng)中構(gòu)建了用于教學和科研的通用型私有教育云平臺[12]。由于小型機等設(shè)備較為昂貴,故云平臺物理節(jié)點采用了PC Server。為了節(jié)約建設(shè)成本和減少初期投入,在平臺構(gòu)建初期,可以只采用3臺PC Server——服務(wù)器I、服務(wù)器II和服務(wù)器III,分別作為控制節(jié)點、網(wǎng)絡(luò)管理節(jié)點和計算節(jié)點。硬件配置如表2所示。
表2 私有教育云平臺服務(wù)器的硬件配置
由于云計算技術(shù)本身能夠支持各種資源的動態(tài)擴展,如果相關(guān)資源不能滿足教育應用和發(fā)展的需要,也可以在云平臺中動態(tài)加入新的設(shè)備和資源,如增加計算節(jié)點、存儲集群等。
服務(wù)器I作為云平臺的控制節(jié)點,只需要一塊網(wǎng)卡用于內(nèi)網(wǎng)管理網(wǎng)段;服務(wù)器II作為云平臺的網(wǎng)絡(luò)節(jié)點,需要3塊網(wǎng)卡分別用于內(nèi)網(wǎng)管理網(wǎng)段、內(nèi)網(wǎng)計算網(wǎng)段和校園網(wǎng)訪問網(wǎng)段;服務(wù)器III作為云平臺的計算節(jié)點,需要2塊網(wǎng)卡分別用于內(nèi)網(wǎng)管理網(wǎng)段和內(nèi)網(wǎng)計算網(wǎng)段。服務(wù)器的網(wǎng)絡(luò)配置說明如表3所示。
表3 服務(wù)器的網(wǎng)絡(luò)配置說明
服務(wù)器I(controller)為云平臺的控制節(jié)點,安裝Glance、Keystone和Horizon等組件;服務(wù)器II(network)為云平臺的網(wǎng)絡(luò)節(jié)點,安裝組件Neutron等組件;服務(wù)器III(compute1)為云平臺的計算節(jié)點,安裝Nova、Neutron等組件。表4為3臺服務(wù)器的功能組件配置說明。
表4 服務(wù)器的功能組件配置說明
服務(wù)器首先要安裝基礎(chǔ)操作系統(tǒng)(BaseOS)。本平臺使用Ubuntu Server 14.04的64位版本。在基礎(chǔ)操作系統(tǒng)安裝完成后安裝OpenStack云平臺,安裝過程主要分為7個主要步驟,如圖2所示。
在OpenStack安裝和配置完成后,就可以用命令行或Web圖形界面的方式使用和管理私有教育云平臺資源,如創(chuàng)建虛擬機實例、管理鏡像文件等。筆者利用私有云平臺Glance組件提供的鏡像功能,將常用的教學和實驗應用與網(wǎng)絡(luò)服務(wù)制作成鏡像,大大簡化了SaaS層應用的開發(fā)和部署工作。
在私有教育云平臺的SaaS層,筆者構(gòu)建了開放教學與實驗平臺實例,并將其用于Web開發(fā)技術(shù)的實驗教學環(huán)節(jié)。私有教育云平臺提供3種軟件測試實驗環(huán)境,用于Java、.Net和PHP等3種開發(fā)技術(shù)的配置和測試實驗。這3種云測試環(huán)境的詳細說明如表5所示。
圖2 私有教育云平臺安裝步驟
測試環(huán)境操作系統(tǒng)開發(fā)語言Web服務(wù)器數(shù)據(jù)庫JavaUbuntuServer14.04Servlet3.0/JSP2.2Tomcat7MySQL5.5.NetWindowsServer2008R2.Net3.5IIS7SQLServer2008PHPUbuntuServer14.04PHP5Apache2.4MySQL5.5
其他教師和學生在使用時,不需要重新配置服務(wù)器和各種應用軟件,只需要以下3個步驟即可:
(1) 申請滿足需要的云平臺IaaS層虛擬資源;
(2) 選擇合適的應用鏡像并部署;
(3) 更新應用的個性化模板與內(nèi)容。
在使用過程中,如果系統(tǒng)資源不能滿足需要,可以向管理員提出申請,即可動態(tài)增加相關(guān)資源。
把云計算技術(shù)引入高等教育領(lǐng)域,在一定程度上解決了傳統(tǒng)網(wǎng)絡(luò)教育平臺建設(shè)周期長、成本高的問題。利用私有云平臺可方便地實現(xiàn)硬件設(shè)備的虛擬化、常用網(wǎng)絡(luò)教學和實驗功能的模板化。教師可以從私有云平臺分配虛擬計算和存儲資源,并通過業(yè)務(wù)鏡像實現(xiàn)常用網(wǎng)絡(luò)教學和實驗應用的快速部署,實現(xiàn)功能的按需定制,實現(xiàn)網(wǎng)絡(luò)教育服務(wù)的差異化和個性化。
以O(shè)penStack為代表的開源云計算平臺提供了豐富的功能和大量的二次開發(fā)接口,能夠很好地滿足高校信息化建設(shè)的需要。私有教育云平臺使用開源軟件構(gòu)建,降低了建設(shè)成本,避免了軟件知識產(chǎn)權(quán)糾紛,是高校教育云建設(shè)的一種較好的解決方案。參考文獻(References)
[1] 孫柏祥.云計算:高校教育信息化建設(shè)和發(fā)展的新模式[J].中國電化教育,2010(5):123-125.
[2] 王愛清,趙冬生.云計算環(huán)境下高校校級統(tǒng)一信息平臺建設(shè)探討[J].實驗技術(shù)與管理,2011,28(5):282-285.
[3] 吳濤,金義富,張子石.云計算時代虛擬學習社區(qū)的特征分析:以未來教育空間站為例[J].電化教育研究,2013(1):57-61.
[4] 金永霞,丁海軍,孫寧.云計算實驗室的建設(shè)與創(chuàng)新實踐教學[J].實驗技術(shù)與管理,2017,34(6):224-227.
[5] 云霞,沈利華,李紅,等.高校信息素養(yǎng)教育“云服務(wù)”平臺構(gòu)建[J].現(xiàn)代教育技術(shù),2013,23(5):108-112.
[6] 李磊,李小寧,金連文.基于Openstack的科研教學云計算平臺的構(gòu)建與運用[J].實驗技術(shù)與管理,2014,31(6):127-133.
[7] 周紅春.高校教育信息化的新發(fā)展:信息化教育:我國高校教育信息化試點學校建設(shè)的啟示[J].電化教育研究,2012(6):5-11.
[8] 吳彥文,吳軍其,王貴才,等.基于云計算個性化e-Learning學習支持服務(wù)系統(tǒng)的設(shè)計[J].中國電化教育,2011(9):123-126.
[9] Berkeley. Above the Clouds: A Berkeley View of Cloud Computing [EB/OL].(2009-02-10)[2017-11-23]. https://www2.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf.
[10] 姜毅,王偉軍,曹麗,等.基于開源軟件的私有云計算平臺構(gòu)建[J].電信科學,2013(1):68-75.
[11] OpenStack. Open source software for building private and public clouds[EB/OL].(2015-01-20).http://www.openstack.org/.
[12] 曹麗,姜毅,甘春梅,等.云計算軟件測試平臺的構(gòu)建[J].現(xiàn)代圖書情報技術(shù),2012(11):34-39.