吳慧婷
摘要:在實(shí)驗(yàn)室建設(shè)資金有限的情況下,打破傳統(tǒng)將大型實(shí)驗(yàn)教學(xué)軟件和資源裝在若干個(gè)物理服務(wù)器上,僅在購(gòu)置高性能服務(wù)器的基礎(chǔ)上,引入服務(wù)器虛擬化技術(shù),建立虛擬化實(shí)驗(yàn)教學(xué)平臺(tái)。這樣,高校計(jì)算機(jī)實(shí)驗(yàn)室可以充分利用現(xiàn)有的服務(wù)器資源,合理的分配硬件資源,節(jié)約投入成本和維護(hù)的經(jīng)費(fèi)。同時(shí)從多方面考慮安全性問題,最大程度降低服務(wù)器虛擬化后帶來的諸多問題。
關(guān)鍵詞:虛擬化實(shí)驗(yàn)平臺(tái);服務(wù)器虛擬化;Hypervisor;安全性
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)28-0186-03
1 概述
隨著云計(jì)算、大數(shù)據(jù)技術(shù)的發(fā)展,服務(wù)器虛擬化技術(shù)已經(jīng)被越來越多的高校所采用,使用這種技術(shù)可以大大提高服務(wù)器的使用效率。虛擬化技術(shù)的關(guān)鍵在于如何提高資源的共享與資源的利用率,以及如何提高計(jì)算機(jī)實(shí)驗(yàn)室的服務(wù)和支撐能力。不過,虛擬化技術(shù)在為用戶帶來利益的同時(shí),也對(duì)用戶的數(shù)據(jù)安全以及基礎(chǔ)架構(gòu)的安全策略提出了新的要求,因此,服務(wù)器虛擬化的安全問題也需進(jìn)一步探討。
2 服務(wù)器虛擬化技術(shù)簡(jiǎn)介
世界各地的數(shù)據(jù)中心都正在研究虛擬化技術(shù)。而服務(wù)器虛擬化技術(shù)更是一項(xiàng)突破性技術(shù),它可以幫助用戶解決很多實(shí)際的問題并給用戶帶來許多利益。如通過硬件分享和服務(wù)器整合,在最大程度上提高資源的利用率;通過建立專門的虛擬服務(wù)器環(huán)境,屏蔽底層硬件在兼容性方面的問題。在高校計(jì)算機(jī)實(shí)驗(yàn)室里使用設(shè)備時(shí)不再感覺受限于CPU、內(nèi)存、磁盤、I/O 等硬件的物理上限,讓它們變成可以動(dòng)態(tài)管理的“資源池”,從而提高資源的利用率,減少人員管理,實(shí)現(xiàn)投資最大化。虛擬化技術(shù)經(jīng)過幾十年的發(fā)展,從軟、硬件各方面都可以看到服務(wù)器虛擬化技術(shù)的身影,在兼容性,資源利用率等方面有了很大突破。
服務(wù)器虛擬化就是在一臺(tái)物理服務(wù)器上虛擬出多臺(tái)虛擬服務(wù)器,每個(gè)虛擬服務(wù)器又稱作虛擬機(jī),每個(gè)虛擬機(jī)都有自己的CPU和內(nèi)存等,同時(shí)虛擬機(jī)之間都是以獨(dú)立的方式存在,互不干擾。例如,原來有50個(gè)應(yīng)用,每個(gè)應(yīng)用在1臺(tái)物理服務(wù)器上,整個(gè)系統(tǒng)有50臺(tái)物理服務(wù)器;在虛擬化之后,每個(gè)應(yīng)用在1臺(tái)“虛擬”服務(wù)器上,每個(gè)主機(jī)有多個(gè)虛擬機(jī),這樣即使虛擬化1臺(tái)物理服務(wù)器也可以代替原來的50臺(tái)物理服務(wù)器。根據(jù)需要,虛擬機(jī)上可以安裝多種操作系統(tǒng)和應(yīng)用程序。因此,對(duì)CPU、內(nèi)存與I/O這三種基礎(chǔ)硬件資源的虛擬就是實(shí)現(xiàn)服務(wù)器虛擬化的關(guān)鍵。
在虛擬化產(chǎn)品的架構(gòu)中,虛擬機(jī)監(jiān)控器(virtual machine monitor,VMM),又稱為監(jiān)管程序(Hypervisor),是虛擬化技術(shù)的核心。虛擬機(jī)監(jiān)控程序軟件添加到計(jì)算機(jī)系統(tǒng)上,就是對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行虛擬化。在物理機(jī)上構(gòu)建一個(gè)虛擬機(jī)系統(tǒng),每個(gè)虛擬機(jī)(VM)運(yùn)行自己的客戶機(jī)操作系統(tǒng)(GuestOS)。服務(wù)器虛擬化有兩種虛擬化模式:模式1是運(yùn)行在某個(gè)操作系統(tǒng)(如運(yùn)行在物理硬件之上的各種Windows)上的Hypervisor稱為軟件虛擬化(SoftV)。模式2是直接運(yùn)行在物理硬件之上的Hypervisor稱為硬件虛擬化層(HardV)。在第1種模式中,需要一個(gè)基礎(chǔ)的主機(jī)操作系統(tǒng),但是這個(gè)主機(jī)操作系統(tǒng)也是占用資源的,因此會(huì)影響運(yùn)行在它之上的虛擬機(jī)的操作。在第2種模式中,Hypervisor代碼直接集成到硬件中,只把主機(jī)服務(wù)器的硬件提供給在其之上運(yùn)行的虛擬機(jī),而且只消耗主機(jī)很少的物理資源,讓更多的虛擬機(jī)在上面運(yùn)行。而且,主機(jī)上并不包含常規(guī)操作系統(tǒng),所以不需要與虛擬機(jī)中運(yùn)行的操作系統(tǒng)以同樣的速率進(jìn)行修補(bǔ)和更新,這樣就保證了虛擬機(jī)最大可能地提高性能,最大限度地減少了對(duì)機(jī)器上承載的Hypervisor的影響,并且可以使得它們獲得接近在真實(shí)機(jī)上運(yùn)行的速度。Hypervisor不需要自己驅(qū)動(dòng),直接利用支持虛擬化的處理器,這樣Hypervisor可以做得很小,但效率很高。正是這些特點(diǎn),HardV在生產(chǎn)及企業(yè)級(jí)應(yīng)用中被普遍采用,是服務(wù)器虛擬化的最佳模式。兩種不同的服務(wù)器虛擬化模式,如圖1所示。
服務(wù)器虛擬化技術(shù)雖然可以在一套硬件平臺(tái)上運(yùn)行多個(gè)虛擬機(jī),提高資源利用率,但是該技術(shù)也存在一些安全隱患。由于多個(gè)虛擬機(jī)是共享硬件平臺(tái)的,惡意的虛擬機(jī)可能破壞同一平臺(tái)上其他虛擬機(jī)的運(yùn)行,甚至竊取、篡改數(shù)據(jù)讓其崩潰。在傳統(tǒng)方式中,不同的物理服務(wù)器是相互隔離的,不會(huì)相互影響,服務(wù)器受到的惡意攻擊基本源于網(wǎng)絡(luò),所以使用軟、硬件防火墻和殺毒軟件就能避免威脅,有效地保護(hù)服務(wù)器的安全。但是引入虛擬化技術(shù)后,多個(gè)虛擬機(jī)運(yùn)行在同一個(gè)物理服務(wù)器上,這樣惡意者就有機(jī)可乘,可以直接威脅其他虛擬機(jī)甚至是服務(wù)器。服務(wù)器虛擬化的安全目標(biāo)是讓多個(gè)虛擬機(jī)之間、虛擬機(jī)與服務(wù)器之間都能相互隔離,虛擬機(jī)進(jìn)程只能訪問與自己相關(guān)的文件而無權(quán)訪問其他系統(tǒng)文件,同樣的系統(tǒng)進(jìn)程也無權(quán)訪問虛擬機(jī)文件。
3 服務(wù)器虛擬化實(shí)驗(yàn)平臺(tái)應(yīng)用
3.1 需求分析
學(xué)校在培養(yǎng)應(yīng)用型人才時(shí),注重學(xué)生實(shí)踐動(dòng)手能力的培養(yǎng),因而非常重視實(shí)踐教學(xué)。開展實(shí)踐教學(xué)又離不開各種硬件設(shè)備構(gòu)成的實(shí)驗(yàn)平臺(tái)。目前計(jì)算機(jī)實(shí)驗(yàn)室現(xiàn)有環(huán)境不能支持多門類實(shí)驗(yàn)教學(xué)工作,無法滿足教學(xué)和教學(xué)實(shí)踐的需求。在教學(xué)資金有限的情況下,打造計(jì)算機(jī)實(shí)驗(yàn)虛擬化教學(xué)平臺(tái),保證學(xué)生的基礎(chǔ)學(xué)習(xí)需要,教師科研工作需要迫在眉睫。實(shí)驗(yàn)室需要利用少有的物理服務(wù)器和一套虛擬化軟件完成實(shí)驗(yàn)環(huán)境的搭建,并能支持多門課的實(shí)驗(yàn)教學(xué)工作和教師的科研工作。虛擬實(shí)驗(yàn)平臺(tái)要支持多操作系統(tǒng)同時(shí)共存、要有非常好的兼容性;結(jié)構(gòu)要簡(jiǎn)單,可以同時(shí)運(yùn)行多個(gè)彼此隔離的虛擬機(jī),每個(gè)虛擬機(jī)可以視為一個(gè)獨(dú)立的計(jì)算機(jī);能夠提供先進(jìn)的系統(tǒng)管理方案,能夠被輕松地部署、維護(hù)和管理。教師利用該教學(xué)平臺(tái),可以給不同的學(xué)生分配任務(wù),讓動(dòng)手能力強(qiáng)的學(xué)生獲得多個(gè)虛擬機(jī),讓學(xué)生在不同環(huán)境中做不同事情,有利于學(xué)生獲得更全面的鍛煉。
3.2 實(shí)驗(yàn)虛擬化平臺(tái)搭建
服務(wù)器虛擬化是最流行的一種虛擬化技術(shù),它讓操作系統(tǒng)不直接安裝在硬件上,讓業(yè)務(wù)服務(wù)器成為邏輯服務(wù)器,形成了邏輯層和物理層分離的結(jié)構(gòu),不僅可以方便地復(fù)用硬件資源,管理效率也大大提高。服務(wù)器虛擬化一般2種表現(xiàn)形式:第一種是將1臺(tái)物理服務(wù)器虛擬化為多臺(tái)邏輯服務(wù)器;第二種是將多臺(tái)物理服務(wù)器虛擬化為1臺(tái)邏輯服務(wù)器。在投入資金有限的情況下,計(jì)算機(jī)實(shí)驗(yàn)室可采用第一種形式,選用Citrix Xenserver服務(wù)器虛擬化平臺(tái)軟件構(gòu)建高效、靈活、易于管理和維護(hù)的計(jì)算機(jī)實(shí)驗(yàn)教學(xué)平臺(tái)。Citrix XenServer基于強(qiáng)大的Xen Hypervisor程序之上,可將物理服務(wù)器和存儲(chǔ)資源劃分成不同的資源池。XenServer可以高效地管理 Windows(R) 和 Linux(R)虛擬服務(wù)器。
為了充足利用教學(xué)資金和教學(xué)資源,必須選用性價(jià)比高的服務(wù)器。因此實(shí)驗(yàn)室盡可能選用那些性能強(qiáng)大、運(yùn)行穩(wěn)定、能耗低的處理器,這樣能夠降低成本。例如選用戴爾高性能服務(wù)器DeLL PowerEdge,運(yùn)用XenServer服務(wù)器虛擬化軟件將服務(wù)器虛擬成多個(gè)基本應(yīng)用平臺(tái)。Xen Server支持直接安裝在物理機(jī)上,不需要底層的操作系統(tǒng),但對(duì)于硬件有一定要求,安裝XenServer的服務(wù)器必須支持CPU硬件虛擬化技術(shù),且BIOS設(shè)置中CPU開啟IntelVT或AMD/V功能;計(jì)算機(jī)實(shí)驗(yàn)教學(xué)平臺(tái)搭建完成后,便可以針對(duì)不同的專業(yè)和不同的課程啟動(dòng)相應(yīng)的虛擬服務(wù),這些基本應(yīng)用平臺(tái)的數(shù)量和性能可以依據(jù)教學(xué)需要隨時(shí)更改。
虛擬化實(shí)驗(yàn)教學(xué)平臺(tái)構(gòu)造示意圖,如圖2所示。
4 安全性研究
4.1 存在問題
虛擬化技術(shù)給用戶帶來了很多便利,然而從安全角度來分析,卻又帶來了很多威脅。Hypervisor是虛擬機(jī)的核心層,因此虛擬機(jī)的安全研究也主要以Hypervisor為核心。
1) 當(dāng)系統(tǒng)引導(dǎo)的時(shí)候,Xen被裝載到0環(huán)的內(nèi)存中。它在1環(huán)上啟動(dòng)修補(bǔ)過的內(nèi)核,這被稱作Domain 0。但是Domain 0是主機(jī)上的管理系統(tǒng),用來管理主機(jī)的物理資源和虛擬化資源,Domain 0 需要在其它 Domain 啟動(dòng)之前啟,功能最強(qiáng)大,所以容易被惡意者攻擊,如果Domain 0癱瘓或者被攻破,那么整個(gè)虛擬機(jī)系統(tǒng)也被破壞掉。
2) Hypervisor是虛擬機(jī)的核心,它使計(jì)算機(jī)實(shí)現(xiàn)了虛擬化。Hypervisor是一個(gè)中間軟件層,是一種運(yùn)行在基礎(chǔ)物理服務(wù)器和操作系統(tǒng)之間的中間軟件層,允許不同的操作系統(tǒng)和應(yīng)用共享硬件。Hypervisor控制各種平臺(tái)資源,按照Domain0中設(shè)置的參數(shù)去設(shè)置虛擬機(jī),處理與虛擬化有關(guān)的操作。在虛擬服務(wù)器環(huán)境中,幾個(gè)虛擬機(jī)共享主機(jī)服務(wù)器上有限的資源。如果某個(gè)虛擬機(jī)過度消耗硬件資源,會(huì)導(dǎo)致其他虛擬機(jī)不能正常工作。這種情況下,攻擊者就容易對(duì)單個(gè)虛擬服務(wù)器發(fā)動(dòng)Dos攻擊。
3) 在有些架構(gòu)中,虛擬機(jī)直接連接到一個(gè)虛擬交換機(jī),該虛擬交換機(jī)再與物理網(wǎng)絡(luò)適配器連接。在這種情況下,每個(gè)虛擬機(jī)共享物理網(wǎng)絡(luò)適配器和虛擬交換機(jī)。如果多臺(tái)虛擬機(jī)共享一個(gè)虛擬交換機(jī),那么虛擬機(jī)之間可以直接通信,數(shù)據(jù)不通過物理網(wǎng)絡(luò),因此不能受硬件防火墻保護(hù)。
4. 2 安全防范措施
要確保良好的安全性,需要多管齊下。下面幾項(xiàng)措施可以用來保護(hù)虛擬化服務(wù)器環(huán)境。
1) 針對(duì)Domain 0的問題,可減弱它的功能,將它的功能分解到Domain1等域中,這樣可以減少Domain 0的瓶頸作用。
2) 在合理控制內(nèi)存資源消耗的情況下,不讓任何一臺(tái)虛擬機(jī)消耗過度的物理硬件資源。保證Hypervisor允許對(duì)虛擬機(jī)消耗的內(nèi)存和CPU時(shí)間進(jìn)行控制。
3) 創(chuàng)建虛擬防火墻或者在所有的虛擬機(jī)上安裝軟件防火墻。
5 結(jié)束語
服務(wù)器虛擬化技術(shù)是將服務(wù)器物理資源抽象成邏輯資源,將一臺(tái)服務(wù)器虛擬化成許多相互隔離的服務(wù)器,使用這種技術(shù)可以大大提高服務(wù)器的使用效率。該方式打破了傳統(tǒng)的將應(yīng)用部署在大量物理服務(wù)器上,利用虛擬化技術(shù)充分整合現(xiàn)有的服務(wù)器硬件資源,有效幫助解決高校實(shí)驗(yàn)室硬件資源利用率低、采購(gòu)成本高等問題。
參考文獻(xiàn):
[1]張志國(guó),服務(wù)器虛擬化安全風(fēng)險(xiǎn)及其對(duì)策研究[J].晉中學(xué)院學(xué)報(bào),2010,12(3):79-82.
[2]姜勇,服務(wù)器虛擬化技術(shù)在企業(yè)信息化中的應(yīng)用[J].計(jì)算機(jī)與信息技術(shù), 2008,8(10):23-25.
[3]秦中元,虛擬機(jī)系統(tǒng)安全綜述 [J].計(jì)算機(jī)應(yīng)用研究,2012,29(5):67-69.
[4]羅婕.服務(wù)器虛擬化技術(shù)在計(jì)算機(jī)實(shí)驗(yàn)室的實(shí)踐應(yīng)用[J].計(jì)算機(jī)時(shí)代,2010( 2) : 43-46.
[5]姜偉.服務(wù)器虛擬化在高校計(jì)算機(jī)實(shí)驗(yàn)室的應(yīng)用研究[J].實(shí)驗(yàn)技術(shù)與管理,2012,29(1):114-116.