複製鏈接
請複製以下鏈接發送給好友

Intel VT

鎖定
Intel VT即Intel公司的Virtualization Technology虛擬化技術
為解決純軟件虛擬化解決方案在可靠性、安全性和性能上的不足,Intel在它的硬件產品上引入了Intel VT(Virtualization Technology,虛擬化技術)。2005年8月,Intel首次公佈了針對硬件輔助虛擬化的Vanderpool(Intel VT虛擬化技術的前身)技術細節。Vanderpool技術通過增加新的指令,使得Intel處理器支持硬件虛擬化。2005年11月,Intel宣佈,虛擬化技術Vanderpool改成VT,被Acer和聯想應用在其基於Intel Pentium 4的PC上。
Intel VT可以讓一個CPU工作起來像多個CPU在並行運行,從而使得在一部電腦內同時運行多個操作系統成為可能。這種VT技術並不是一個新鮮事物,市面上已經有一些軟件可以達到虛擬多系統的目的,比如VMware workstation、Virtual PC等,使用這種技術就可以單CPU模擬多CPU並行,可以實現單機同時運行多操作系統
中文名
Intel的虛擬化技術
外文名
IntelVT
本    質
Intel公司的虛擬化技術
領    域
信息科學
擁有者
Intel公司
特    點
讓一個CPU工作起來像多個CPU在並行運行

Intel VT簡介

VT,就是虛擬化技術(Virtualization Technology)的縮寫。Intel VT就是指Intel的虛擬化技術。這種技術簡單來説就是可以讓一個CPU工作起來就像多個CPU並行運行,從而使得在一台電腦內可以同時運行多個操作系統。只有部分Intel 的CPU才支持這種技術。

Intel VT技術對比

IntelVT虛擬化技術和多任務(Multitasking)、Hyper-Threading超線程技術是完全不同的。多任務是指在一個操作系統中多個程序同時並行運行,而在虛擬化技術中,你可以擁有多個獨立的操作系統同時運行,每一個操作系統中都有多個程序運行,每一個操作系統都運行在一個虛擬的CPU或虛擬主機(虛擬機)上。而Hyper-Threading超線程只是在SMP系統(SymmetricMultiProcessing)中單CPU模擬雙CPU來平衡程序運行性能,這兩個模擬出來的CPU是不能分離的,只能協同工作。
當然了,如果一個CPU同時支持Hyper-Threading和虛擬化技術的話,每一個虛擬CPU在各自的操作系統中都被看成是兩個對稱多任務處理的CPU。

Intel VT技術發展

Intel VT最早出現

虛擬化技術可能讓人聯想到早期IntelCPU上的“Virtual8086”技術,這種V86模式技術是用來兼容早期的8086/8088處理器而設計的,最早出現386機器上。使用V86模式你可以創建好幾個並行虛擬8086計算機來運行多個DOS程序.同樣道理,使用VT技術你也可以創建幾個完整的虛擬機來運行幾個完整的操作系統

Intel VT改進原因

可是既然已經有VMware這類可以達到虛擬目的的軟件,為什麼還要努力來實現硬件CPU內部的虛擬化技術呢?這是因為硬件CPU的虛擬化技術有許多優勢。支持虛擬化技術的CPU帶有多餘的指令集來控制虛擬過程,通過這些指令集,控制軟件VMM(VirtualMachineMonitor)會很容易提高性能,相比純軟件的虛擬化實現方式,會在很大程度上提高性能。
IntelVT虛擬化技術的實施需要處理器、芯片組、BIOS、VMM軟件的同時支持,這些特定的硬件、軟件必須全部到位。性能要視不同的硬件、軟件而定。支持Intel虛擬化技術的VMM(Hypervisor)已有開源項目和版本,並在持續優化中,某些廠商也已推出了成熟的商用版本。Intel將硬件輔助虛擬化集成到主要的服務器組件中,幫助IT機構在每台服務器上整合更多的應用和更繁重的工作負載,從而進一步提高靈活性、可靠性並降低總體擁有成本TCO(TotalCostofOwnership)。 [1] 

Intel VT核心技術

IntelVT虛擬化技術包括分別針對處理器、芯片組、網絡的IntelVT-x、IntelVT-d和IntelVT-c技術:
1. IntelVT-x技術:增強處理器的VT虛擬化技術,包括IntelVTFlexPriority、IntelVTFlexMigration(Intel虛擬化靈活遷移技術)、ExtendedPageTables(IntelVT擴展頁表)。
IntelVT-x可以讓一個CPU工作起來像多個CPU在並行運行,從而使得在一台物理服務器內可以同時運行多個操作系統。能夠降低(甚至消除)多個虛擬機操作系統之間的資源爭奪和限制,從硬件上極大地改善虛擬機的安全性和性能,有助於提高基於軟件的虛擬化解決方案的靈活性與穩定性。IntelVT-x技術可以消除VMM(VirtualMachineMonitor虛擬機監視器)參與虛擬機“中斷”請求的處理與特定指令的執行,這樣VMM操作和控制虛擬機時,將更加快速、可靠和安全。
此外,IntelVT-x具備的虛擬機遷移特性還可為IT投資提供有力保護,並進一步提高故障切換、負載均衡、災難恢復和維護的靈活性。
IntelVTFlexPriority(靈活優先級):當處理器執行任務時,往往會收到其它設備或應用發出的請求或“中斷”命令。為了最大程度減少對性能的影響,處理器內的一個寄存器專用來監控任務優先級,只有優先級高於當前運行任務的請求或“中斷”才被及時處理。
IntelVTFlexMigration(靈活遷移):虛擬化能夠在無需停機的情況下,將運行中的虛擬機在物理服務器之間進行遷移。藉助此項技術,管理程序能夠在遷移池內的所有服務器中建立一套一致的指令,實現工作負載的無縫遷移。需注意的是,在不同廠商、不同型號的處理器之間遷移,可能由於指令集不同而出現故障或問題。
ExtendedPageTables(擴展頁表):為了降低實現內存虛擬化的難度和提升內存虛擬化的性能,ExtendedPageTables直接在硬件上支持虛擬機內存的邏輯地址->虛擬機內存的物理地址->物理服務器內存的物理地址的兩次轉換。
IntelVT-x已經擴展到了Intel多個產品系列中,包括Pentium、Celeron、Corei3、Corei5、Corei7、Core2Duo、CoreSolo、Core2Extreme、Core2Quad、Xeon、Quark、Atom、Itanium。
2. IntelVT-d技術:支持直接I/O訪問的IntelVT虛擬化技術。
如果每台服務器上部署更多的虛擬機,虛擬機數據進出系統的I/O流量就會增加並且更趨複雜。如果沒有硬件支持,VMM必須直接參與每項I/O操作,不僅會減緩數據傳輸速度,還會由於VMM的頻繁活動而增大服務器處理器的負載。這就如同在一個繁忙的停車場,每位車主都不得不通過獨一的進出口,並且只由獨一的門衞放行。這樣不僅會耽誤車主的時間,也會使門衞工作緊張無法處理其他事務。英特爾芯片組的IntelVT-d技術可以出色地解決上述問題。
IntelVT-d通過VMM將特定I/O設備安全分配給特定虛擬機來實現,從而減少VMM參與管理I/O流量的工作,不但加速了數據傳輸,而且消除了大部分的性能開銷。每個I/O設備在系統內存中都有一個專用區域,只有該I/O設備及分配到該設備的虛擬機才能對該內存區域進行訪問。
VMM完成初始分配之後,數據即可直接在虛擬機與為其分配的I/O設備之間進行傳輸。這樣,就加快了I/O的流動,減少VMM活動及服務器處理器的負載。此外,由於特定設備或虛擬機的I/O數據內存區不能被其它硬件或虛擬機訪問,系統的安全性與可用性也得到了增強。
3. IntelVT-c技術:支持網絡連接的Intel虛擬化技術,包括虛擬機設備隊列(VMDq)、虛擬機直接互連(VMDc)。
隨着企業在虛擬化環境中部署越來越多的應用,並利用實時遷移來均衡負載或提升可用性,對虛擬化I/O設備的要求也在顯著提高。通過將廣泛的硬件輔助特性集成到I/O設備(該設備用於保持服務器與數據中心網絡、存儲基礎設施及其它外部設備的連接)中,IntelVT-c可針對虛擬化進一步優化網絡。這套技術組合的功能與郵局非常相似:將收到的信件、包裹分門別類,然後投遞到各自的目的地。IntelVT-c在專用網絡芯片上執行這些功能,大幅提高了交付速度,減少了VMM與服務器處理器的負載。IntelVT-c包括以下兩項關鍵技術(當前所有的英特爾萬兆服務器網卡及千兆服務器網卡均支持)。
虛擬機設備隊列(VMDq):最大限度提高I/O吞吐率。在傳統服務器虛擬化環境中,VMM必須對每個單獨的數據包進行分類,並將其發送到相應的虛擬機。這樣會佔用大量的處理器週期。而藉助VMDq,該分類功能可由英特爾服務器網卡內的專用硬件來執行,VMM只需負責將預分類的數據包組發送到相應的虛擬機。這將降低I/O延遲,使處理器獲得更多的可用週期來處理業務應用。IntelVT-c可將I/O吞吐量提高一倍以上,使虛擬化應用達到接近物理服務器的吞吐率。
虛擬機直接互連(VMDc):大幅提升虛擬化性能。VMDc支持虛擬機直接訪問網絡I/O硬件,從而顯著提升虛擬機性能。如:通過單個英特爾萬兆服務器網卡,可為10個虛擬機中的每個虛擬機分配一個受保護的、1Gb/s的專用鏈路。這些通信鏈路直接繞過了VMM交換機,進一步提升了I/O性能並減少服務器處理器的負載。 [2] 
參考資料
  • 1.    林昆. 基於Intel VT-d技術的虛擬機安全隔離研究[D]. 上海交通大學, 2011.
  • 2.    郝旭東. Intel VT-d技術的研究及其在KVM虛擬機上的實現[D]. 電子科技大學, 2009.