劉穎 劉淼晶
摘 要:本文完成了虛擬實驗室系統(tǒng)架構(gòu)分析,對每個層次具體實現(xiàn)進(jìn)行了研究。本文首先分析、選擇合適的數(shù)據(jù)中心解決方案,數(shù)據(jù)中心提供虛擬機,實現(xiàn)基礎(chǔ)設(shè)施即服務(wù)IaaS;其次深入研究了虛擬實驗室控制系統(tǒng)的模塊設(shè)計、工作流程及實現(xiàn)方式;最后對用戶平臺進(jìn)行了編碼實現(xiàn)。對基于云計算的虛擬實驗室建設(shè)提供了可行思路和具體的實現(xiàn)方案。
關(guān)鍵詞:云計算;虛擬實驗室;虛擬機
中圖分類號:TP393 文獻(xiàn)標(biāo)志碼:A 文章編號:1673-8454(2016)03-0053-04
一、引言
近年來,在互聯(lián)網(wǎng)及云計算技術(shù)迅速發(fā)展的環(huán)境下,高等學(xué)校信息化建設(shè)出現(xiàn)了新局面。高校在計算機實驗室建設(shè)方面加快了建設(shè)和更新速度。但師生在教學(xué)中還是遇到了很多問題。本文就高校如何在云計算環(huán)境下建設(shè)虛擬實驗室進(jìn)行了研究。分析現(xiàn)有的云計算服務(wù),提出虛擬實驗室的系統(tǒng)框架和具體實現(xiàn)方法。
二、現(xiàn)有研究分析
目前,高校的計算機實驗室方便了教學(xué)活動,提高了教學(xué)質(zhì)量。但通過分析我校計算機專業(yè)師生在實驗室的課堂教學(xué)活動,發(fā)現(xiàn)了一些問題。
(1)學(xué)生學(xué)習(xí)延續(xù)性受阻。學(xué)生在實驗室進(jìn)行了課堂學(xué)習(xí),執(zhí)行了部分實踐操作,如果課后希望繼續(xù)學(xué)習(xí),需要復(fù)制實驗環(huán)境。當(dāng)實驗環(huán)境比較復(fù)雜時,學(xué)生就無法實施課后學(xué)習(xí)。
(2)教學(xué)資源利用率低。課堂結(jié)束后,實驗室的機器空閑。硬件、軟件資源利用率不高。實驗室設(shè)備更新速率比較快,被淘汰的設(shè)備閑置造成了浪費。
(3)實驗室管理員任務(wù)繁重。管理員需要管理每臺計算機,包括軟件更新、系統(tǒng)更新、安裝硬件等。
建立虛擬實驗室是實驗室信息化建設(shè)的一個發(fā)展方向。在現(xiàn)有研究中,基于云計算的虛擬實驗室是其中的研究熱點。
基于云計算的虛擬計算機實驗室[1]-[4]提出基于IaaS服務(wù)的虛擬實驗室。分析了構(gòu)建思想和系統(tǒng)框架。但對每個層次的具體實現(xiàn)方法和實現(xiàn)細(xì)則沒有研究。
基于微軟Hyper-V虛擬化技術(shù)建設(shè)虛擬實驗室[5]-[6]提供了一種具體的搭建方案。使用微軟提供的WMI接口進(jìn)行編程,實現(xiàn)用戶對虛擬機的操作。虛擬計算機實驗室[7]基于VMware和Citrix的IaaS服務(wù)主要設(shè)計了資源預(yù)約流程。實驗資源管理系統(tǒng)[8]為每個實驗室劃分了虛擬機群。
基于云計算的虛擬實驗教學(xué)系統(tǒng)[9]利用云計算平臺,將本地或異地的不同實驗用戶與虛擬實驗室聯(lián)結(jié)起來,共享一個虛擬的實驗空間。基于云計算的虛擬科研環(huán)境[10]利用國家網(wǎng)格中可共享的虛擬機資源,通過網(wǎng)格技術(shù)來訪問和使用資源,實現(xiàn)國家網(wǎng)格資源共享,為不同學(xué)科的科研提供在線云服務(wù)。其本質(zhì)是PaaS,PaaS需要為不同的應(yīng)用開發(fā)不同的平臺,應(yīng)用場景有局限性。比如計算機系和化學(xué)系的實驗不盡相同,所需的虛擬實驗室功能就不一樣。
本文將研究提供IaaS服務(wù)的虛擬實驗室,對每個層次、模塊的功能和實現(xiàn)方法進(jìn)行深入分析。提出詳細(xì)的實現(xiàn)方案,為具體部署提供參考。
三、虛擬實驗室系統(tǒng)架構(gòu)
基于云計算的虛擬實驗室把虛擬機開放給用戶,用戶能通過創(chuàng)建虛擬機、刪除虛擬機、修改虛擬機等操作來搭建自己的實驗網(wǎng)絡(luò)。虛擬實驗室系統(tǒng)架構(gòu)如圖 1所示。
數(shù)據(jù)中心實現(xiàn)云計算功能。基于數(shù)據(jù)中心,把基礎(chǔ)的計算和存儲資源開放給用戶,提供虛擬機,實現(xiàn)基礎(chǔ)設(shè)施即服務(wù)IaaS。
虛擬實驗室控制系統(tǒng)向上接收用戶命令,向下控制虛擬機的創(chuàng)建、刪除和修改。管理與維護(hù)用戶、課程、虛擬機的關(guān)系。
虛擬實驗室用戶平臺包括前端界面和后端系統(tǒng)兩部分。前端界面根據(jù)課程特點,包含創(chuàng)建虛擬機、刪除虛擬機、修改虛擬機等欄目。后端系統(tǒng)支持用戶根據(jù)需要自主搭建實驗網(wǎng)絡(luò)。
下面將對數(shù)據(jù)中心、虛擬實驗室控制系統(tǒng)和虛擬實驗室用戶平臺的實現(xiàn)進(jìn)行分析。
四、數(shù)據(jù)中心實現(xiàn)研究
數(shù)據(jù)中心提供IaaS服務(wù),采用虛擬化管理解決方案,實現(xiàn)對數(shù)據(jù)中心的集中管理和控制。通過對VMware和H3C的解決方案研究發(fā)現(xiàn),IaaS服務(wù)一般通過管理界面,統(tǒng)一管理數(shù)據(jù)中心內(nèi)所有的主機和虛擬機。此方法能提高管理員的管控效率、簡化日常例行工作,更可降低IT 環(huán)境的復(fù)雜度和管理成本。下面就VMware和H3C的解決方案進(jìn)行詳細(xì)分析。
1.VMware IaaS解決方案研究
VMware vSphere是VMware公司推出的虛擬化平臺。vSphere將應(yīng)用程序和操作系統(tǒng)從底層硬件分離出來,從而簡化了IT操作,其系統(tǒng)架構(gòu)如圖 2所示。
ESXi 提供虛擬化功能,用于將主機硬件作為一組標(biāo)準(zhǔn)化資源進(jìn)行聚合并將其提供給虛擬機。虛擬機就表現(xiàn)得如同物理機,擁有自己的一套虛擬硬件。包括其上載入的操作系統(tǒng)和應(yīng)用。使用虛擬化,不管下面主機服務(wù)器運行什么操作系統(tǒng),每臺虛擬機都擁有一致的虛擬硬件。
vCenter Server可用于將多個主機的資源加入池中并管理這些資源,而且可以有效監(jiān)控和管理物理及虛擬基礎(chǔ)架構(gòu)。管理員可以管理虛擬機的資源、置備虛擬機、調(diào)度任務(wù)、收集統(tǒng)計信息日志、創(chuàng)建模板等。
vSphere Client是vCenter Server、ESXi主機和虛擬機的界面。通過vSphere Client,可以遠(yuǎn)程連接到vCenter Server。也可以從任何Windows 系統(tǒng)直接連接到ESXi。vSphere Client 是用于管理 vSphere各個方面的主界面。
2.H3C IaaS解決方案研究
H3C CAS云計算管理平臺是H3C公司推出的構(gòu)建云計算基礎(chǔ)架構(gòu)的管理軟件,H3C CAS云計算系統(tǒng)架構(gòu)如圖 3所示。
(1)CVK是虛擬化內(nèi)核平臺。運行在基礎(chǔ)設(shè)施層和上層操作系統(tǒng)之間的“元”操作系統(tǒng),用于協(xié)調(diào)上層操作系統(tǒng)對底層硬件資源的訪問,減輕軟件對硬件設(shè)備以及驅(qū)動的依賴性,同時對虛擬化運行環(huán)境中的硬件兼容性、高可靠性、高可用性、可擴(kuò)展性、性能優(yōu)化等問題進(jìn)行加固處理。
(2)CVM是虛擬化管理系統(tǒng)。主要實現(xiàn)對數(shù)據(jù)中心內(nèi)的計算、網(wǎng)絡(luò)和存儲等硬件資源的軟件虛擬化,形成虛擬資源池,對上層應(yīng)用提供自動化服務(wù)。其業(yè)務(wù)范圍包括:虛擬計算、虛擬網(wǎng)絡(luò)、虛擬存儲、高可靠性(HA)、動態(tài)資源調(diào)度(DRS)、虛擬機容災(zāi)與備份、虛擬機模板管理、集群文件系統(tǒng)、虛擬交換機策略等。
(3)CIC是云業(yè)務(wù)管理中心。由一系列云基礎(chǔ)業(yè)務(wù)模塊組成,通過將基礎(chǔ)架構(gòu)資源(包括計算、存儲和網(wǎng)絡(luò))及其相關(guān)策略整合成虛擬數(shù)據(jù)中心資源池,并允許用戶按需消費這些資源,從而構(gòu)建安全的多租戶混合云。其業(yè)務(wù)范圍包括:組織(虛擬數(shù)據(jù)中心)、多租戶數(shù)據(jù)和業(yè)務(wù)安全、云業(yè)務(wù)工作流、自助式服務(wù)門戶、兼容OpenStack的REST API接口等。
由于H3C CAS提供REST API北向接口,方便用戶進(jìn)行二次開發(fā),所以本文基于H3C CAS實現(xiàn)虛擬實驗室建設(shè)。
五、虛擬實驗室控制系統(tǒng)實現(xiàn)研究
虛擬實驗室控制系統(tǒng)是建立和維護(hù)虛擬實驗室的核心。包括用戶管理和虛擬機管理。本系統(tǒng)接收用戶平臺發(fā)來的請求,調(diào)用REST API接口,向數(shù)據(jù)中心CAS系統(tǒng)發(fā)送虛擬機的創(chuàng)建、刪除等操作命令。具體地,系統(tǒng)模塊說明如圖 4所示。
其中數(shù)據(jù)庫設(shè)計是關(guān)鍵點。為了存放用戶管理和虛擬機管理相關(guān)信息,首先創(chuàng)建一張用戶表,記錄用戶、課程、及其對應(yīng)的虛擬機信息。每條表項格式為用戶id、課程id、用戶為該課程創(chuàng)建的虛擬機群id。然后創(chuàng)建一張?zhí)摂M機群表,記錄為每個虛擬機群分配的虛擬機。每條表項包含虛擬機群id和虛擬機id。兩張表通過虛擬機群id進(jìn)行關(guān)聯(lián)。
具體編碼實現(xiàn)時:把接收用戶請求和接收CAS響應(yīng)兩個模塊合二為一成為消息接收模塊;把調(diào)用REST API和響應(yīng)用戶請求兩個模塊合二為一成為消息發(fā)送模塊;把解析用戶請求和解析CAS響應(yīng)兩個模塊合二為一成為消息處理模塊。在三個模塊內(nèi)具體區(qū)分消息的來源和目的,對不同消息進(jìn)行處理。合并后的模塊設(shè)計如圖 5所示。
編碼使用Java程序語言,三個模塊各自用一個線程來實現(xiàn)。線程間通過消息隊列進(jìn)行通信。下面以用戶為“網(wǎng)絡(luò)管理與維護(hù)”課程搭建虛擬實驗環(huán)境為例講解虛擬實驗室控制系統(tǒng)工作流程。
“網(wǎng)絡(luò)管理與維護(hù)”課程需要學(xué)生使用虛擬機完成網(wǎng)絡(luò)攻防、用戶行為管理等實驗。實驗至少需要兩臺虛擬機,用來模擬局域網(wǎng)環(huán)境。學(xué)生在完成過程中,根據(jù)課程設(shè)計,可以新增或刪除虛擬機。當(dāng)課程結(jié)束后,釋放虛擬機群。本系統(tǒng)具體工作流程如圖 6所示。
如果用戶需要新增一臺實驗用的虛擬機,消息接收模塊收到用戶界面下發(fā)的用戶請求后,將該請求放入消息接收隊列,然后通知消息處理模塊。
消息處理模塊根據(jù)不同消息類型進(jìn)行處理。這是增加虛擬機用戶命令,首先查詢數(shù)據(jù)庫,獲取用戶已經(jīng)擁有的虛擬機數(shù)量、課程信息,判斷用戶能否創(chuàng)建新虛擬機。如果可以,則把該消息添加到消息等待隊列。然后構(gòu)造一個新的REST消息,放入消息發(fā)送隊列,通知消息發(fā)送模塊。
消息發(fā)送模塊從消息發(fā)送隊列中提取REST消息,發(fā)送給CAS系統(tǒng)。
CAS系統(tǒng)處理完畢后,將處理結(jié)果上傳給本系統(tǒng)。消息接收模塊收到CAS響應(yīng),將該響應(yīng)放入消息接收隊列。
消息處理模塊判斷這是增加虛擬機CAS響應(yīng),首先查看消息等待隊列,如果能找到對應(yīng)請求消息,則解析該CAS響應(yīng)。修改用戶表和虛擬機群表,記錄為用戶分配的虛擬機id。然后構(gòu)造用戶請求響應(yīng),放入消息發(fā)送隊列。
消息發(fā)送模塊從消息發(fā)送隊列中提取用戶請求響應(yīng),發(fā)送給用戶平臺進(jìn)行處理。
六、虛擬實驗室用戶平臺實現(xiàn)研究
用戶平臺分為前端界面和后臺系統(tǒng)。用戶通過網(wǎng)頁瀏覽器訪問虛擬實驗室的前端界面。輸入用戶名和密碼進(jìn)入屬于自己的虛擬實驗室空間,如圖 7所示。
用戶界面左側(cè)為課程列表,右側(cè)為不同課程的虛擬實驗室。比如進(jìn)入“網(wǎng)絡(luò)管理與維護(hù)”課程后,能看到添加、刪除、修改、組網(wǎng)等按鈕。點擊不同按鈕,后臺系統(tǒng)將生成對應(yīng)的用戶命令,發(fā)送給虛擬實驗室控制系統(tǒng)。
在“網(wǎng)絡(luò)管理與維護(hù)”課程中添加三臺虛擬機。用戶選擇虛擬機A為服務(wù)器端,B和C為客戶端,點擊進(jìn)入虛擬機,和遠(yuǎn)程訪問物理計算機一樣。虛擬實驗環(huán)境如圖 8所示。
在A上安裝行為管理服務(wù)器端軟件,在B、C上安裝用戶行為管理客戶端軟件。配置虛擬機A、B、C的IP地址,讓它們處于同一個網(wǎng)段。這樣就可以執(zhí)行用戶行為管理實驗。
七、結(jié)束語
本文提出在高校部署基于云服務(wù)的虛擬實驗室,對虛擬實驗室的架構(gòu)設(shè)計和系統(tǒng)實現(xiàn)進(jìn)行了研究。
選擇H3C CAS云計算平臺搭建數(shù)據(jù)中心,在此基礎(chǔ)上研究如何開發(fā)實現(xiàn)虛擬實驗室控制系統(tǒng)和虛擬實驗室用戶平臺。
建立該虛擬實驗室后,師生無論課上課下,使用何種終端,只要能連接互聯(lián)網(wǎng),就可以訪問虛擬實驗室,搭建實驗網(wǎng)絡(luò),進(jìn)行學(xué)習(xí)。
高校引入云計算將是校園信息化建設(shè)的必然趨勢。本文提出的虛擬實驗室對高校部署云計算具有借鑒價值。如何在虛擬實驗室中添加更多課程有待深入研究。因此下一步研究重點是計算資源和網(wǎng)絡(luò)資源的虛擬化[11]-[13],讓虛擬實驗室支持需要網(wǎng)絡(luò)設(shè)備配合的課程,比如《網(wǎng)絡(luò)系統(tǒng)集成》等課程,為師生提供更豐富的學(xué)習(xí)環(huán)境。
參考文獻(xiàn):
[1]袁芬.基于云計算的虛擬計算機實驗室構(gòu)建與研究[J].計算機時代,2014(3):64-66.
[2]謝麗.基于云計算技術(shù)的計算專業(yè)虛擬實驗室平臺建設(shè)淺析[J].軟件產(chǎn)業(yè)與工程,2013(2):54-56.
[3]高云霞,高景剛.基于云計算的高校虛擬實驗教學(xué)研究[J].制造業(yè)自動化,2013, 35(3):87-90.
[4]馬仕海.網(wǎng)絡(luò)虛擬實驗室的構(gòu)建研究[J].中國電力教育,2013(1):164-166.
[5]郭培源,馮博.基于云計算平臺的虛擬實驗室設(shè)計與實現(xiàn)[J].軟件,2012,33(10):106-109.
[6]袁新顏.基于云計算平臺的虛擬實驗室設(shè)計與實現(xiàn)探究[J].信息安全與技術(shù),2013(6):80-82.
[7]黃晨暉,林泳琴. 基于云計算的虛擬計算機實驗室的研究與實現(xiàn)[J].實驗室研究與探索,2010,29(11):178-181.
[8]柴亞輝,涂春平,劉覺夫等.基于云計算的計算機與軟件實驗資源管理[J].實驗室研究與探索,2010,29(10):254-256.
[9]魯慧民,劉剛.基于云計算理念的虛擬實驗教學(xué)系統(tǒng)設(shè)計探討[J].實驗技術(shù)與管理,2012,29(4):334-338.
[10]于建軍,狄焰亮,董科軍等.科研在線:云服務(wù)模式的網(wǎng)絡(luò)虛擬科研環(huán)境[J].華中科技大學(xué)學(xué)報(自然科學(xué)版),2011,39(增刊I):33-37.
[11]李明.網(wǎng)絡(luò)虛擬化技術(shù)在云計算數(shù)據(jù)中心的應(yīng)用[J].電信工程技術(shù)與標(biāo)準(zhǔn)化,2012(4):39-43.
[12]趙慧玲,謝云鵬,史凡.網(wǎng)絡(luò)虛擬化及網(wǎng)絡(luò)功能虛擬化技術(shù)探討[J].中興通訊技術(shù),2014,20(3):8-11.
[13]吳永娟,王振華,黃小紅.數(shù)據(jù)中心的網(wǎng)絡(luò)虛擬化方案研究[J].廣西大學(xué)學(xué)報(自然科學(xué)版),2012,37(6):1193-1198.
(編輯:楊馥紅)