李 昕,吳劍平
(1.天水風(fēng)動(dòng)機(jī)械有限責(zé)任公司,甘肅 天水 741020;2.蘭州理工大學(xué)計(jì)通學(xué)院,甘肅 蘭州 730030)
虛擬化(Virtualization)技術(shù)最早出現(xiàn)于20 世紀(jì)60 年代的IBM 大型機(jī)系統(tǒng), 當(dāng)時(shí)IBM 發(fā)明了一種技術(shù),允許在一臺(tái)主機(jī)上通過(guò)執(zhí)行虛擬機(jī)監(jiān)控器(Virtual Machine Monitor,VMM) 程序在物理硬件上生成許多可以運(yùn)行獨(dú)立操作系統(tǒng)軟件的虛擬機(jī)(Virtual Machine),讓用戶能充分利用大型機(jī)昂貴的資源。
隨著X86 處理器的應(yīng)用普及和性能提升,虛擬化技術(shù)開(kāi)始導(dǎo)入X86 平臺(tái)。2005 年11 月, 英特爾發(fā)布了Xeon MP 處理器系統(tǒng)7000 系列,X86 平臺(tái)歷史上第一個(gè)硬件輔助虛擬化技術(shù)VT(Vanderpool Technology)誕生。
進(jìn)入 2006 年, 從處理器巨頭 AMD 和Intel、網(wǎng)絡(luò)霸主 Cisco 和 3com,到微軟的加入,從眾多的第三方軟件廠商的涌現(xiàn)到服務(wù)器系統(tǒng)廠商的高調(diào)推廣,一個(gè)趨于完整的虛擬化產(chǎn)業(yè)生態(tài)系統(tǒng)正在逐漸形成,虛擬化開(kāi)始成為廣受關(guān)注的熱點(diǎn)話題。
虛擬化是一個(gè)廣義的術(shù)語(yǔ),在計(jì)算機(jī)科學(xué)領(lǐng)域,虛擬化是一種方法,代表對(duì)計(jì)算資源的抽象。 本質(zhì)上是指從邏輯角度對(duì)資源進(jìn)行配置,是物理實(shí)際的邏輯抽象。 是一種從單一的邏輯角度看待不同物理資源 (硬件、軟件、數(shù)據(jù)、網(wǎng)絡(luò)、存儲(chǔ))的方法。
對(duì)于用戶,虛擬化技術(shù)實(shí)現(xiàn)了軟件跟硬件分離,不用考慮后臺(tái)的具體硬件實(shí)現(xiàn),只需在虛擬層運(yùn)行自己的系統(tǒng)和軟件,這些系統(tǒng)和軟件在運(yùn)行時(shí)跟后臺(tái)的物理平臺(tái)無(wú)關(guān)。
從原理上看, 虛擬技術(shù)虛擬的是指令集。所有的IT 設(shè)備,不管是PC、服務(wù)器還是存儲(chǔ),都有一個(gè)共同點(diǎn):它們被設(shè)計(jì)用來(lái)完成一組特定的指令。 這些指令組成一個(gè)指令集。 對(duì)于虛擬技術(shù)而言,“虛擬”就是指模擬實(shí)現(xiàn)這些指令集。
虛擬化技術(shù)主要分為以下幾類:
1.3.1 平臺(tái)虛擬化(Platform Virtualization)
針對(duì)計(jì)算機(jī)(主要指服務(wù)器)和操作系統(tǒng),通過(guò)使用控制程序(Control Program,也被稱為 Virtual Machine Monitor 或 Hypervisor), 隱藏特定計(jì)算平臺(tái)的實(shí)際物理特性,為用戶提供抽象、 統(tǒng)一、 模擬的計(jì)算環(huán)境(稱為虛擬機(jī)Virtual Machine)。 虛擬機(jī)中運(yùn)行的操作系統(tǒng)被稱為Guest OS(客戶機(jī)操作系統(tǒng)),運(yùn)行虛擬機(jī)監(jiān)控器的操作系統(tǒng)(某些虛擬機(jī)監(jiān)控器可以直接運(yùn)行在硬件)被稱為Host OS(主機(jī)操作系統(tǒng))。
平臺(tái)虛擬化又可分為如下幾類:
(1)全虛擬化(Full Virtualization)
可模擬完整的底層硬件, 包括處理器、物理內(nèi)存、時(shí)鐘、外設(shè)等,操作系統(tǒng)及其它系統(tǒng)軟件不做任何修改就可以在虛擬機(jī)中運(yùn)行。 代表產(chǎn)品有 Microsoft Virtual PC、VMware Workstation、Virtual Box 等 。
(2) 超虛擬化(Para virtualization)
部分硬件接口以軟件的形式提供給Guest OS, 通 過(guò) Hyper call (VMM 提 供 給Guest OS 的直接調(diào)用)的方式來(lái)提供。 代表產(chǎn)品有 Denali、Xen 和 L4。
(3)硬件輔助虛擬化(Hardware-Assisted Virtualization)
借助硬件(主要是CPU)的支持來(lái)實(shí)現(xiàn)高效的全虛擬化。 Intel-VT 和 AMD-V 是x86 體系結(jié)構(gòu)上可用的兩種技術(shù)。
(4)部分虛擬化(Partial Virtualization)
VMM 只模擬部分底層硬件,Guest OS需作適應(yīng)性修改, 否則無(wú)法在虛擬機(jī)上運(yùn)行。
(5) 操作系統(tǒng)級(jí)虛擬化(Operating System Level Virtualization)
一種在服務(wù)器操作系統(tǒng)中使用的輕量級(jí)虛擬化技術(shù),內(nèi)核通過(guò)創(chuàng)建多個(gè)虛擬的操作系統(tǒng)實(shí)例 (內(nèi)核和庫(kù)) 來(lái)隔離不同的進(jìn)程,不同實(shí)例中的進(jìn)程完全不知道對(duì)方的存在。 比較著名的有 Solaris Container、FreeBSD Jail 和 OpenVZ 等。
1.3.2 資源虛擬化(Resource Virtualization)
針對(duì)特定系統(tǒng)資源的虛擬化, 如內(nèi)存、存儲(chǔ)、網(wǎng)絡(luò)資源等。
1.3.3 應(yīng)用程序虛擬化(Application Virtualization)
包括仿真、模擬、解釋技術(shù)等。
上述分類方法并不是絕對(duì)的,優(yōu)秀的虛擬化軟件往往融合了上述多項(xiàng)技術(shù)。
通常所說(shuō)的虛擬化主要是指平臺(tái)虛擬化中的服務(wù)器虛擬化[1]。
(1)降低管理成本,提高工作效率
虛擬化技術(shù)可通過(guò)如下途徑實(shí)現(xiàn)上述目標(biāo):
減少被管理物理資源的數(shù)量;隱藏物理資源的部分復(fù)雜性;通過(guò)自動(dòng)化、信息優(yōu)化和中央管理來(lái)簡(jiǎn)化公共管理任務(wù);實(shí)現(xiàn)負(fù)載管理自動(dòng)化。 另外,虛擬化技術(shù)還支持在多個(gè)平臺(tái)上使用公共的工具。
(2)提升使用靈活性
通過(guò)動(dòng)態(tài)的資源部署和重配置來(lái)滿足不斷變化的業(yè)務(wù)需求。
(3)安全性能加強(qiáng)
通過(guò)共享機(jī)制無(wú)法實(shí)現(xiàn)的隔離和劃分來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)和服務(wù)進(jìn)行安全可控的訪問(wèn)。另外由于應(yīng)用程序和所訪問(wèn)的數(shù)據(jù)處于集中管理和維護(hù)之下,對(duì)數(shù)據(jù)的訪問(wèn)可以被輕易地監(jiān)測(cè)和控制,從而避免數(shù)據(jù)被攻擊或竊取。
(4)可用性增強(qiáng)
在用戶不受影響的情況下對(duì)物理資源進(jìn)行刪除、升級(jí)或改變。
(5)更高的可擴(kuò)展性
資源分區(qū)和匯聚可支持實(shí)現(xiàn)比個(gè)體物理資源小得多或大得多的虛擬資源,即可以在不改變物理資源配置的情況下進(jìn)行規(guī)模調(diào)整。
(6)互操作性和投資保護(hù)
虛擬資源可提供底層物理資源無(wú)法提供的與各種接口和協(xié)議的兼容性。極大地降低了應(yīng)用程序因終端設(shè)備、網(wǎng)絡(luò)或遠(yuǎn)程接入場(chǎng)所的特性所帶來(lái)的不兼容風(fēng)險(xiǎn)。
(7)資源供應(yīng)改進(jìn)
與個(gè)體物理資源單位相比,虛擬技術(shù)能夠以更小的單位進(jìn)行資源分配[2]。
同樣, 基于虛擬化技術(shù)的工作原理,該技術(shù)也存在著較為明顯的問(wèn)題, 主要表現(xiàn)在:
(1)可靠性
如果物理系統(tǒng)出問(wèn)題或被攻克,那么其所管理的虛擬系統(tǒng)均有可能出問(wèn)題或被攻擊。
(2)性能降低
由于生成虛擬系統(tǒng)極其方便,如果技術(shù)人員隨心所欲地產(chǎn)生虛擬系統(tǒng),將嚴(yán)重影響物理系統(tǒng)的性能。
(3)許可證成本
虛擬系統(tǒng)數(shù)量增加,用戶購(gòu)買(mǎi)許可證的成本和管理難度相應(yīng)增加。
(4)系統(tǒng)維護(hù)難度
在虛擬系統(tǒng)出問(wèn)題時(shí),首先需判斷是虛擬系統(tǒng)還是物理系統(tǒng)的問(wèn)題,增加了系統(tǒng)維護(hù)的復(fù)雜性。
(5)技術(shù)人員成本
技術(shù)人員數(shù)量雖然有所降低,但是對(duì)其技能要求卻更高,相應(yīng)地增加了企業(yè)人力資源成本。
(6)應(yīng)用工具
目前的應(yīng)用工具主要支持物理環(huán)境。實(shí)施虛擬化后, 應(yīng)用工具必須能夠運(yùn)行在虛擬系統(tǒng)上。 這對(duì)開(kāi)發(fā)者和用戶無(wú)疑都是一個(gè)不可忽視的難題。
在國(guó)內(nèi),虛擬化已從概念推廣逐步進(jìn)入到應(yīng)用階段,其應(yīng)用范圍日漸寬泛。
IDC 季度監(jiān)測(cè)數(shù)據(jù)顯示, 從 2009 年下半年開(kāi)始,中國(guó)服務(wù)器虛擬化滲透率(即運(yùn)行虛擬化軟件的服務(wù)器占服務(wù)器出貨量比例)已經(jīng)超過(guò)了10%。
來(lái)自Gartner 的數(shù)據(jù)統(tǒng)計(jì)稱 2009 年下半年至少有16%的企業(yè)級(jí)負(fù)載運(yùn)行在虛擬服務(wù)器上, 且該比例到2012 年有望增長(zhǎng)到50%,這意味著以X86 為基礎(chǔ)的虛擬機(jī)將達(dá)到約5800 萬(wàn)個(gè)。
IDC 還發(fā)現(xiàn)虛擬化技術(shù)和高端x86 服務(wù)器捆綁的趨勢(shì)更加明顯。很多服務(wù)器廠商將虛擬化軟件預(yù)裝在刀片服務(wù)器或四路以上的X86 服務(wù)器中提供給用戶。
總的來(lái)說(shuō),國(guó)內(nèi)應(yīng)用較好的行業(yè)及用戶特點(diǎn)如下:
(1)銀行
應(yīng)用態(tài)度最積極, 得到技術(shù)支持最多,較為熟悉虛擬化, 期待程度和應(yīng)用評(píng)價(jià)最高。 特點(diǎn)是對(duì)成本敏感度低,對(duì)虛擬技術(shù)的安全性和使用效率關(guān)注度高。
(2)政府部門(mén)
應(yīng)用不如銀行用戶熟練,但通過(guò)技術(shù)人員的努力,仍能以最低的TCO(Total Cost of Ownership, 總體擁有成本)獲得最多的計(jì)算性能。 特點(diǎn)是對(duì)預(yù)算較敏感,對(duì)系統(tǒng)效率提高感興趣。
(3)科研單位
隨著數(shù)據(jù)計(jì)算量的加大,需要使用虛擬化技術(shù)來(lái)提高系統(tǒng)使用效率。這類用戶對(duì)預(yù)算敏感度高,對(duì)虛擬化不是特別了解。
(4)計(jì)算中心
大多采用高性能計(jì)算機(jī)集群,特點(diǎn)是對(duì)計(jì)算性能和系統(tǒng)穩(wěn)定性要求很高,對(duì)系統(tǒng)管理控制要求較多,對(duì)預(yù)算敏感度低。
但從調(diào)查中也可以看出, 除上述行業(yè)外,國(guó)內(nèi)虛擬化技術(shù)的應(yīng)用與歐洲、北美等地區(qū)相比,不論從深度還是廣度上均存在著較大差距,主要表現(xiàn)在:
(1)大多數(shù)用戶(接近 70%)對(duì)虛擬化的了解和認(rèn)知程度較膚淺。
(2)成熟方案和成功案例較少,且集中在較少的幾個(gè)行業(yè),不具有廣泛的指導(dǎo)意義和示范作用。
(3)人才短缺,用戶實(shí)施虛擬化的信心不足。
(4)可投入部署和實(shí)施虛擬化的預(yù)算資金有限。
(5)中小企業(yè)基本上沒(méi)有虛擬化的規(guī)劃或設(shè)想。
(6)出于安全和保密的需求,相當(dāng)一部分用戶無(wú)法實(shí)施虛擬化。
總之, 虛擬化技術(shù)在實(shí)際應(yīng)用的過(guò)程中,受限于國(guó)情、政策、資金、技術(shù)等諸多方面因素的影響, 其發(fā)展可以說(shuō)是任重而道遠(yuǎn)[3]-[4]。
(1)理解虛擬化的優(yōu)缺點(diǎn)
在將物理系統(tǒng)遷移到虛擬系統(tǒng),或部署新的虛擬系統(tǒng)之前, 務(wù)必了解虛擬化在CPU 的利用率、 內(nèi)存和磁盤(pán)方面的限制和其它實(shí)際問(wèn)題。
(2)了解不同的系統(tǒng)性能瓶頸不同
在部署虛擬系統(tǒng)時(shí),必須像對(duì)待物理系統(tǒng)一樣考慮其所承擔(dān)的角色。 在評(píng)估虛擬系統(tǒng)的配置時(shí),需采用與部署物理系統(tǒng)一樣的設(shè)計(jì)方法。
(3)應(yīng)用的特征是什么,是計(jì)算密集,還是網(wǎng)絡(luò)密集? 不同的特征,虛擬化要求完全不同。
(4)虛擬化與實(shí)際投入物理系統(tǒng)的預(yù)算是否進(jìn)行了比較? 是否虛擬化更節(jié)約成本?因?yàn)檫w移有成本和代價(jià),必須對(duì)虛擬化的成本進(jìn)行仔細(xì)核算。
值得一提的是,由于企業(yè)級(jí)虛擬化產(chǎn)品的許可證價(jià)格不菲,對(duì)于廣大的中小企業(yè)用戶來(lái)說(shuō),在部署虛擬化前進(jìn)行細(xì)致的調(diào)研及分析工作,并根據(jù)自身實(shí)際需求,選擇一些能夠滿足企業(yè)需求且費(fèi)用較低或免費(fèi)的虛擬化產(chǎn)品,以減少實(shí)施虛擬化帶來(lái)的資金壓力,也不失為一條可行之道[5]。
(1)重視虛擬系統(tǒng)的管理、打補(bǔ)丁和安全性
(2)除非絕對(duì)必要,切勿將虛擬系統(tǒng)與物理系統(tǒng)區(qū)別對(duì)待
(3)及早備份,經(jīng)常備份
(4)謹(jǐn)慎使用“撤消”技術(shù)
(5)了解故障轉(zhuǎn)移和規(guī)模擴(kuò)展戰(zhàn)略
(6)控制虛擬機(jī)的泛濫
(7)集中存儲(chǔ)
(8)了解安全范圍,加強(qiáng)安全性管理
總之,在實(shí)施虛擬化時(shí)可能會(huì)遇到許多新的難題,用戶需要在實(shí)施虛擬化之前進(jìn)行詳細(xì)、周密的考慮。
由于用戶的旺盛需求極大地刺激了虛擬化技術(shù)的創(chuàng)新,再加上開(kāi)源軟件的發(fā)展進(jìn)一步帶動(dòng)了該技術(shù)的應(yīng)用,使其發(fā)展更加迅猛,新概念、新技術(shù)、新應(yīng)用層出不窮,使得虛擬化技術(shù)正處于一個(gè)蓬勃發(fā)展的時(shí)期,展望未來(lái),它必將給用戶帶來(lái)更多收益。
[1]David Chappell.Windows 虛 擬 化: 技 術(shù) 概 覽[M].微軟 microsoft 公司,2007.
[2]Thomas Burger.在企業(yè)中使用虛擬化技術(shù)的優(yōu)勢(shì)[Z].http://www.intel.com/technology/virtualization/.
[3]陳小軍,張璟.虛擬化技術(shù)及其在制造業(yè)信息化中的應(yīng)用綜述[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(23).
[4]中國(guó)虛擬化技術(shù)及應(yīng)用現(xiàn)狀調(diào)查[A].中國(guó)虛擬化技術(shù)網(wǎng)絡(luò)大會(huì)[C].2009.
[5]威睿 VMWARE 公司.虛擬化的優(yōu)勢(shì):現(xiàn)在為什么是IT 的遷移時(shí)機(jī)[Z].2009.