Intel VT-d

Intel VT-d,VT-d進行的改動還有很多,如硬體緩衝、地址翻譯等,通過這些種種措施,VT-d實現了北橋晶片級別的I/O設備虛擬化。VT-d最終體現到虛擬化模型上的就是新增加了兩種設備虛擬化方式:

直接I/O設備分配, 虛擬機直接分配物理I/O設備給虛擬機,這個模型下,虛擬機內部的驅動程式直接和硬體設備直接通信,只需要經過少量,或者不經過VMM的管理。為了系統的健壯性,需要硬體的虛擬化支持,以隔離和保護硬體資源只給指定的虛擬機使用,硬體同時還需要具備多個I/O容器分區來同時為多個虛擬機服務,這個模型幾乎完全消除了在VMM中運行驅動程式的需求。例如CPU,雖然CPU不算是通常意義的I/O設備——不過它確實就是通過這種方式分配給虛擬機,當然CPU的資源還處在VMM的管理之下。

運用VT-d技術,虛擬機得以使用直接I/O設備分配方式或者I/O設備共享方式來代替傳統的設備模擬/額外設備接口方式,從而大大提升了虛擬化的I/O性能。

VT-d技術:
我們知道對於伺服器而言,很重要的一個組成部分就I/O,CPU的計算能力提升雖然可以更快地處理數據,但是前提是數據能夠順暢的到達CPU,因此,無論是存儲,還是網路,以及圖形卡、記憶體等,I/O能力都是企業級架構的一個重要部分。為此,人們不但在傳輸頻寬上投資(比如從百兆乙太網到千兆乙太網再到萬兆乙太網),還在各種系統和架構上進行了大量的投入(比如吞吐量更高的RAID系列、多層數據中心)
I/O虛擬化的關鍵在於解決I/O設備與虛擬機數據交換的問題,而這部分主要相關的是DMA直接記憶體存取,以及IRQ中斷請求,只要解決好這兩個方面的隔離、保護以及性能問題,就是成功的I/O虛擬化。和處理器上的Intel VT-i和VT-x一樣,Intel VT-d技術是一種基於North Bridge北橋晶片的硬體輔助虛擬化技術,通過在北橋中內置提供DMA虛擬化和IRQ虛擬化硬體,實現了新型的I/O虛擬化方式,Intel VT-d能夠在虛擬環境中大大地提升 I/O 的可靠性、靈活性與性能。
傳統的IOMMUs(I/O memory management units,I/O記憶體管理單元)提供了一種集中的方式管理所有的DMA——除了傳統的內部DMA,還包括如AGP GART、TPT、RDMA over TCP/IP等這些特別的DMA,它通過在記憶體地址範圍來區別設備,因此容易實現,卻不容易實現DMA隔離,因此VT-d通過更新設計的IOMMU架構, 實現了多個DMA保護區域的存在,最終實現了DMA虛擬化。這個技術也叫做DMA Remapping。
I/O設備會產生非常多的中斷請求,I/O虛擬化必須正確地分離這些請求,並路由到不同的虛擬機上。傳統設備的中斷請求可以具有兩種方式:一種將通過I/O中斷控制器路由,一種是通過DMA寫請求直接傳送出去的MSI(message signaled interrupts,訊息中斷),由於需要在DMA請求內嵌入目標記憶體地址,因此這個架構須要完全訪問所有的記憶體地址,並不能實現中斷隔離VT-d實現的中斷重映射(interrupt-remapping)架構通過重新定義MSI的格式來解決這個問題,新的MSI仍然是一個DMA寫 請求的形式,不過並不嵌入目標記憶體地址,取而代之的是一個訊息ID,通過維護一個表結構,硬體可以通過不同的訊息ID辨認不同的虛擬機區域。VT-d實現 的中斷重映射可以支持所有的I/O源,包括IOAPICs,以及所有的中斷類型,如通常的MSI以及擴展的MSI-X。
開啟VT虛擬支持沒有任何影響,只是讓電腦可以運行虛擬機而已。
開啟步驟:
1、開機進入BIOS,找到advanced-secure virtual machine mode,選擇為enable。
2、打開任務管理器。
3、虛擬化顯示開啟。

相關詞條

熱門詞條

聯絡我們