前言:本站為你精心整理了虛擬化技術研究范文,希望能為你的創作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。
編者按:本論文主要從純軟件的虛擬化技術原理;硬件輔助虛擬化技術原理;虛擬化技術的應用領域等進行講述,包括了服務器的虛擬化、構建開發和測試環境、處理器VT技術由處理器生產商從硬件的角度來實現、一個虛擬機與一臺物理計算機的不同之處在于前者是一種技術規范等,具體資料請見:
摘要:本文論述了當前流行的純軟件虛擬化技術原理和具有廣闊應用前景的硬件輔助虛擬化技術原理以及虛擬化技術的應用領域,對于關心和有志于從事虛擬化技術運用的讀者來說無疑是有益的。
關鍵詞:虛擬化技術虛擬機
虛擬化技術(VirtualizationTechnology,簡稱VT技術)最早起源于20世紀70年代IBM研究中心在實驗室中實現的主機鏡像,在隨后的20多年時間里,該技術主要部署在巨型、大型和中型計算機中,隨著互聯網絡技術、計算機技術特別是基于x86CPU的微型計算機的普及和應用需求的不斷發展,虛擬化技術正在從日趨成熟的主流的服務器虛擬化、存儲虛擬化技術蔓延到網絡的各個角落,作為一種高速發展的技術,虛擬化自然有著其本身非常強大的優勢,技術發展的背后更蘊藏著一個巨大的市場!
所謂虛擬化技術,是指將一臺物理的計算機軟件環境分割為多個獨立分區,每個分區均可以按照需求模擬出一臺完整計算機的技術。模擬出來的計算機稱為虛擬機(VirtualMachine,簡稱VM)。虛擬化技術的實質是通過中間層次實現計算機資源的管理和再分配,實現資源利用的最大化,虛擬化分區帶來的最大好處是使同一物理平臺能夠同時運行多個同類或不同類型的操作系統,以分別作為不同業務和應用的支撐平臺。
實現虛擬化的技術主要有純軟件的虛擬化技術和硬件輔助虛擬化技術兩種。前者是當前主流的虛擬化技術,具有成熟的應用,硬件輔助虛擬化技術是今后的發展方向。
1純軟件的虛擬化技術原理
傳統的計算機層次結構分為三層,即硬件層(HardwareLayer)、主機操作系統層(HostOSLayer)和應用層(ApplicationLayer),在這種結構中,主機操作系統統一控制、管理和分配整個計算機的硬件和軟件資源,這種結構的缺點在于:①未能充分發揮CPU的性能,利用率較低,如單核CPU的利用率在50%以下,雙核CPU的平均使用效率不到30%,多核CPU的使用效率就更低了;②一臺計算機無法滿足同時運行多平臺的應用需求,解決方案是增加計算機數量,這無疑將增加投資成本!③計算機的存儲系統、IO系統長時間處于“閑”的狀態,性能未能充分發揮出來。
采用純軟件的虛擬化技術可以解決上述問題,在這種結構模式下,硬件層之上仍然安裝被稱為HOSTOS的系統,在其上部署虛擬機軟件(VirtualMachineSoftware,簡稱VMS),根據實際應用需求,VMS可以將物理計算機虛擬出多個分區,每一個分區稱為一個虛擬機(VirtualMachine,簡稱VM)。一個虛擬機與一臺物理計算機的不同之處在于前者是一種技術規范,這類技術規范由一系列規則構成,與具體的計算機無關,軟件工程師可以采用任何他自已認為適當的手段來實現這些規則。虛擬機(VM)具有完整的計算機應用環境,包括硬件層(由VMS提供)、驅動接口層(由VMS提供)、操作系統(GuestOSLayer)及應用層(Applications),都是建立在計算機的應用環境上,屬于用戶級軟件。
這種虛擬化技術實現的關鍵在于VMS,由于X86處理器在保護模式下一共有4個不同的優先級,即Ring0、Ring1、Ring2和Ring3,其中Ring0的優先級最高,Ring3最低。Ring0用于操作系統內核,Ring1和Ring2用于操作系統服務,Ring3用于應用程序。位于Ring0特權空間的操作系統可以優先訪問各種硬件資源。VMS騙過HOSTOS直接調用Ring0來控制和排列各個分區(虛擬機)訪問硬件資源的優先順序,它要求在軟件堆棧的較高層運行操作系統,通常是在Ring1或者與系統應用共用Ring3。
基于這一技術實現的主流VMS有VMware的Workstation、Microsoft的VirtualPC和HP的xVMVirtualBox等。這些軟件在近年來得到了迅速的推廣和應用。但是,純軟件方式實現的虛擬機在測試、驗證和管理維護方面比較費時,同時二進制碼的翻譯需要消耗處理器的很多計算資源,因此,純軟件虛擬化運行時的開銷會造成系統運行速度變慢,有數據表明其引起的系統性能下降可能達5%~20%。
2硬件輔助虛擬化技術原理
硬件輔助虛擬化技術最早起源于2005年8月Intel公布的Vanderpool技術,同年11月更名為VT技術,2006年2月進入測試階段,同年3月了一套新的VT技術規范。該技術規范應用于PC和服務器系統,包括處理器VT技術和IO虛擬分配技術(IntelVT-d)。Intel和AMD公司在最近幾年的CPU產品中都集成了VT技術,為進一步推動和發展虛擬化計算環境提供了硬件支持。
①最底層是支持VT技術的硬件層(包括處理器VT技術和IO虛擬分配技術IntelVT-d),而純軟件虛擬化的計算機層次結構中硬件層是不支持VT技術的;②最底層外面去掉HOSTOS層改用VMM層來代替,VMM是VirtualMachineMonitor的縮寫,稱為虛擬機監視器,它的功能是直接管理和控制諸如處理器、存儲系統、芯片組、IO設備等計算機硬件資源的同時為應用提供虛擬環境;③VMM層外面是VM(VirtualMachine)層,該層同純軟件虛擬的VM(圖2中由GuestOSLayer和Applications構成)一樣為用戶提供滿足應用需求的VM計算環境,用戶在VM上可以完成一臺物理計算機的全部功能。
處理器VT技術由處理器生產商從硬件的角度來實現,具有設計簡單、實施效率高、可靠的特點,它對如何在不同的情形下分配給VM中的GuestOS想要的Ring特權級別做了較大的改進和優化。該技術在處理器內部增加了10條額外的指令集VMX(VirtualMachineExtensions):VMPTRLD、VMPTRST、VMCLEAR、VMREAD、VMWRITE、VMCALL、VMLAUCH、VMRESUME、VMXOFF和VMXON,VMM一方面調用這些指令使得處理器支持硬件虛擬化,另一方面則由VMM對虛擬機進行連續不間斷的監視和管理。
IO虛擬分配技術IntelVT-d是指在向VM分配I/O設備時,提供硬件支持,從而提升虛擬化環境中數據移動的穩定性,此規范補充了PCISIGI/O虛擬工作組正在推動的工作,該工作組獲得了業界的廣泛支持。
虛擬狀態下有兩種工作模式:root操作模式和非root操作模式。只有VMM能夠運行在root操作模式下,而VM的GuestOS在虛擬機的頂層運行在非root操作模式下。要進入虛擬模式,VMM需要執行VMXON指令來調入VMM軟件,VMM軟件使用VMLAUNCH指令來進入每一個虛擬機,使用VMRESUME指令來退出。如果想要退出虛擬模式,可以讓VMM運行VMXOFF指令即可。只要VMM支持,在圖4中的每個VM系統可以安裝和運行任何類型的操作系統,同時運行自身的應用軟件。
由于虛擬化硬件可提供全新的架構,在硬件層和VMM之間省掉了宿主操作系統(HOSTOS),直接支持操作系統在VMM上面運行,從而無須進行二進制轉換,減少了相關的硬件開銷,極大地簡化了VMM設計,進而使VMM能夠按通用標準進行編碼,計算機性能得到了更大的提高。
目前,盡管Intel和AMD公司已經推出支持VT技術的處理器,但基于硬件輔助的虛擬化技術的VMM軟件還在研發之中,要真正實現該技術,需要處理器、芯片組、BIOS、VMM軟件的同時支持。可喜的是,Intel和VMware等廠商已經著手在研發之中了。
3虛擬化技術的應用領域
虛擬化技術的主要應用領域有:
3.1服務器的虛擬化。服務器虛擬化具有如下的特點:①減少服務器的數量,提供一種服務器整合的方法,減少初期硬件采購成本;②簡化服務器的部署、管理和維護工作,降低管理費用;③提高服務器資源的利用率,提高服務器計算能力;④通過降低空間、散熱以及電力消耗等途徑壓縮數據中心成本,通過動態資源配置提高業務的靈活適應能力;⑤提高可用性,具有透明負載均衡、動態遷移、故障自動隔離、系統自動重構的高可靠服務器應用環境;⑥支持異構操作系統的整合,支持舊應用的持續運行;⑦在不中斷用戶工作的情況下進行系統更新;⑧快速轉移和復制虛擬服務器,提供一種簡單便捷的災難恢復解決方案。
3.2構建開發和測試環境。目前,很多軟件開發商需要在各種操作系統的測試環境中來測試新開發的軟件,找出不同版本操作系統之間的兼容性等問題,采用虛擬化技術完全能滿足這一需要,軟件測試工程師可以在很短的時間內,使用更少的資源,準備好測試環境,既節省資金,還提供了更大的靈活性,節省了時間成本。