吳闋++陳云芳



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