莫永華
(桂林電子科技大學(xué)信息科技學(xué)院,桂林 541004)
基于KVM虛擬化的慕課平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
莫永華
(桂林電子科技大學(xué)信息科技學(xué)院,桂林541004)
隨著國內(nèi)外慕課教學(xué)的方興未艾,在線參與人數(shù)迅猛增長,給傳統(tǒng)服務(wù)器的訪問帶來了巨大壓力。通過KVM虛擬化技術(shù)解決慕課教學(xué)平臺(tái)問題,設(shè)計(jì)原生虛擬化的VDI架構(gòu),部署虛擬桌面服務(wù)器端、云終端和連接管理中間件,實(shí)現(xiàn)慕課平臺(tái)“集中計(jì)算、分布顯示”的解決方案,并給出在Intel高密度服務(wù)器上實(shí)施慕課平臺(tái)的VDI系統(tǒng)。
慕課平臺(tái);服務(wù)器虛擬化;KVM
隨著“互聯(lián)網(wǎng)+”成為中國經(jīng)濟(jì)提質(zhì)增效升級(jí)的新引擎,全民掀起了“大眾創(chuàng)業(yè)、萬眾創(chuàng)新”的實(shí)踐熱潮,高校教學(xué)也迎來了新的發(fā)展時(shí)代。大規(guī)模在線公開課程 (Massive Open Online Course,MOOCs下簡稱慕課)一個(gè)創(chuàng)新教學(xué)模式,出現(xiàn)在國際知名大學(xué)并創(chuàng)建了edX、CourSera、UdaCity三大慕課教學(xué)平臺(tái)而名聲大噪,慕課的優(yōu)點(diǎn)在于通過互聯(lián)網(wǎng)對(duì)優(yōu)秀教育資源在線開放,可以大規(guī)模接納學(xué)習(xí)者,打破了傳統(tǒng)教學(xué)在地域和時(shí)間上的局限,使得更多人享受平等的教育權(quán)利,推動(dòng)全民學(xué)習(xí)化社會(huì)的形成。慕課的發(fā)展推動(dòng)了中國新一輪高等教育觀念革新,深刻影響了傳統(tǒng)教學(xué)模式、教學(xué)方法,國家教育部也將在“十三五”期間大力支持各高校推廣、建設(shè)、使用具有中國特色的MOOCs課程。
發(fā)展慕課,慕課平臺(tái)必不可少。慕課的推廣需要優(yōu)秀的慕課平臺(tái),我國的慕課平臺(tái)在技術(shù)上的應(yīng)用仍處于早期發(fā)展階段。慕課平臺(tái)需要基本的4大功能:學(xué)生用戶注冊管理、慕課在線視頻管理、教學(xué)師生互動(dòng)與評(píng)價(jià)管理和慕課平臺(tái)的大數(shù)據(jù)分析,從而滿足慕課學(xué)前資料準(zhǔn)備、課程中在線學(xué)習(xí)和課堂討論、課后評(píng)價(jià)與教學(xué)思路調(diào)整等教學(xué)環(huán)節(jié)。
慕課平臺(tái)用什么樣的技術(shù)才能保障大規(guī)模在線開放訪問呢?傳統(tǒng)服務(wù)器緊耦合模式下的C/S架構(gòu)、B/ S架構(gòu)已經(jīng)不能滿足需求了,原因在于不適應(yīng)慕課教學(xué)的三大特點(diǎn):第一、大規(guī)模在線開放課程,在線學(xué)習(xí)人數(shù)多;第二、在線操作學(xué)習(xí)全天候開放;第三、學(xué)習(xí)和分析數(shù)據(jù)量大。下面是一個(gè)慕課學(xué)習(xí)的案例,在斯坦福大學(xué)推出的“人工智能導(dǎo)論”慕課曾經(jīng)一度注冊用戶超過16萬人,面對(duì)16萬用戶假如同時(shí)在線學(xué)習(xí)、在線互動(dòng)討論、在線評(píng)價(jià),傳統(tǒng)服務(wù)器是難以提供支持的。慕課平臺(tái)碰到幾個(gè)主要瓶頸:
(1)性能不能滿足。服務(wù)器在緊耦合模式下如果遭遇大規(guī)模用戶訪問,將引起服務(wù)器資源枯竭。
(2)資源調(diào)度不靈活。硬件、操作系統(tǒng)、應(yīng)用和使用者之間的資源分配與調(diào)度不靈活。
(3)資源浪費(fèi)。新舊服務(wù)器、不同品牌服務(wù)器之間難以實(shí)現(xiàn)統(tǒng)一資源管理,無法高效利用和降低成本。
(4)數(shù)據(jù)保存與安全問題。大規(guī)模用戶能產(chǎn)生大量數(shù)據(jù),在傳統(tǒng)服務(wù)器中存放、備份和還原都是難題。
解決以上問題,需要?jiǎng)?chuàng)新應(yīng)用虛擬化技術(shù),本文針對(duì)Linux系統(tǒng)采用KVM、QEMU、Libvirt和SPICE等技術(shù),創(chuàng)新設(shè)計(jì)原生虛擬化的VDI架構(gòu),部署虛擬桌面服務(wù)器端、云終端和連接管理中間件,實(shí)現(xiàn)慕課平臺(tái)“集中計(jì)算,分布顯示”的私有云慕課平臺(tái)解決方案。
慕課平臺(tái)采用桌面虛擬化架構(gòu) (Virtual Desktop Infrastructure,VDI),主要技術(shù)是服務(wù)器虛擬化。虛擬化技術(shù)(Virtualization Technology)是快速發(fā)展的資源管理技術(shù),它可以將計(jì)算機(jī)的各種實(shí)體資源(CPU、網(wǎng)絡(luò)、內(nèi)存及存儲(chǔ)等)首先抽象,然后轉(zhuǎn)換后呈現(xiàn)出來,最后靈活分配到應(yīng)用系統(tǒng)。在原有計(jì)算機(jī)系統(tǒng)架構(gòu)上打破實(shí)體結(jié)構(gòu)間的緊耦合狀態(tài),使用戶以快速、靈活的方式來應(yīng)用這些資源。服務(wù)器虛擬化技術(shù)體現(xiàn)出對(duì)資源的整合、成本的降低、利用率的提高等優(yōu)勢。如圖1服務(wù)器虛擬化的實(shí)現(xiàn)。
圖1 服務(wù)器虛擬化的實(shí)現(xiàn)
本文中慕課的虛擬平臺(tái)采用Linux系統(tǒng),KVM虛擬機(jī)(Kernel-based Virtual Machine,KVM)是Linux核心的虛擬化技術(shù),以內(nèi)核模塊的形式而存在,需要硬件支持(如Intel VT技術(shù)或者AMD V技術(shù))。這一體系虛擬機(jī)經(jīng)歷了從寄宿虛擬化到原生虛擬化的實(shí)現(xiàn)發(fā)展。隨著越來越多的虛擬化功能被加入到 Linux內(nèi)核中來,Linux已經(jīng)成為虛擬機(jī)管理系統(tǒng)Hypervisor,因此KVM是原生虛擬化模型。
2.1Linux核心的虛擬化技術(shù)原理
傳統(tǒng)慕課平臺(tái)的軟件與硬件是緊耦合的,KVM技術(shù)可以將計(jì)算機(jī)的各種實(shí)體資源(CPU、網(wǎng)絡(luò)、內(nèi)存及存儲(chǔ)等)予以抽象,如CPU基于 Intel VT技術(shù)的硬件虛擬化,然后結(jié)合QEMU(虛擬操作系統(tǒng)模擬器)來提供設(shè)備虛擬化并轉(zhuǎn)換后呈現(xiàn)各種虛擬機(jī),最后靈活分配到應(yīng)用系統(tǒng)。如圖2 KVM虛擬化的原理。KVM虛擬化技術(shù)體現(xiàn)出較強(qiáng)的靈活性,能較好地將不同的操作系統(tǒng)(基于x86架構(gòu)的Linux、Unix、Windows操作系統(tǒng))和不同廠商的硬件設(shè)備加以整合利用。在Linux系統(tǒng)中KVM使用底層硬件的虛擬化支持來提供完整的原生虛擬化,底層硬件只要支持虛擬化,它就能夠?yàn)榇罅康哪秸n用戶按資源需求合理地分配虛擬機(jī)。
圖2 KVM虛擬化的原理
慕課平臺(tái)服務(wù)器經(jīng)過虛擬化后在不更改客戶機(jī)操作系統(tǒng)(Guest Operating System,Guest OS)和應(yīng)用程序的前提下,借助虛擬技術(shù)合理分配到的硬件資源運(yùn)應(yīng)到業(yè)務(wù)系統(tǒng),宿主機(jī)(Host Machine)的硬件和客戶機(jī)操作系統(tǒng)上的軟件相互獨(dú)立,每臺(tái)機(jī)器運(yùn)行多個(gè)虛擬機(jī),部署運(yùn)行多個(gè)應(yīng)用。
2.2慕課平臺(tái)DVI系統(tǒng)組成
分析了慕課平臺(tái)的服務(wù)器虛擬化技術(shù)之后,接下來就是慕課平臺(tái)中服務(wù)器端和大規(guī)模的用戶端之間的運(yùn)行模式和系統(tǒng)架構(gòu)的設(shè)計(jì)。與傳統(tǒng)兩大應(yīng)用系統(tǒng)客戶機(jī)/服務(wù)器(C/S)、瀏覽器/服務(wù)器(B/S)的架構(gòu)有所不同,該平臺(tái)采用桌面虛擬化架構(gòu) (Virtual Desktop Infrastructure,VDI),首先通過服務(wù)器虛擬化技術(shù),然后在服務(wù)器數(shù)據(jù)中心內(nèi)進(jìn)行集中處理,而桌面用戶不參與任何計(jì)算和應(yīng)用,解放客戶端的運(yùn)算,最后在桌面用戶輸出與界面顯示。這種客戶端可以采用專用小型終端機(jī)或瘦客戶端的方式,僅負(fù)責(zé)輸入輸出。桌面虛擬化架構(gòu)實(shí)現(xiàn)“集中計(jì)算,分布顯示”功能。這也是當(dāng)下熱門“私有云”的技術(shù),其核心也在實(shí)現(xiàn)桌面計(jì)算虛擬化。
慕課平臺(tái)的桌面虛擬化架構(gòu)主要由三部分組成,分別是虛擬桌面服務(wù)器端(主機(jī)端)、終端用戶桌面端(云終端)以及主機(jī)端和云終端的連接管理中間件(Broker中間件),桌面虛擬化架構(gòu)組成。如圖3 VDI架構(gòu)組成模塊的邏輯關(guān)系。
圖3 VDI架構(gòu)組成模塊的邏輯關(guān)系
在VDI架構(gòu)中各模塊功能和軟硬件實(shí)現(xiàn),如下表1 VDI三大模塊功能表。
表1 VDI三大模塊功能表
在整個(gè)VDI架構(gòu)中兩個(gè)重要技術(shù),一個(gè)是虛擬桌面服務(wù)器創(chuàng)建成百上千個(gè)虛擬桌面客戶端。另一個(gè)是Broker中間件連接云終端與 Host端、管理主機(jī)端資源(虛擬機(jī)與硬件資源)。它像橋一樣把Host端虛擬機(jī)和云終端連接在一起。慕課平臺(tái)應(yīng)用首先用戶通過云終端從Broker中間件中獲取到用戶的虛擬桌面,然后調(diào)用客戶端桌面顯示協(xié)議(SPICE)連接到Host端所提供的SPICE服務(wù)端進(jìn)行通訊。對(duì)于Broker中間件管理功能是通過提供 Host Agent接口給主機(jī)端上的 Host A-gent模塊來管理主機(jī)端上的虛擬機(jī)以及 Host端上相應(yīng)的資源。
3.1硬件與軟件部署
(1)慕課虛擬化系統(tǒng)服務(wù)器硬件
平臺(tái)服務(wù)器池采用Intel原裝高密度服務(wù)器,計(jì)算節(jié)點(diǎn)4個(gè)。具體參數(shù)如下:
(2)服務(wù)器虛擬化部署
●管理服務(wù)器:應(yīng)用Intel服務(wù)器第一個(gè)節(jié)點(diǎn),在服務(wù)器上安裝 CentOS 6.5操作系統(tǒng),部署B(yǎng)roker連接管理軟件。將“broker.tar.gz”文件拷貝到安裝服務(wù)器的“/opt”目錄下,解壓后運(yùn)行命令“tar xvzf broker.tar.gz”,另外部署B(yǎng)roker連接管理軟件、SQL數(shù)據(jù)庫服務(wù),實(shí)現(xiàn)對(duì)主機(jī)資源和數(shù)據(jù)的管理。
●虛擬桌面服務(wù)器:應(yīng)用Intel服務(wù)器剩下三節(jié)點(diǎn),安裝CentOS 6.5操作系統(tǒng),用于創(chuàng)建虛擬機(jī)并提供虛擬桌面虛擬機(jī),每臺(tái)虛擬機(jī)可以配置2G內(nèi)存。每個(gè)虛擬桌面被分配獨(dú)享資源(虛擬CPU、虛擬內(nèi)存、虛擬硬盤)。虛擬桌面之間相互獨(dú)立,并可以根據(jù)用戶業(yè)務(wù)要求靈活進(jìn)行配置。對(duì)于特殊的用戶需要可以部署、分配不同的操作系統(tǒng)(Windows XP、Windows 7、Linux等)。
(3)部署虛擬化軟件
●服務(wù)器虛擬化軟件:部署QEMU-KVM和Libvirt,創(chuàng)建虛擬機(jī),實(shí)現(xiàn)資源虛擬化。
●桌面虛擬化軟件:實(shí)現(xiàn)云終端機(jī)與虛擬機(jī)間的連接,實(shí)現(xiàn)錄入信息與計(jì)算結(jié)果的安全傳遞與呈現(xiàn)。
●連接管理軟件:用于管理云終端機(jī)、虛擬機(jī)、用戶等之間的關(guān)系。
3.2應(yīng)用測試
對(duì)慕課在線課程下的學(xué)生桌面進(jìn)行獨(dú)享連接或共享協(xié)助測試。
為滿足MOOCs平臺(tái)大規(guī)模在線訪問需求,本文在Intel高性能服務(wù)器上利用Linux系統(tǒng)KVM虛擬化技術(shù),實(shí)現(xiàn)慕課平臺(tái)的VDI架構(gòu)建設(shè)、以“集中計(jì)算,分布顯示”的設(shè)計(jì)滿足慕課訪問需求,另外虛擬化和慕課平臺(tái)有效地結(jié)合,極大地整合了慕課平臺(tái)服務(wù)器的資源、降低了系統(tǒng)建設(shè)成本、提高了服務(wù)器利用率。
表2 慕課平臺(tái)下桌面虛擬化的應(yīng)用測試
[1]袁松鶴,馬若龍.MOOCs:開放、爭論與啟示[J].中國電化教育,2014-1,324
[2]鄧宏鐘,李孟軍.“慕課”發(fā)展中的問題探討[J].科技創(chuàng)新導(dǎo)報(bào),2013,7
[3]李桂林,崔廣章,李永寶.OpenStack云環(huán)境中KVM虛擬機(jī)性能測試與優(yōu)化[J].物聯(lián)網(wǎng)技術(shù),2016
Design and Implement of the MOOCs Platform Based on Kernel-Based Virtual Machine
MO Yong-hua
(Institute of Information&Technology,Guilin University of Electronic Technology,Guilin 541004)
With the vigorous development of the global MOOCs teaching,the number of online participation has increased rapidly,and the traditional server's access pressure is huge.The KVM virtualization technology solves MOOCs teaching platform problem,designs a native virtualization VDI architecture,the deployment of virtual desktop server,terminal user desktop and connection management middleware,realizes MOOCs platform"Centralized Computing,Distributed Display"solution,realizes the MOOCs class platform VDI system based on Intel high density server.
MOOCs Platform;Server Virtualization;Kernel-Based Virtual Machine
1007-1423(2016)27-0064-04DOI:10.3969/j.issn.1007-1423.2016.27.016
莫永華(1978-),男,廣西桂林人,研究生,講師,研究方向?yàn)?/p>
2016-07-19
2016-09-20
計(jì)算機(jī)網(wǎng)絡(luò)、網(wǎng)絡(luò)安全技術(shù)