摘要:隨著我國高等教育規(guī)模的不斷擴大,各高校在計算機類實驗實訓設(shè)備的場地和經(jīng)費投入上都明顯不足,嚴重制約了各工科類專業(yè)特別是計算機類專業(yè)教育質(zhì)量的提高。主要論述通過在計算機實踐教學中引入虛擬機技術(shù)可有效地破解場地和設(shè)備不足的難題,為提高計算機類實踐教學的質(zhì)量提供了新的輔助教學手段。
關(guān)鍵詞:實踐教學;虛擬機;Vmware;Xen
作者簡介:衛(wèi)耀軍(1971-),男,河南洛陽人,湖北工業(yè)大學工程碩士,(湖北武漢430068)西安電力高等專科學校,高級工程師;張亮(1982-),男,江蘇海門人,西安電力高等??茖W校,講師。(陜西西安710032)
中圖分類號:G642.0#8195;#8195;#8195;#8195;#8195;文獻標識碼:A#8195;#8195;#8195;#8195;#8195;文章編號:1007-0079(2012)10-0112-02
隨著我國高等教育規(guī)模的不斷擴大,計算機類實驗實訓設(shè)備由于數(shù)量上的不足導致設(shè)備過度使用而不能及時得到必要的維護,加上計算機新技術(shù)層出不窮、發(fā)展迅速,設(shè)備淘汰更新速度非??斓仍?,使得各高校在計算機類實驗實訓設(shè)備的場地和經(jīng)費投入上都明顯不足,嚴重制約了各工科類專業(yè)特別是計算機類專業(yè)教育質(zhì)量的提高。在諸如計算機軟硬件基礎(chǔ)、Linux/UNIX操作系統(tǒng)、計算機網(wǎng)絡(luò)技術(shù)、網(wǎng)站建設(shè)與維護這些實踐性要求比較強的計算機類課程教學過程中,經(jīng)常會遇到軟件與硬件系統(tǒng)不兼容、安裝調(diào)試不同類型操作系統(tǒng)會破壞原系統(tǒng)且操作系統(tǒng)間不能隨意切換、硬件系統(tǒng)配置和軟件調(diào)試會影響系統(tǒng)的正常運行等諸多難題。如何在場地和經(jīng)費投入都得不到充分保障的情況下,更加有效地利用現(xiàn)有設(shè)備,通過不斷改進和完善實踐教學方法、教學形式和教學內(nèi)容,培養(yǎng)出滿足社會需要的基本素質(zhì)好、應(yīng)用能力強和具有創(chuàng)新精神的專業(yè)人才已經(jīng)成為各高校教師面臨的重要課題。計算機實踐教學中引入虛擬機(Virtual machine)技術(shù)將可在一定程度上解決這一難題。
一、虛擬機技術(shù)簡介
虛擬機技術(shù)通過在現(xiàn)有計算機平臺上添加一層虛擬機監(jiān)控程序(Virtual Machine Monitor,簡稱VMM)或監(jiān)管程序(Hypervisor)實現(xiàn)對計算機硬件系統(tǒng)的虛擬化,如虛擬處理器、虛擬內(nèi)存管理器(MMU)和虛擬I/O系統(tǒng)等。從應(yīng)用程序的角度看,程序運行在虛擬機上同運行在其對應(yīng)的實體計算機上一樣。虛擬機技術(shù)使得一臺物理計算機可以生成多個不同的虛擬機,分別運行多個不同或相同的操作系統(tǒng)。
根據(jù)虛擬機架構(gòu)的不同和是否需要修改客戶機操作系統(tǒng)內(nèi)核,虛擬機技術(shù)分為完全虛擬化(Full-virtualization)和泛虛擬化(Para-virtualization)兩種。采用完全虛擬化的VMM可以讓虛擬機模擬出和真實硬件完全相同的硬件環(huán)境,因此任何已有的操作系統(tǒng)都可以不經(jīng)修改直接運行在完全虛擬化的VMM上。因此具有很好的兼容性和同時支持異種操作系統(tǒng)或不同版本操作系統(tǒng)的能力,但是以犧牲性能為代價。相反,泛虛擬化通過需要修改客戶機操作系統(tǒng)內(nèi)核提升了虛擬機的性能,但由于需要修改操作系統(tǒng)內(nèi)核,不開源的操作系統(tǒng)就無法運行在泛虛擬化的VMM上,所以兼容性不夠好。
二、虛擬機在計算機實踐教學中的應(yīng)用
目前,在各高校計算機房,特別是公共機房的計算機中大都裝有各類軟硬件保護卡或還原卡,目的是防止學生對計算機系統(tǒng)進行隨意修改,破壞使用環(huán)境,以減少機房管理人員的維護工作量。在不增加任何硬件成本的情況下,要想“突破”保護卡或還原卡的限制,以解決類似Linux操作系統(tǒng)這樣一些需要經(jīng)常對計算機系統(tǒng)進行“寫”操作課程的實驗和實訓問題,唯有使用虛擬機技術(shù)。
1.計算機系統(tǒng)維護實驗
由于虛擬機中的一塊硬盤僅對應(yīng)于真實主機上的一個文件,在虛擬機中對硬盤的任何操作都不會破壞真實的硬盤分區(qū)和數(shù)據(jù),因此在虛擬機下可以放心地進行諸如磁盤分區(qū)、格式化等破壞性比較大的危險操作。同樣,在虛擬機下也可進行諸如BIOS設(shè)置、網(wǎng)卡等基本硬件添加刪除之類的系統(tǒng)維護實驗。
2.計算機操作系統(tǒng)安裝、維護實驗
在Windows/Linux操作系統(tǒng)的教學中要涉及到系統(tǒng)安裝、系統(tǒng)設(shè)置及網(wǎng)絡(luò)服務(wù)配置等操作,其中有幾個比較危險的實驗操作在真正的物理計算機上來實現(xiàn)有一定的難度和不現(xiàn)實性,如系統(tǒng)安裝、硬盤配額、文件系統(tǒng)的創(chuàng)建與使用、系統(tǒng)啟動模式設(shè)置和網(wǎng)絡(luò)服務(wù)配置等,這些操作會改變甚至可能破壞計算機系統(tǒng),使計算機無法正常工作。對于初學的學生而言,做此類實驗時更容易造成對計算機系統(tǒng)的破壞,這都嚴重影響到教學效果。采用虛擬機技術(shù)后這些問題將得到很好解決,同時也提高了教學質(zhì)量和學生的學習效率。另外,在虛擬機上的操作有實際操作無法相比的優(yōu)勢。
3.動態(tài)磁盤管理實驗
動態(tài)磁盤中有簡單卷、跨區(qū)卷、帶區(qū)卷、鏡像卷和RAID-5卷,而除簡單卷外,跨區(qū)卷、帶區(qū)卷、鏡像卷的創(chuàng)建都至少需要兩塊物理磁盤,RAID-5卷至少需要三塊磁盤。如果教師在上課時只講解這五種卷的原理,不在課堂上演示它們的創(chuàng)建、恢復(fù)等操作,更不讓學生進行相應(yīng)實操實驗的話,其教學效果將大打折扣。在虛擬機下可以不費吹灰之力就輕而易舉地為系統(tǒng)添加多塊硬盤,一切操作都可以隨時隨地進行,將會極大地提高學生的學習興趣。
4.計算機局域網(wǎng)實驗
計算機局域網(wǎng)實驗不但需要多臺計算機,而且還需用到集線器或局域網(wǎng)交換機。通過虛擬機技術(shù),可以在一臺計算機上虛擬出多個虛擬機,進而實現(xiàn)在單臺計算機上組建局域網(wǎng)環(huán)境。這樣每個學生在一臺計算機上就可以進行各種局域網(wǎng)實驗。在此環(huán)境下,學生可以放心進行各種操作,產(chǎn)生更好的實驗效果。
三、常用虛擬機軟件及應(yīng)用實例
VMware和Xen是目前最具代表性的兩種虛擬機軟件。目前,Vmware無疑是商業(yè)虛擬機軟件領(lǐng)域當之無愧的領(lǐng)頭羊,在虛擬機軟件市場上占有很大的份額。但在開源領(lǐng)域,一個叫做Xen的GNU GPL變體在眾多開源虛擬機軟件項目中脫穎而出。它是英國劍橋大學計算機實驗室開發(fā)的一個基于X86架構(gòu)、發(fā)展最快、性能最穩(wěn)定、占用資源最少的開源虛擬化技術(shù),與Linux是一個完美的開源組合,以高性能、占用資源少著稱。
Vmware是一個標準的完全虛擬化產(chǎn)品,可以完全模擬出X86架構(gòu)的真實硬件環(huán)境,在本地運行多個操作系統(tǒng),但是這樣做也使得它的性能降低了20%。即便是當今高端CPU的速度,在同時運行多個操作系統(tǒng)時Vmware虛擬機的性能也是一個很大的問題。
而Xen從一開始就是一個支持泛虛擬化(在Xen中稱為“半虛擬化”)的虛擬機軟件,只需對客戶機操作系統(tǒng)內(nèi)核稍作改動就可使用Xen API(應(yīng)用程序接口),性能損失大約在2%~8%之間。從Xen和VMware的運行基準顯示,Xen性能在某些方面幾乎要高一個級別。而且從3.0版本開始,Xen也提供了對完全虛擬化的支持,當然這需要有完全虛擬化技術(shù)的CPU硬件支持(Inte VT或AMD VT),這使得Xen有了更為廣闊的使用空間。因此Xen贏得了包括IBM、AMD、HP、Red Hat和Novell在內(nèi)的眾多世界級軟硬件廠商的高度認可和大力支持,如在Redhat Enterprise Linux 自5.0版本起,內(nèi)核版本提升到了2.6.18,正式提供了對Xen虛擬化技術(shù)的支持。下面介紹一下在CentOS 5.6(CentOS是Linux發(fā)行版之一,它來自于Red Hat Enterprise Linux依照開放源代碼規(guī)定釋出的源代碼所編譯而成)操作系統(tǒng)下創(chuàng)建Xen虛擬機的實例。
1.以Xen的內(nèi)核運行CentOS
在CentOS啟動時選擇Xen內(nèi)核啟動,如圖1所示。
2.創(chuàng)建Xen虛擬機
Xen虛擬機可以通過圖形方式創(chuàng)建,也可以通過字符方式創(chuàng)建。字符方式使用命令xm,可以直接鍵入xm查看輸出的命令參數(shù)信息。通過圖形方式創(chuàng)建比較直觀簡便,如圖2所示,單擊“虛擬系統(tǒng)管理器”打開虛擬機管理工具。
進入到虛擬系統(tǒng)管理器的界面,默認會顯示一個ID為0的節(jié)點,又叫做Domain0,當前狀態(tài)是“運行中”。這個節(jié)點就是安裝了CentOS的物理服務(wù)器,通過管理界面可以看到物理節(jié)點擁有的CPU和內(nèi)存數(shù)量。在管理界面的下方還有“刪除”、“新建”、“打開”等幾個按鈕,單擊其中的“新建”按鈕即可進入Xen虛擬機的創(chuàng)建向?qū)В磩?chuàng)建新的domain。
在創(chuàng)建新虛擬機向?qū)е袉螕簟扒斑M”按鈕繼續(xù),在“名稱”欄中輸入要創(chuàng)建的domain的名字,例如vm01(這個名字可以任意選擇),如圖4所示。
按照創(chuàng)建新虛擬機向?qū)е敢涂梢徊讲酵瓿梢慌_計算機的“硬件”選取與安裝,包括磁盤、內(nèi)存、網(wǎng)絡(luò)等。
創(chuàng)建完成后,檢查一下前面各項參數(shù),如果無誤就可單擊“完成”按鈕,退出創(chuàng)建新虛擬機向?qū)Р硬僮飨到y(tǒng)安裝程序。安裝程序?qū)⒁来螜z查各個參數(shù)是否正確,包括安裝源(這里以通過“CD-ROM”安裝XP為例)能否被調(diào)用到、磁盤空間是否足夠、內(nèi)存是否足夠等,如果沒有問題則啟動該虛擬機(domain)的控制臺。于是熟悉的XP操作系統(tǒng)安裝界面就出現(xiàn)了,如圖5所示。其安裝過程和在物理機上的安裝過程一樣,此處不再詳述。
四、結(jié)論
利用虛擬機技術(shù)可以“擴建”現(xiàn)有的計算機房,創(chuàng)建多操作系統(tǒng)的實踐教學環(huán)境,承擔傳統(tǒng)的實踐教學平臺難以完成的實操訓練任務(wù)。虛擬機技術(shù)在計算機實踐教學中的深入應(yīng)用不但提高了教學效率,節(jié)省了經(jīng)費,更為提高教學質(zhì)量提供了新的輔助教學手段。
參考文獻:
[1]李學杰,金志剛,戴居豐.虛擬技術(shù)研究和實現(xiàn)[J].電子測量技術(shù),2007,(30).
[2]劉愛軍,耿國華.基于X86的虛擬機技術(shù)現(xiàn)狀、發(fā)展及展望[J].計算機技術(shù)與發(fā)展,2007,(11).
[3] 懷進鵬,李沁,胡春明.基于虛擬機的虛擬計算環(huán)境研究與設(shè)計[J].軟件學報,2007,(18).
[4] 金海,等.計算系統(tǒng)虛擬化——原理與應(yīng)用[M].北京:清華大學出版社,2008.
(責任編輯:王祝萍)