何孫杰 匡芳君*
隨著大數(shù)據(jù)時代的到來,高校教學(xué)資源在提高教學(xué)水平中的作用也越來越重要,高校管理者也意識到教學(xué)資源共享的應(yīng)用價(jià)值。如何充分發(fā)揮硬件資源的價(jià)值,更好地利用信息技術(shù)資源提高教育水平正逐漸受到各大高校的重視。和傳統(tǒng)的教學(xué)資源共享相比,考慮到“私有云”的教學(xué)資源共享平臺具有節(jié)省成本、共享便捷、管理高效、能耗更低等優(yōu)點(diǎn)。在“私有云”概念出現(xiàn)之前,教育資源管理中也強(qiáng)調(diào)共享,但是這種共享存在成本高、利用率低、維護(hù)困難等缺點(diǎn),如何利用云計(jì)算平臺彌補(bǔ)這些不足,進(jìn)一步提高教學(xué)水平顯得尤為重要。本文從傳統(tǒng)IT教學(xué)資源共享存在缺陷入手,分析現(xiàn)階段高校教學(xué)資源共享需要解決的問題,考慮如何利用云計(jì)算平臺解決共享難的問題,以提高資源利用率;然后利用Openstack構(gòu)建教學(xué)資源共享平臺,并以視頻教學(xué)資源共享為例,展示了利用Openstack私有云構(gòu)建教學(xué)資源共享的優(yōu)勢。
云計(jì)算是基于互聯(lián)網(wǎng)的相關(guān)服務(wù)的增加、使用和交付模式,一般涉及通過互聯(lián)網(wǎng)來提供動態(tài)易擴(kuò)展且經(jīng)常是虛擬化的資源。云是網(wǎng)絡(luò)、互聯(lián)網(wǎng)的一種比喻說法。對云計(jì)算的定義有多種說法,現(xiàn)在大眾認(rèn)可度最高的是美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)是定義:云計(jì)算是一種按使用量付費(fèi)的模式,這種模式提供可用的、便捷的、按需的網(wǎng)絡(luò)訪問,進(jìn)入可配置的計(jì)算資源共享池(資源包括網(wǎng)絡(luò),服務(wù)器,存儲,應(yīng)用軟件,服務(wù)),這些資源能夠被快速提供,只需投入很少的管理工作,或與服務(wù)供應(yīng)商進(jìn)行很少的交互[3]。其體系結(jié)構(gòu)如圖1所示。
圖1 云計(jì)算服務(wù)原理圖
云計(jì)算有以下幾種部署模式:私有云、公有云、社區(qū)云和混合云。私有云一般是為一個機(jī)構(gòu)單獨(dú)構(gòu)建,并單獨(dú)為這個機(jī)構(gòu)服務(wù)的;公共云由云服務(wù)提供商所建立,用戶通過網(wǎng)絡(luò)購買租用云中的資源;社區(qū)云為有共同關(guān)注點(diǎn)的多家機(jī)構(gòu)所建立;混合云由兩個或兩個以上的云組成,這些云彼此相互獨(dú)立,而本文研究在各個高校內(nèi)部資源的共享,使用私有云對于擴(kuò)展性、共享速度以及安全性方面更有優(yōu)越性。無論哪一種部署模式,按照服務(wù)類型一般都可以分為三類[4]:軟件即服務(wù)(SaaS)、平臺即服務(wù)(PaaS)和基礎(chǔ)設(shè)施即服務(wù)(IaaS)這三大類。
2.2.1 基于私有云的教育資源共享的優(yōu)勢
在“私有云”概念興起之前,許多高校嘗試?yán)霉性拼罱ㄗ约旱慕虒W(xué)資源共享平臺。由于私有云可以完全工作在高校內(nèi)網(wǎng)中,而公有云往往依靠相關(guān)公司的服務(wù)器來提供服務(wù),與私有云相比,公有云的安全性不足,服務(wù)水平也不及私有云。另外,使用私有云還可節(jié)約成本。私有云平臺可以更好地保障數(shù)據(jù)安全,還可以防止數(shù)據(jù)的泄漏和來源與外部網(wǎng)絡(luò)的攻擊。OpenStack是一種云計(jì)算控制器結(jié)構(gòu),利用Python語言編寫。這種構(gòu)架對于硬件平臺成本要求更低,且資源共享速度更快更方便。
2.2.2 OpenStack的框架及部署方式
平臺的目標(biāo)是在云計(jì)算技術(shù)的支持下,建立基于Open-Stack項(xiàng)目的學(xué)習(xí)資源共享系統(tǒng)。關(guān)鍵技術(shù)在于分布式硬件資源(包括服務(wù)器,網(wǎng)絡(luò)和存儲設(shè)備)的統(tǒng)一,并利用虛擬化技術(shù)形成統(tǒng)一的硬件資源。具體來說,包括由OpenStack提供的用于統(tǒng)一管理的池,開源組件為用戶提供IaaS服務(wù),用戶從IaaS租用資源并存儲他們自己的學(xué)習(xí)資源。此外,還包括開發(fā)部署和共享學(xué)習(xí)資源系統(tǒng),以及為管理員和學(xué)生提供學(xué)習(xí)資源。
OpenStack作為一個開源項(xiàng)目,提供了一個部署云的操作平臺,用于管理大量的計(jì)算機(jī)、存儲設(shè)備和網(wǎng)絡(luò)資源組成的資源池,為私有云提供良好的擴(kuò)展性[1]。OpenStack主要有7個核心組件[2],各組件之間的關(guān)系如圖2所示。
圖2 Openstack核心組件關(guān)系
(1)計(jì)算機(jī)組建(Nova):提供虛擬主機(jī)計(jì)算資源,將計(jì)算能力通過虛擬機(jī)的方式交付用戶。
(2)身份認(rèn)證(Keystone):提供統(tǒng)一的授權(quán)和身份驗(yàn)證。
(3)管理門戶(Horizon):基于API接口,用于管理門戶的Web端則用Python語言開發(fā)。
(4)鏡像管理(Glance):為平臺提供虛擬磁盤鏡像的目錄分類管理以及鏡像的管理。
(5)網(wǎng)絡(luò)管理(Quantum):實(shí)現(xiàn)了虛擬機(jī)的網(wǎng)絡(luò)資源管理,包括后續(xù)的負(fù)載均衡、公網(wǎng)映射、子網(wǎng)IP管理、網(wǎng)絡(luò)連接等功能。
(6)對象存儲(Swift):通過鍵值對的方式實(shí)現(xiàn)對象文件的存儲讀取。
(7)快存儲(Cinder):實(shí)現(xiàn)了對塊存儲的管理,為虛擬機(jī)提供云硬盤服務(wù)。
另外,OpenStack的部署方式主要分為兩種:多點(diǎn)部署及單點(diǎn)部署。單點(diǎn)部署即所有OpenStack組件只需要安裝在同一物理節(jié)點(diǎn)上。只涉及一臺物理節(jié)點(diǎn),具有所占用資源少,OpenStack的大部分功能都可用;管理、維護(hù)方便;網(wǎng)絡(luò)結(jié)構(gòu)簡單,不用考慮復(fù)雜的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu);調(diào)試和研究方便,無需跨節(jié)點(diǎn)調(diào)試等優(yōu)點(diǎn)。而多點(diǎn)部署即是采用多結(jié)點(diǎn)的部署方式,適用于有較多硬件資源的情況,具有管理、維護(hù)接近真實(shí)環(huán)境;OpenStack各組件間的相互依賴關(guān)系更加清晰;Open-Stack各組件的功能和穩(wěn)定性更好等優(yōu)點(diǎn)。
然而,單點(diǎn)部署擴(kuò)展較難、實(shí)用性較差、OpenStack各組件間的關(guān)系不易研究。多點(diǎn)部署涉及到眾多節(jié)點(diǎn),部署麻煩且不易理清OpenStack各組件間的關(guān)系、維護(hù)困難、每個節(jié)點(diǎn)運(yùn)行各自的服務(wù)導(dǎo)致資源浪費(fèi)。因此,較為實(shí)用的部署方式是采用兩種節(jié)點(diǎn):主控節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn),如圖3所示。這樣,此部署不僅擴(kuò)展容易、維護(hù)方便,而且該架構(gòu)具有高可靠性,能夠持續(xù)穩(wěn)定地提供服務(wù)。
圖3 主控節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)示意圖
本章介紹在高校網(wǎng)絡(luò)環(huán)境中部署Openstack私有云的實(shí)現(xiàn)方法。這里僅說明一般性方法,具體實(shí)施方法還要結(jié)合高校各自情況加以說明。
3.1.1 現(xiàn)有教學(xué)資源遷移
傳統(tǒng)教學(xué)資源主要包括教學(xué)課件、教學(xué)試題以及教學(xué)成績。這些教學(xué)資源往往存儲在某一臺或者某幾臺特定的服務(wù)器中[5]。這樣,一旦這些服務(wù)器發(fā)生故障或者離線,所有教師和學(xué)生都將失去對這些資源的訪問能力。對于這部分教學(xué)資源可以很方便地遷移到搭建好的云計(jì)算平臺上。Openstack云計(jì)算平臺提供虛擬機(jī)服務(wù)支持,只需要將傳統(tǒng)教學(xué)資源所在服務(wù)器的硬盤數(shù)據(jù)制作成映像文件,并且將該映像文件導(dǎo)入到服務(wù)器中,創(chuàng)建特定的虛擬機(jī)服務(wù),即可完成遷移工作。遷移過后,用戶訪問可以不受云計(jì)算平臺中某臺服務(wù)器故障的影響。
3.1.2 分布式計(jì)算資源構(gòu)建
許多高校都建有專門的數(shù)據(jù)處理服務(wù)器[6],用來滿足教學(xué)和科研過程中對于高強(qiáng)度計(jì)算所需要的處理能力。然而,用戶想要申請得到這些計(jì)算資源往往需要繁瑣的申請手續(xù)。另外,用于教學(xué)目的的資源相對短缺,導(dǎo)致開設(shè)的相關(guān)課程教學(xué)質(zhì)量下降,不能滿足需求。要創(chuàng)建計(jì)算資源云處理平臺,需要在原本的每臺高性能計(jì)算機(jī)上配置Openstack Computing程序。并且將程序配置在計(jì)算節(jié)點(diǎn)模式。這些計(jì)算節(jié)點(diǎn)相互連接,并且可以根據(jù)需要,動態(tài)地劃分為多個不同的虛擬計(jì)算機(jī)。
系統(tǒng)管理員可以將擁有不同權(quán)限的賬號分配給每一個教師,而教師又可以根據(jù)教學(xué)需要,為每個學(xué)生分配不同性能的虛擬主機(jī)。學(xué)生可以使用分配到的賬號登錄到遠(yuǎn)程桌面,熟悉相關(guān)技術(shù)和操作。這樣一來,高??梢猿浞掷矛F(xiàn)有的硬件資源,做到硬件資源分配最優(yōu)化,使得每一個使用需求都能夠得到較好的滿足。這有利于提高教質(zhì)量和水平[7]。
學(xué)習(xí)資源共享平臺利用云計(jì)算技術(shù)為高校提供基礎(chǔ)設(shè)施服務(wù)(IaaS)。它通過OpenStack項(xiàng)目將現(xiàn)有的所有的硬件設(shè)施組織到一個統(tǒng)一的虛擬資源池中,并為高校提供租用接口。高校可以在租用的基礎(chǔ)設(shè)施上存儲學(xué)習(xí)資源,部署自己的應(yīng)用程序等。平臺應(yīng)用層的學(xué)習(xí)資源共享系統(tǒng)也可以部署在高校租用的資源上供學(xué)生使用。在云計(jì)算資源共享平臺中,基礎(chǔ)設(shè)施管理員負(fù)責(zé)資源池中資源的分配和監(jiān)控。每個高校都是資源的使用者。他們租用池中的基礎(chǔ)設(shè)施并部署自己的資源共享系統(tǒng)來存儲學(xué)習(xí)資源信息,以及應(yīng)用程序數(shù)據(jù)庫。同時,高??梢允褂肳eb控制臺檢查租用資源的使用情況并作出新的租賃決定。學(xué)生在高校登錄學(xué)習(xí)資源共享系統(tǒng)學(xué)習(xí)平臺,獲取學(xué)習(xí)資源,獲得學(xué)習(xí)資源許可,同時支付一定費(fèi)用。每個高校通過學(xué)習(xí)資源共享系統(tǒng)的管理平臺來管理學(xué)習(xí)資源,并監(jiān)控每個學(xué)生的學(xué)習(xí)行為。在實(shí)際部署時,管理節(jié)點(diǎn)采用1臺ThinkServer服務(wù)器進(jìn)行平臺管理控制,用來控制云環(huán)境;用5臺ThinkServer常規(guī)服務(wù)器,搭配萬兆網(wǎng)口和大容量內(nèi)存來充當(dāng)資源池;采用具有大硬盤,64GB內(nèi)存,SSD讀寫加速和至少2個千兆網(wǎng)口,2個萬兆網(wǎng)口的服務(wù)器作為儲存節(jié)點(diǎn)。
3.2.1 教學(xué)視頻資源共享
教學(xué)視頻資源一般是指課堂的視頻錄像和一些演示性實(shí)驗(yàn)[8]。傳統(tǒng)的教學(xué)資源視頻是存儲在學(xué)校的服務(wù)器主機(jī)的。受限于物理情況,主機(jī)的帶寬和處理能力都是有限的。當(dāng)訪問用戶比較多、點(diǎn)播量很大的時候,經(jīng)常會出現(xiàn)宕機(jī)的現(xiàn)象。
這部分資源的云端化處理適宜采用多點(diǎn)對多點(diǎn)(Peer to Peer)的傳輸方式。利用Openstack可以實(shí)現(xiàn)這一技術(shù)。在這種基于Web的結(jié)構(gòu)中,用戶可以不用安裝客戶端軟件,服務(wù)器可以協(xié)調(diào)處理這些訪問請求,并且將其重定向到已經(jīng)下載了相同資源的用戶。這樣,就不需要每個用戶都從服務(wù)器下載視頻數(shù)據(jù),從而實(shí)現(xiàn)了減輕服務(wù)器壓力,提高用戶體驗(yàn)。
3.2.2 考勤數(shù)據(jù)生成與共享
考勤是教學(xué)工作中的重要環(huán)節(jié),利用私有云可以提供考勤的效率[9]。傳統(tǒng)考勤方式一般是教師對照名冊,逐個確認(rèn)學(xué)生是否在場。結(jié)合電子圍欄技術(shù)和基于位置信息服務(wù)(LBS),可以方便完成考勤工作。該過程可以自動完成,不對教學(xué)活動造成任何影響。
分析私有云系統(tǒng)應(yīng)用于教學(xué)資源的優(yōu)點(diǎn)和不足,以便高校評估自身是否適合搭建私有云平臺。該系統(tǒng)具有成本低廉、使用方便、高可靠性等優(yōu)點(diǎn)。利用開源社區(qū)的豐富資源,該系統(tǒng)可以定制出多種強(qiáng)大功能。此外,由于系統(tǒng)整體采用Python語言編寫,因此系統(tǒng)的可維護(hù)性非常高。同樣地,由于采用的是開源代碼,這些代碼是由開源社區(qū)維護(hù)的,因此當(dāng)代碼出現(xiàn)問題時,用戶需要向開源社區(qū)求助或者自行解決。當(dāng)系統(tǒng)變得龐大而復(fù)雜的時候,這會給系統(tǒng)的維護(hù)帶來不便。另外,該系統(tǒng)的執(zhí)行效率相對較低,在硬件資源緊張的情況下,系統(tǒng)的運(yùn)行可能會變得非常緩慢。通過分析上述缺點(diǎn),我們可以從以下研究點(diǎn)加以突破,包括調(diào)度算法優(yōu)化領(lǐng)域、在線遷移優(yōu)化技術(shù)、負(fù)載均衡優(yōu)化設(shè)計(jì)、計(jì)算性能優(yōu)化設(shè)計(jì)、虛擬化性能優(yōu)化技術(shù)、能源損耗優(yōu)化領(lǐng)域等。尤其是調(diào)度算法,比如裝箱問題、啟發(fā)算法、遺傳算法等等,都能提高資源利用率。
本文提供了高校搭建Openstack云計(jì)算平臺的一般方法。Opestack技術(shù)在教學(xué)資源共享中的意義重大,但并不是每一所高校都適合使用該技術(shù)搭建教學(xué)資源共享平臺。本文分析了這種云計(jì)算平臺的特點(diǎn),高校應(yīng)當(dāng)根據(jù)自身需求決定是否搭建以及搭建怎樣規(guī)模的私有云,來盡可能提高教學(xué)水平。如果高校規(guī)模比較龐大,可以借鑒Openstack技術(shù)的思路,構(gòu)建自主構(gòu)架的云計(jì)算平臺。未來,私有云技術(shù)會在多線程處理技術(shù)、訪問控制技術(shù)、存儲快速響應(yīng)技術(shù)等關(guān)鍵性技術(shù)領(lǐng)域有重大突破,但是云計(jì)算基本組件和服務(wù)不會有太大變化。