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