国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于虛擬機的個性化計算機實驗教學環(huán)境

2015-06-23 09:16汪小林李濤高博洪星星羅英偉
計算機教育 2015年1期
關鍵詞:虛擬化

汪小林 李濤 高博 洪星星 羅英偉

摘要:針對當前計算機實驗教學中心學生上機環(huán)境在數(shù)據(jù)安全、用戶體驗、系統(tǒng)管理等方面存在的問題,提出一種基于虛擬機的個性化計算機實驗教學環(huán)境pVCE,旨在通過虛擬機方式為學生提供面向課程的個性化上機環(huán)境和便捷的個性化上機服務,同時方便教師和管理員管理。

關鍵詞:虛擬化;個性化虛擬機;計算機實驗教學環(huán)境;pVCE;實驗管理

0.引言

計算機實驗教學中心是實施實驗教學的重要場所,應為學生提供良好的上機服務,便于教師參與教學實踐,管理員參與監(jiān)控管理。隨著教育模式的發(fā)展,傳統(tǒng)實驗教學中心的不足日益凸顯。首先,在傳統(tǒng)實驗教學中心開展實驗教學活動時常面臨安全問題。公共實驗環(huán)境中用戶共享存儲、私有文件數(shù)據(jù)可隨意被刪改而造成損失;為保證系統(tǒng)安全,學生通常沒有權限安裝軟件,不僅犧牲了學生的用戶體驗,還給管理員增加了管理負擔;硬件故障也易造成嚴重后果。其次,傳統(tǒng)實驗教學環(huán)境的資源利用率不高。實驗教學中心的軟硬件資源通常都不能被用戶充分利用。最后,傳統(tǒng)實驗教學中心的管理活動主要由管理員管理,缺少教師的有力參與且管理員缺乏便捷高效的實驗教學中心管理機制。

虛擬化技術可有效改善上述問題。由于虛擬化能幫助屏蔽底層物理硬件差異,為上層用戶提供多樣化的執(zhí)行環(huán)境且虛擬機之間相互隔離,因此用戶可使用私有虛擬機作為上機平臺,自由地安裝個性化軟件。用戶數(shù)據(jù)存儲在虛擬機鏡像中能保證數(shù)據(jù)安全,發(fā)生硬件故障時遷移虛擬機或轉(zhuǎn)移鏡像文件,即可快速恢復使用原始的操作系統(tǒng)和應用軟件。同時,隨著多核技術的普及,一臺物理機運行多臺虛擬機也不會影響用戶體驗,因此利用虛擬化技術有助于提升資源利用率,緩解硬件緊缺的現(xiàn)狀。

目前,虛擬化平臺主要有KVM、Xen、VMWare、Bochs、Hyper-V等。有許多將VMWare虛擬化應用到實驗教學中心的實踐案例,但普遍缺乏針對實驗教學中心參與者(學生、教師、管理員)面向課程實驗活動的管理機制,因此筆者提出基于XEN/KVM開源虛擬化平臺構建基于虛擬機的個性化計算機實驗教學環(huán)境pVCE(a personalized virtualized computer experimental environment),為學生提供個性化、虛擬化的上機環(huán)境且實現(xiàn)讓多類用戶參與課程實驗活動的便捷高效的使用和管理接口。

1.系統(tǒng)設計

1.1設計目標

為應對傳統(tǒng)實驗教學環(huán)境中的挑戰(zhàn),我們對pVCE的設計提出以下要求。

(1)個性化。在實驗教學中心為學生提供可自由操作的個性化虛擬機,虛擬化技術可支持學生更靈活地配置出其需要的實驗環(huán)境,包括操作系統(tǒng)、應用軟件、計算資源等(如學生使用CentOS-x86 64操作系統(tǒng),4 GB內(nèi)存)。pVCE應提供方便的交互接口讓學生控制和使用其虛擬機(如通過客戶端、瀏覽器訪問各自的虛擬機)。

(2)面向課程。pVCE需面向多樣化的課程教學需求提供多樣化的上機環(huán)境(如數(shù)據(jù)庫概論課程要求PHP、MySQL、Apache,而編譯實習課程要求GCC、JDK等)。利用虛擬化技術,教師可突破現(xiàn)有實驗環(huán)境的限制,開設各具特色的實驗課程。pVCE應提供一套完善的操作接口讓教師管理課程信息,方便創(chuàng)建、部署及管理。pVCE還應用來拓展實驗教學模式,如開展系統(tǒng)安全課程實驗時為學生提供可自由修改的操作系統(tǒng),開展網(wǎng)絡課程實驗時為其提供若干臺虛擬機組建局域網(wǎng)。

(3)便攜。學生使用USB等設備時,能攜帶其在計算機實驗教學中心中使用的個性化實驗環(huán)境,并在其他平臺上恢復運行使用。

(4)遠程訪問。pVCE應提供多樣化的虛擬機訪問方式,如支持學生遠程訪問其個性化的虛擬機,遠程用戶能夠和本地用戶共享計算資源,并為管理人員提供統(tǒng)一的機制管理所有的用戶信息和個性化虛擬機等。

(5)監(jiān)控管理。為保證實驗教學中心的良好運行,pVCE應為管理員生成各類計算資源概覽圖,提供監(jiān)控管理的交互接口,如管理學生參與課程并使用個性化虛擬機,管理教師部署課程實驗平臺,監(jiān)測整個教學實驗中心虛擬機的實時狀況。

1.2pVCE架構設計

為實現(xiàn)上述目標,我們提出圖1所示的pVCE架構設計。學生參與課程實驗時能選擇任意一臺部署了Xen/KVM虛擬化平臺的節(jié)點使用其個性化虛擬機,虛擬機安裝了滿足課程實驗需求的操作系統(tǒng)和應用軟件。啟動虛擬機需要主鏡像和子鏡像兩部分,其中主鏡像文件包含課程實驗要求的系統(tǒng)和軟件,子鏡像文件則存儲學生個性化的數(shù)據(jù)(包括個性化軟件和用戶數(shù)據(jù)等)。各節(jié)點都存儲各門課程的主鏡像,子鏡像則以鏡像資源池的方式保存在存儲服務器上。主鏡像與子鏡像分離存儲,使得學生使用虛擬機服務時可靈活選擇計算節(jié)點。由于子鏡像文件通常較小,用戶也可把它拷貝到u盤以備份、恢復使用其個性化環(huán)境。為提升實驗教學中心的資源利用率,在節(jié)點中也運行遠程用戶的個性化虛擬機,我們提供接口支持用戶從外部訪問服務。pVCE也為教師和管理員提供管理課程、學生、計算資源等接口,pVCE部署在服務器集群上,包括鏡像管理模塊、虛擬機管理模塊和元數(shù)據(jù)管理模塊。

鏡像管理模塊管理各節(jié)點上本地鏡像文件庫的主鏡像組織、存儲服務器中的子鏡像文件庫、子鏡像池中子鏡像的部署和虛擬機鏡像的文件系統(tǒng)。虛擬機管理模塊管理各節(jié)點上運行的虛擬機,如管理虛擬機運行,創(chuàng)建虛擬機快照,遷移虛擬機并為本地和遠程用戶提供統(tǒng)一的虛擬機管理接口。元數(shù)據(jù)管理模塊管理著數(shù)據(jù)庫服務器中存儲的pVCE各對象信息(如學生、教師、節(jié)點、虛擬機)及對象間的關系(如選課、學生個性化鏡像與課程主鏡像的關系等)。

各管理模塊間相互協(xié)作,為用戶使用管理接口提供服務。鏡像管理模塊為虛擬機管理模塊提供主鏡像和子鏡像;元數(shù)據(jù)管理模塊維護鏡像管理模塊所管理的課程主鏡像及個性化子鏡像間的映射關系;元數(shù)據(jù)管理模塊也維護虛擬機管理模塊所管理的學生個性化虛擬機及其相關鏡像文件間的關系。pVCE根據(jù)學生、教師和管理員的不同需求提供3類用戶訪問接口。學生主要關注虛擬機使用,教師則主要關注課程主鏡像的配置、部署,而管理員則需要管理整個pVCE環(huán)境的運行狀況。

2.pVCE系統(tǒng)實現(xiàn)

構建pVCE系統(tǒng)首先需要讓計算機實驗教學中心的節(jié)點支持虛擬化并配置存儲服務器等設備,還需實現(xiàn)pVCE服務軟件的各模塊及用戶接口。

2.1教師對課程和主鏡像的管理

教師主要參與課程和主鏡像的創(chuàng)建與管理。我們稱安裝有課程要求的操作系統(tǒng)和應用軟件的主鏡像為課程鏡像模板。教師使用pVCE的基本流程:認證登錄到pVCE服務器、管理課程基本信息、管理課程主鏡像模板,其中最為關鍵的問題是準備課程主鏡像模板。

為高效地制備課程主鏡像模板,我們提出鏡像模板樹的概念。圖2所示為pVCE的鏡像模板樹,其中根節(jié)點為空白鏡像文件;深度為1的節(jié)點為僅安裝了各類常見發(fā)行版操作系統(tǒng)的鏡像模板;當節(jié)點深度k≥1時,其深度為k+1的子節(jié)點是基于它安裝額外軟件所派生出的鏡像模板,父節(jié)點所包含的軟件集是子節(jié)點軟件集的真子集。我們基于鏡像模板樹的概念構建和組織pVCE課程主鏡像的模板庫。

教師制備鏡像模板的流程將圍繞模板樹進行。通過調(diào)研往年課程開設情況,pVCE預先制備了一些鏡像模板。教師先提交課程模板配置以指明實驗要求的操作系統(tǒng)和軟件集等信息,查詢pVCE鏡像模板樹。查詢過程通常能讓教師在pVCE所部署的模板庫中找到滿足其課程要求的鏡像模板,如匹配失敗,則返回所需鏡像模板的最大真子集模板。教師可選擇兩種方式制備模板:第一種方式為教師在線配置鏡像模板,根據(jù)上述查詢結果利用該返回模板啟動虛擬機,只需再安裝少量軟件就能完成鏡像模板的制備,從而提高制備模板的效率;第二種方式是教師獨立制備鏡像模板,然后上傳到pVCE鏡像庫,經(jīng)過鏡像管理模塊轉(zhuǎn)換格式加入到模板庫,支持上傳的鏡像格式有RAW、IMG、VMDK、QCOW2等。

當課程鏡像模板制備完成,pVCE將分發(fā)到各節(jié)點的本地鏡像文件庫,根據(jù)其所屬教師和課程存儲為/localTemps/teacherlD/courselD/templateName.img,由元數(shù)據(jù)管理模塊維護課程鏡像模板與教師、課程等對象之間的關系。

2.2學生使用和管理個性化虛擬機

pVCE為學生提供使用和管理虛擬機的功能,運行虛擬機需要課程主鏡像模板和個性化子鏡像。當確定課程參與學生名單后,pVCE基于課程主鏡像為每一學生創(chuàng)建QCOW2類型的子鏡像。如圖3所示,學生有兩種使用個性化虛擬機的方式:客戶端和瀏覽器。

學生通過客戶端使用個性化虛擬機的基本流程:①認證登錄到pVCE服務器;②選擇當前課程;③通過交互界面查看與管理虛擬機狀態(tài);④通過Spice客戶端或VNCViewer等連接到虛擬機桌面進行課程實驗。學生也可通過瀏覽器使用其個性化虛擬機:①在pVCE Web服務主頁上完成認證登錄;②選擇當前課程;③查看及管理個性化虛擬機;④在pVCE Web服務頁面獲取虛擬機桌面;⑤在瀏覽器中使用虛擬機。

學生使用個性化虛擬機的流程主要涉及3個關鍵問題:管理虛擬機Qcow2鏡像、控制虛擬機以及連接虛擬機桌面。

管理QCOW2鏡像包括兩方面:一方面需管理QCOW2鏡像文件系統(tǒng),pVCE鏡像管理模塊基于libguestfs API(libguestfs是一組訪問和修改虛擬機鏡像文件的API)和qemu-img等工具管理QCOW2文件,支持查看與編輯鏡像中的文件、監(jiān)測鏡像文件系統(tǒng)的空閑狀況等;另一方面需維護學生QCOW2鏡像與課程鏡像模板問的關系,根據(jù)學生和課程信息將個性化子鏡像存儲為/gluster/studentlD/courseID/QCOW2Name,QCOW2,并由元數(shù)據(jù)管理模塊維護鏡像、學生和課程間的關系。

虛擬機控制包括虛擬機電源管理、虛擬機鏡像快照管理、虛擬機遷移等方面。pVCE虛擬機管理模塊通過libvirt API實現(xiàn)對虛擬機的控制,能支持Xen/KVM等多種虛擬化平臺。

連接虛擬機桌面,學生通過客戶端使用時可通過各節(jié)點上已安裝的Spice、VNCViewer等pVCE客戶端連接虛擬機桌面或者采用ssh方式使用虛擬機,也可以通過其他遠程桌面訪問工具(如Windows遠程桌面)連接虛擬機桌面。對于Web訪問方式,我們集成了noVNC、spice-html5等工具支持學生不用安裝任何軟件,僅通過瀏覽器便可直接使用虛擬機。

2.3管理員監(jiān)控管理pVCE集群

管理員在pVCE中主要參與以下3方面的工作。

(1)維護鏡像模板庫。通過調(diào)研以往課程實驗環(huán)境對操作系統(tǒng)和軟件的需求,管理員將預先制備一部分鏡像模板以初始化pVCE鏡像模板庫。

(2)管理pVCE系統(tǒng)中所有對象及對象間的關系并控制對象的生命周期。圖4的類圖描述了pVCE系統(tǒng)的主要類,展示了類之間的關系。管理員通過交互界面,利用元數(shù)據(jù)管理模塊對pVCE系統(tǒng)進行管理。

(3)監(jiān)控pVCE系統(tǒng)。虛擬機管理模塊和鏡像管理模塊負責記錄系統(tǒng)信息(如節(jié)點負載狀況、虛擬機運行狀態(tài)和鏡像模板庫的容量狀況等),以幫助系統(tǒng)開發(fā)人員、管理員優(yōu)化pVCE系統(tǒng)運行,如pVCE能圖形化地展示出各節(jié)點的負載情況,方便管理員遷移某些虛擬機,以平衡系統(tǒng)負載。

3.部署pVCE系統(tǒng)

目前,北京大學計算機實驗教學中心共投入22臺計算機用于構建pVCE,其中20臺計算節(jié)點供學生參與課程實驗教學活動時使用,另有1臺用做pVCE服務器,1臺作為備用節(jié)點。同時,20臺計算節(jié)點也被部署為Gluster分布式存儲服務集群,用來存儲學生的個性化QCOW2鏡像。學生能在任意節(jié)點上啟動其虛擬機,不受固定座位的限制,自由地訪問其個性化數(shù)據(jù)。22臺節(jié)點均安裝了CentOS 6,4操作系統(tǒng)及KVM構建虛擬化平臺。計算節(jié)點硬件配置信息見表1,pVCE集群軟件配置見表2。

目前,我們在pVCE中開設了網(wǎng)絡存儲和系統(tǒng)虛擬化、計算概論課程,可以支持學生參與其中并使用各自的個性化虛擬機上機實驗。每門課程為每位學生提供3臺虛擬機,分別運行CentOS 6.4、Ubuntu 13.04和Window 7操作系統(tǒng)。我們從學生、教師那里得到了良好的反饋結果,pVCE能支持完成實驗教學任務,滿足用戶對個性化實驗環(huán)境的需求且使用便捷,便于管理。我們還對部署的pVCE實例中虛擬機響應時間進行了測試。20臺虛擬機(vm1-vm20)同時啟動時間如圖5所示,每臺虛擬機都能快速地啟動。

猜你喜歡
虛擬化
計算機虛擬化技術在企業(yè)中的應用
對云計算和虛擬化技術的探討
淺談虛擬化工作原理
用戶怎樣選擇虛擬化解決方案
別再誤會客戶端虛擬化了
戴爾 虛擬化如何點燃用戶熱情?
中企開源 用虛擬化建數(shù)據(jù)中心
虛擬化整合之勢凸顯
虛擬化技術:綠色IT的希望
經(jīng)濟危機使虛擬化受青睞
嘉禾县| 夏邑县| 剑川县| 晋宁县| 临沂市| 甘泉县| 孟津县| 新和县| 宁化县| 凤山市| 黄山市| 利川市| 昆明市| 察哈| 朝阳县| 弋阳县| 凤山县| 马龙县| 习水县| 兴文县| 博白县| 蒙山县| 济阳县| 通化市| 高雄市| 绥阳县| 诸城市| 石家庄市| 祁连县| 资溪县| 太原市| 上栗县| 博罗县| 商南县| 龙江县| 福鼎市| 昌宁县| 万州区| 尉犁县| 梅河口市| 确山县|