吳闋++陳云芳
摘 要:伴隨著云計算的推廣,教育私有云逐漸成為一種滿足更多教學需求的主要手段。文章在分析教育云應(yīng)用的基礎(chǔ)上,提出一種基于開源虛擬桌面的嵌入式實驗平臺,并具體說明平臺的架構(gòu)和系統(tǒng)的實現(xiàn)過程。
關(guān)鍵詞:教育云;虛擬桌面;嵌入式開發(fā)板
1 云計算及其教育價值
云計算將計算機、服務(wù)器以及運行在此類設(shè)備上的應(yīng)用程序、服務(wù)組成一個可以依托互聯(lián)網(wǎng)來訪問的資源池。用戶可以利用各種終端請求資源池中的軟硬件資源。
云計算技術(shù)的發(fā)展帶動了分布式計算、并行計算和網(wǎng)格計算的發(fā)展?,F(xiàn)階段,涉及云計算領(lǐng)域的廠商分成兩種,第一種是只提供固有技術(shù)的云環(huán)境或云計算技術(shù)的部分技術(shù)支持的廠商,我們稱之為云服務(wù)引擎商。另一類則是諸如Google、Microsoft、Amazon、IBM、Yahoo這樣的IT企業(yè),它們是真正意義上的云服務(wù)供應(yīng)商,可以提供操作系統(tǒng)、數(shù)據(jù)庫等許多功能性服務(wù)。雖然不同廠商的產(chǎn)品在結(jié)構(gòu)上差異較大,但它們都按照IaaS(基礎(chǔ)設(shè)施即服務(wù))、PaaS(平臺即服務(wù))以及SaaS(軟件即服務(wù))3種層次標準區(qū)分。
1.1 云計算的教育價值
云計算技術(shù)和教育系統(tǒng)的有機結(jié)合,誕生了教育云這一獨特的新型IT服務(wù)。傳統(tǒng)教育資源的界限也在不斷模糊,除了傳統(tǒng)的教學樓、師資、課本,更多像是計算機、平臺、經(jīng)驗、數(shù)據(jù)等新興的或?qū)嶓w或抽象的概念也被納入了教育資源的范疇。未來,在信息化教育建設(shè)上,此類元素將獲得更高的權(quán)重。伴隨著越來越多的高校和教育機構(gòu)對教育云模式的認可,不同的平臺、數(shù)據(jù)、計算資源、存儲資源將會按照科學的方式重新組合升級,依托于云計算技術(shù)、虛擬化技術(shù)服務(wù)于學生。信息化教育的發(fā)展意味著未來會出現(xiàn)更多的教育系統(tǒng)互聯(lián)、教育資源共享以及更高效的教學活動。
虛擬化方案方面,教學場景與傳統(tǒng)的企業(yè)場景有許多不同之處。首先,教育系統(tǒng)中,虛擬化的規(guī)模不大,適用于企業(yè)的數(shù)百或數(shù)千臺機器的虛擬化方案對于教育系統(tǒng)不是必要的;其次,教學實驗中底層需要接入的外設(shè)種類繁雜,企業(yè)級虛擬化對底層外設(shè)的兼容性和擴展性較差,很難滿足特定的教學需求;最后,現(xiàn)有的解決方案對于教育系統(tǒng)而言價格過高且不開源,高?;蚪逃龣C構(gòu)的IT團隊難以通過二次開發(fā)設(shè)計符合教學場景的特性。
1.2 教育云的應(yīng)用
機房實驗室虛擬化是教育云的一項主要運用,許多高校的課程安排需要機房實驗室根據(jù)教學需求在短時間內(nèi)切換到不同的實驗系統(tǒng)甚至設(shè)備上。
1.2.1 虛擬化方案
機房實驗室虛擬化最重要的兩點就是虛擬化和云桌面的實現(xiàn),這兩者可以統(tǒng)一納入虛擬桌面基礎(chǔ)架構(gòu),目前最具代表性的廠商是VMware和Citrix。此外,Microsoft、Redhat、Oracle等廠商也有包含各自特點的產(chǎn)品或解決方案[1-4]??偟膩碚f,相對成熟的虛擬化解決方案均集中在VMware的vSphere和Citrix的XenServer套件上。各廠商采用的技術(shù)見表1。
VMware公司的vSphere平臺從硬件中提取出系統(tǒng)、應(yīng)用和數(shù)據(jù),統(tǒng)一存放在數(shù)據(jù)中心里,這些元素彼此隔離,獨立存在,企業(yè)的IT團隊可以單獨對它們進行管理和調(diào)整。系統(tǒng)方面,VMware支持目前最流行的Windows和Linux的各種發(fā)行版;存儲方面,VMware系列產(chǎn)品同時具備本地和網(wǎng)絡(luò)存儲(NAS或SAN)能力,格式上會將數(shù)據(jù)保存為VMware公司特有的虛擬機文件系統(tǒng);備份和恢復方面,“vSphere數(shù)據(jù)恢復(Data Recovery in vSphere)”部件為虛擬機提供了備份功能,用戶可以利用此功能為虛擬機保存周期性的快照,這個工具的缺點是無法嗅探到應(yīng)用[1]。
Citrix公司的XenServer平臺是由開源虛擬機項目Xen發(fā)展而來的,許多業(yè)界領(lǐng)先IT廠商參與其中,發(fā)展迅速,技術(shù)架構(gòu)也非常領(lǐng)先。XenServer充分利用了Intel VT和AMD-V這類CPU廠商開發(fā)的硬件輔助虛擬化,它擁有更快捷、更高效的虛擬化計算能力。所以,XenServer平臺上的虛擬機在性能上幾乎可以與物理機相抗衡,管理上卻比相同數(shù)量級的物理機要容易得多,效率更高[2]。
1.2.2 遠程桌面協(xié)議方案
在虛擬桌面基礎(chǔ)架構(gòu)中,核心的部分是遠程桌面協(xié)議。協(xié)議規(guī)定了用戶輸入的信息按照何種格式打包壓縮、如何加密等。這些信息封裝完畢后通過網(wǎng)絡(luò)傳給虛擬機,以約定的同種協(xié)議解析、輸入,虛擬機以相同的方式將信息傳回給用戶。當前主流的遠程桌面協(xié)議包括RDP、ICA、PCoIP、SPICE以及VNC。
其中,RDP、ICA和PCoIP協(xié)議都是企業(yè)私有的,SPICE和VNC則是開源的協(xié)議,開源的優(yōu)勢之一在于可以支持多種操作系統(tǒng)。SPICE協(xié)議對于底層KVM的依賴較高, VNC協(xié)議的工作原理是客戶端與服務(wù)端之間互相傳輸用戶的輸入和遠程桌面的變化,它底層建立在遠程幀緩沖協(xié)議(remote frame buffer protocol)之上。VNC基礎(chǔ)架構(gòu)簡單,其跨平臺兼容性能十分優(yōu)秀,可以連接不同的操作系統(tǒng)進行遠程控制訪問,這也是我們采用它作為遠程訪問協(xié)議方案的主要原因。
2 基于開源桌面的嵌入式實驗平臺
2.1 系統(tǒng)架構(gòu)
本文提出的“基于開源虛擬桌面的嵌入式實驗平臺”是一種不同于傳統(tǒng)教學系統(tǒng)的虛擬機房實驗室。該系統(tǒng)依托學校內(nèi)的局域網(wǎng)隔離真實機房,將服務(wù)器、嵌入式開發(fā)板等實驗室設(shè)備以學生用戶為單位分配,學生在原機房內(nèi)以遠程桌面的形式訪問實驗環(huán)境。虛擬實驗平臺架構(gòu)如圖1所示。
服務(wù)器虛擬化套件Xen在服務(wù)器端建立資源池,創(chuàng)建計算資源池和存儲池,在池中創(chuàng)建若干個Ubuntu和 Windows系統(tǒng)的虛擬機,為學生用戶提供實驗環(huán)境,還包括架設(shè)遠程桌面服務(wù)器以及為運維團隊提供管理窗口。
實驗環(huán)境的虛擬機安裝嵌入式開發(fā)板的教學軟件,本地部署VNC服務(wù)端,與校園網(wǎng)隔離,建立與遠程桌面服務(wù)器的單一網(wǎng)絡(luò)連接,通過telnet訪問局域網(wǎng)內(nèi)的開發(fā)板進行開發(fā),同時瀏覽器提供網(wǎng)絡(luò)攝像頭監(jiān)控開發(fā)板的窗口。endprint
遠程桌面服務(wù)器的虛擬機安裝Guacamole,Guacamole是一個由不同Java程序構(gòu)成的Web應(yīng)用,它被設(shè)計成一個API,允許二次開發(fā)[5]。可通過部署在Tomcat的war包修改Web頁面的樣式和參數(shù)。具體實現(xiàn)過程如圖2所示。
遠程桌面服務(wù)器通過Web容器為用戶提供遠程訪問。當連接建立時,Web頁面的http協(xié)議自動接管與服務(wù)端之間的通信。命令行支持telnet和ssh兩種協(xié)議。圖形桌面支持RDP和VNC兩種協(xié)議,分別用于與Windows平臺和Linux平臺建立遠程控制連接。遠程桌面協(xié)議由一個稱為Guacd的中間層服務(wù)轉(zhuǎn)換為Guacamole Protocol,使客戶端和Web應(yīng)用程序根據(jù)協(xié)議傳輸,服務(wù)端的Web應(yīng)用程序解析協(xié)議,代替用戶完成客戶端的工作,連接到遠程機器。遠程桌面服務(wù)器虛擬機同時連接校園網(wǎng)和機房局域網(wǎng),將局域網(wǎng)中的云桌面分發(fā)給校園網(wǎng)環(huán)境內(nèi)的學生用戶。
2.2 系統(tǒng)的優(yōu)點
2.2.1 操作機與云桌面系統(tǒng)隔離
學生用戶只需要登錄云桌面系統(tǒng)賬號,就可以遠程訪問教學所需的實驗環(huán)境和軟件。這些部署已經(jīng)在服務(wù)器的虛擬機上完成,學生用戶可以在不同的機房實驗室通過PC或手機登錄和操作自己的實驗環(huán)境,這樣,提高了教學的靈活性、實驗環(huán)境的安全性以及管理效率,實驗環(huán)境的復制與備份工作也變得更為簡單高效。
2.2.2 科學部署
系統(tǒng)中需要解決的一個問題就是把開發(fā)板以云桌面和視頻監(jiān)控的形式提供給學生用戶。由于維護、管理等因素,以開發(fā)板為例的各種特定的實驗設(shè)備以云桌面和服務(wù)的形式交付給學生則更加高效、安全。采用這種架構(gòu),在擴展性上也有獨特的優(yōu)勢,由于學生用戶接觸到的只是遠程桌面,在更改系統(tǒng)架構(gòu)的時候,只需要在后臺就可以完成。
2.2.3 實驗環(huán)境與傳統(tǒng)機房兼容
傳統(tǒng)的機房實驗室絕大多數(shù)都部署了Windows操作系統(tǒng),而Linux平臺的實驗通常只能在虛擬機上完成,采用該系統(tǒng)可以通過云桌面將實驗環(huán)境與Windows平臺隔離,解決了應(yīng)用的依賴以及驅(qū)動等問題,減少不同實驗環(huán)境發(fā)生沖突的幾率。
3 系統(tǒng)實現(xiàn)
部署本系統(tǒng)時主要涉及的技術(shù)是服務(wù)器虛擬化和開源的遠程虛擬桌面的實現(xiàn)。
3.1 實驗平臺
服務(wù)器通過光纖交換機連接到網(wǎng)絡(luò)存儲、嵌入式開發(fā)板和網(wǎng)絡(luò)攝像頭。虛擬機部署如圖3所示。
開源的虛擬桌面由Guacamole服務(wù)器實現(xiàn),依賴于Web應(yīng)用提供給學生。Ubuntu虛擬機設(shè)置桌面共享后允許VNC客戶端的遠程訪問請求。Web網(wǎng)頁相當于VNC的客戶端,由具備WebSocket、Canvas、JavaScript特性的HTML5瀏覽器將云桌面輸出給學生用戶。虛擬桌面提供一切學生需要的應(yīng)用程序和依賴,同時,網(wǎng)絡(luò)攝像頭查看的嵌入式開發(fā)板也通過虛擬桌面的Web網(wǎng)頁提供給學生。虛擬桌面如圖4所示。
3.2 性能分析
與其他場景下的虛擬化方案相比,該方案開銷低,外設(shè)兼容性滿足各種利用串口和網(wǎng)口通信的嵌入式開發(fā)板,更適合教學場景規(guī)模。利用Xen與網(wǎng)絡(luò)存儲的設(shè)計,物理上使用多服務(wù)器以實現(xiàn)多層次的高可用性、災(zāi)難恢復和動態(tài)遷移的特性。虛擬桌面的設(shè)計只傳輸鍵鼠事件,減少網(wǎng)絡(luò)帶寬開銷,同時實現(xiàn)系統(tǒng)的隔離,真實的實驗機、嵌入式開發(fā)板、網(wǎng)絡(luò)拓撲都隱藏起來,只對學生呈現(xiàn)一個虛擬桌面。
使用該方案,學生按照權(quán)限遠程獲得仿真桌面,產(chǎn)生不同的計算資源需求可以按需分配在多臺物理機上,實現(xiàn)負載均衡。真實的操作在虛擬機上完成,高可用性和動態(tài)遷移保證了即使一臺機器宕機,也可以在另一臺機器上繼續(xù)運行操作,這樣就保證了數(shù)據(jù)安全和教學流暢性。統(tǒng)一后臺部署的實驗環(huán)境為學生省去了許多工作量,同時避免開發(fā)過程中出現(xiàn)其他錯誤。VNC服務(wù)器允許根據(jù)帶寬設(shè)置桌面?zhèn)鬏攷?、分辨率、色彩位?shù)等參數(shù)來保證使用流暢性。與傳統(tǒng)教學環(huán)境或是其他場景的虛擬化方案相比,本平臺設(shè)計顯示出更強的實用性。
3.3 未來展望
未來,可以使用更加輕量級的Docker技術(shù)完成虛擬化需求,部署本文系統(tǒng)中的實驗環(huán)境。Docker技術(shù)是Linux平臺的一個開源引擎,用于實現(xiàn)操作系統(tǒng)級別的虛擬化,它可以為應(yīng)用程序創(chuàng)建一個可移植的容器封裝,這些根據(jù)鏡像所創(chuàng)建的容器可以高效便捷地發(fā)布[6]。通過這種方式打包發(fā)布Web應(yīng)用的優(yōu)勢在于啟動快、資源占用小、隔離性好、安全性高。具體實施可以將VNC加入到Docker的鏡像中去實現(xiàn)通信功能模塊,完成鏡像創(chuàng)建后只要修改容器中的VNC Server就可以把封裝的應(yīng)用發(fā)布出去,實現(xiàn)用戶可以在任何平臺通過VNC客戶端或Web網(wǎng)頁訪問。
4 結(jié) 語
基于開源虛擬桌面的實驗平臺主要運用云計算技術(shù)和虛擬化的技術(shù),改進了傳統(tǒng)機房實驗室的組織架構(gòu),利用計算資源的時間和空間需求差異滿足實際教學需求,降低了高校對基礎(chǔ)設(shè)施的持有成本和管理成本,具備良好的實用價值。該系統(tǒng)的設(shè)計提出了以云桌面遠程交付實驗環(huán)境和設(shè)備的思路,符合國家教育信息化的規(guī)劃,將促進教育信息化的發(fā)展,具有良好的發(fā)展前景。
參考文獻:
[1] Citrix官方網(wǎng)站[EB/OL]. [2017-04-24]. http://www.citrix.com.
[2] VMware官方網(wǎng)站[EB/OL]. [2017-04-24]. http://www.vmware.com.
[3] 紅帽子虛擬化官方網(wǎng)站[EB/OL]. [2017-04-24]. http://www.redhat.com/products/virtualization.
[4] 微軟虛擬化官方網(wǎng)站[EB/OL]. [2017-04-24]. http://www.microsoft.com/china/CIO/virtualization/overall.mspx.
[5] Guacamole官方網(wǎng)站[EB/OL]. [2017-04-24]. http://guacamole.incubator.apache.org.
[6] 馬越, 黃剛. 基于Docker的應(yīng)用軟件虛擬化研究[J]. 軟件, 2015, 36(3): 10-14.
(編輯:彭遠紅)endprint