計算機在線虛擬實驗室建設(shè)研究
時間:2022-11-15 08:27:17
導(dǎo)語:計算機在線虛擬實驗室建設(shè)研究一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
【摘要】傳統(tǒng)教學(xué)機房存在如下問題:實驗環(huán)境搭建復(fù)雜,機房管理員需要為每臺機器安裝相應(yīng)的實驗軟件;實驗課考核困難,給學(xué)生布置平時作業(yè)時,通常布置相同的題目,很難杜絕學(xué)生之間互相抄襲的現(xiàn)象;機房成本高、利用率低,部署實驗室機房需要采購大量計算機和網(wǎng)絡(luò)設(shè)備,機房設(shè)備的維護也耗費工作量。本文研究了面向計算機實驗教學(xué)的虛擬化技術(shù),在在線虛擬實驗室中通過Linux的虛擬化技術(shù),為每個學(xué)生在服務(wù)器端創(chuàng)建獨享的實驗環(huán)境,教師在服務(wù)器端安裝實驗軟件和實驗數(shù)據(jù),只需要在服務(wù)器端配置一次實驗環(huán)境,即可被所有的學(xué)生共享,從而大大地簡化了實驗機房的管理。
【關(guān)鍵詞】在線實驗室;虛擬化;Linux操作系統(tǒng)
在傳統(tǒng)的教學(xué)機房中進行實驗教學(xué)面臨實驗環(huán)境搭建復(fù)雜、機房利用率低等問題。本文研究面向計算機專業(yè)實驗教學(xué)的在線虛擬實驗室建設(shè),解決傳統(tǒng)機房教學(xué)的易用性問題。教師只需要在服務(wù)器端配置一次即可為所有學(xué)生提供相應(yīng)的實驗環(huán)境,在客戶端無須安裝實驗軟件,學(xué)生使用瀏覽器即可訪問自己的實驗環(huán)境。
1在線虛擬實驗室要解決的問題
計算機類課程是實踐性很強的課程,在機房進行教學(xué),學(xué)生可以及時上機嘗試操作、消化所學(xué)內(nèi)容,能夠取得良好的教學(xué)效果。然而,傳統(tǒng)機房教學(xué)存在如下弊端。(1)傳統(tǒng)實驗課實驗環(huán)境搭建復(fù)雜。在傳統(tǒng)的實驗教學(xué)中,機房管理員需要為每臺機器安裝相應(yīng)的實驗軟件,教師需要將實驗包(包括文檔、實驗數(shù)據(jù))分發(fā)給學(xué)生,學(xué)生在實驗前需要手動配置自己的實驗環(huán)境[1]。某些實驗的實驗環(huán)境搭建尤其復(fù)雜,例如大數(shù)據(jù)實驗,需要為每個學(xué)生分配多臺機器,實驗數(shù)據(jù)的大小可能超過1GB,Hadoop配置較為復(fù)雜。(2)傳統(tǒng)實驗課考核困難。在傳統(tǒng)實驗教學(xué)中,教師給學(xué)生布置平時作業(yè)時,通常布置相同的題目,很難杜絕學(xué)生之間互相抄襲的現(xiàn)象;在最后的課程考核中,如果采用上機考核,無論是分發(fā)考試實驗環(huán)境還是收取考試題目,都很復(fù)雜。(3)傳統(tǒng)實驗機房成本高、利用率低。部署實驗室機房需要采購大量計算機和網(wǎng)絡(luò)設(shè)備,機房設(shè)備的維護也消耗很多工作量[2]。本文研究面向計算機專業(yè)實驗教學(xué)的在線虛擬實驗室建設(shè),解決傳統(tǒng)機房教學(xué)面臨的諸多問題。在線虛擬實驗室通過Linux的虛擬化技術(shù),為每個學(xué)生在服務(wù)器端創(chuàng)建獨享的實驗環(huán)境,教師在服務(wù)器端安裝實驗軟件和實驗數(shù)據(jù),只需要在服務(wù)器端配置一次實驗環(huán)境,即可被所有的學(xué)生共享,從而大大簡化了機房管理工作。學(xué)生的實驗數(shù)據(jù)全部保存在服務(wù)器端,可以隨時隨地登錄系統(tǒng)繼續(xù)實驗,不需要每次實驗前再進行一次環(huán)境配置。使用在線虛擬實驗室,教師在服務(wù)器端可以為每個學(xué)生布置不同的實驗題目,在一定程度上避免了互相抄襲。在最后的上機考核中,教師不再需要分發(fā)考試實驗環(huán)境,還可以直接在服務(wù)器端收取考試結(jié)果,簡化了實驗考核的工作量。使用在線虛擬實驗室無須采購大量硬件,資源的利用率更高,一臺服務(wù)器可以服務(wù)約100臺虛擬機,滿足相應(yīng)數(shù)量學(xué)生實驗需要;虛擬實驗室運維工作可在網(wǎng)頁上通過點擊鼠標完成,快捷方便。傳統(tǒng)教學(xué)機房與在線虛擬實驗室的優(yōu)劣勢總結(jié)如表1所示。
2國內(nèi)外現(xiàn)狀對比
Codecademy(www.codecademy.com)是一家國外的提供在線學(xué)習(xí)編程知識的網(wǎng)站,它向用戶提供了一種全新的在線學(xué)習(xí)方式。在基于網(wǎng)絡(luò)互動編程教程的基礎(chǔ)之上,幫助用戶了解編程的基本原理。Codecademy提供了在線編譯器和編輯器,用戶可以在Codecademy上學(xué)習(xí)Python、CSS等多種語言,也能完成一些基本的編程練習(xí)。實驗樓(www.shiyanlou.com)是以實驗為核心的IT在線教育網(wǎng)站,網(wǎng)站為IT學(xué)習(xí)者提供實踐操作實驗環(huán)境和全面的IT課程。實驗樓基于Linux的KVM(Kernel-basedVirtualMachine)虛擬化技術(shù),為用戶提供配置好的虛擬機,通過虛擬的實驗環(huán)境,學(xué)習(xí)者可邊看文檔邊動手操作,從而提高學(xué)習(xí)者的動手實踐能力。與Codecademy相比,實驗樓為用戶提供的不單單是一個簡單的在線編譯器,而是一臺配置好的虛擬機,可以支持更廣泛的IT內(nèi)容學(xué)習(xí),而不再局限于編程領(lǐng)域。例如要開發(fā)一個網(wǎng)站,從選擇技術(shù)框架、架設(shè)服務(wù)器、設(shè)計數(shù)據(jù)庫,到開發(fā)前后端、上線網(wǎng)站,其復(fù)雜程度在Codecademy上是無法完成的,而實驗樓由于提供了一臺完整的虛擬機,因此用戶可以完成這樣復(fù)雜的實驗。
3虛擬實驗室的相關(guān)技術(shù)研究
本文研究的在線虛擬實驗室技術(shù)是基于Linux的容器(Docker)技術(shù)[3]實現(xiàn)的。Docker是一個開源的應(yīng)用容器引擎[4],讓開發(fā)者可以打包其應(yīng)用和依賴包到一個可移植的容器中,然后到任意的Linux機器上,實現(xiàn)虛擬化。由于Docker是開源的產(chǎn)品,瀏覽器是操作系統(tǒng)自帶的軟件,從而節(jié)省了購買虛擬化軟件的費用。在一臺服務(wù)器上搭建好Docker的環(huán)境,其余計算機可通過瀏覽器來訪問服務(wù)器上的虛擬化應(yīng)用。管理員(教師)在服務(wù)器端利用Linux的虛擬化技術(shù)為每位用戶(學(xué)生)創(chuàng)建一個隔離的環(huán)境,用戶在用戶端利用瀏覽器訪問自己的實驗環(huán)境。在服務(wù)器端,在線虛擬實驗室利用Linux內(nèi)核的Namespace、Cgroups、UnionFS等功能來提供類似/虛擬機的輕量級隔離環(huán)境[5]。在隔離環(huán)境中,用戶擁有獨立的CPU、內(nèi)存、文件系統(tǒng)和網(wǎng)絡(luò)資源。虛擬實驗室采用了瀏覽器和服務(wù)器結(jié)構(gòu),用戶端只需要安裝瀏覽器,便可通過瀏覽器和服務(wù)器端的實驗環(huán)境進行交互。通過瀏覽器向用戶提供全功能的LinuxShell環(huán)境,同時提供一個WebIDE用于編輯實驗環(huán)境中的程序。與現(xiàn)有的實驗樓(www.shiyanlou.com)項目相比,在線虛擬實驗室的創(chuàng)新點在于服務(wù)器端采用了基于Linux容器的輕量級虛擬化技術(shù),帶來了如下兩點優(yōu)勢。(1)啟動速度快。通常需要數(shù)分鐘才能啟動虛擬機,采用基于Linux容器的輕量級虛擬化技術(shù)后,只需要幾十毫秒就可以啟動。(2)資源利用率高。容器之間共享宿主機操作系統(tǒng)資源,可以節(jié)省大量的磁盤空間及其他系統(tǒng)資源,因此同一臺服務(wù)器可以運行更多的容器。
4結(jié)語
建設(shè)在線虛擬實驗室可為南京航空航天大學(xué)計算機實驗教學(xué)課程提供更多服務(wù)。目前,在線虛擬實驗室已經(jīng)包含“計算思維實驗”和“操作系統(tǒng)實踐”兩門課程,并在虛擬實驗室中完成課程的教學(xué)和考核工作?!安僮飨到y(tǒng)實踐”課程的實驗要求學(xué)生在開源操作系統(tǒng)xv6的基礎(chǔ)上增加若干功能模塊,使用Linux下的GCC編譯器和make工具對xv6的源代碼進行編譯。操作系統(tǒng)xv6運行在x86處理器上,它可以在真實的硬件上啟動,但在教學(xué)實驗中,通常使用虛擬機軟件來運行它,如計算機模擬器Bochs。在計算機模擬器Bochs上運行操作系統(tǒng)xv6前,需要對Bochs進行較為復(fù)雜的配置。在以往的教學(xué)中,為了簡化實驗環(huán)境的搭建,通常將Linux和計算機模擬器Bochs安裝在VMware虛擬機軟件里,然后將虛擬機鏡像文件分發(fā)給學(xué)生。即使經(jīng)過壓縮,虛擬機鏡像文件的大小也超出了2GB,分發(fā)非常不方便。使用在線虛擬實驗室后,學(xué)生通過瀏覽器訪問在線虛擬實驗室,在瀏覽器中即可完成全部的“操作系統(tǒng)實踐”課程實驗操作。教師在服務(wù)器端安裝配置計算機模擬器Bochs,只需進行一次安裝配置操作,解決了實驗環(huán)境搭建復(fù)雜的問題。傳統(tǒng)實驗課中,若為1000名學(xué)生同時提供在線實驗服務(wù),采用基于LinuxKVM的重量級虛擬化技術(shù),需要購置數(shù)十臺服務(wù)器[6];采用本文提出的基于Linux容器的輕量級虛擬化技術(shù),購置數(shù)臺服務(wù)器即可。因此,在線虛擬實驗室可將更多的計算機實驗課程資源引入在線實驗室,對虛擬實驗室進行擴容,支持千人在線,為更多的計算機實驗課程教學(xué)提供服務(wù)。
作者:王立松 朱廣蔚 江愛華 單位:南京航空航天大學(xué)信息化技術(shù)中心