Intel 所推出含有 VT 的技術包括了下面幾項.
從一開始的虛擬化 VT 之後又有很多和 VT 相關的名詞,如 VT-x ,VT-i ,VT-d ,VT-c ,VMDc ,VMDq 這些全都是和虛擬化有關,不過在功能上有很大的不同.
- VT-x 屬於 IA-32 和 Intel 64架構的由 CPU 來支援
- VT-i 屬於 Itanium 架構的由 CPU 來支援
- VT-d 屬於 Intel VT for Directed I/O 由北橋晶片來支援
- VT-c 屬於 Virtualization Technology for Connectivity 要由 I/O 裝置來支援
- VMDc Virtual Machine Direct Connect
- VMDq Virtual Machine Device Queues
圖片出自於 http://softwarecommunity.intel.com/isn/downloads/Virtualization.pdf
- VT-x 這是屬於 IA-32 和 Intel 64 架構的
- VT-i 這是屬於 Itanium 架構的
Intel 為了解決 Guest OS 的核心無法處在 Ring 0 所以將 CPU 的操作畫分成兩種不同等級的 forms(類型)一是 VMX root operation(根虛擬化操作),也有人會將這一層解釋成 Ring -1(負一) 不過在實際上的名稱還是稱為 VMX root operation.這邊就是提供給 VMM(Virtual Machine Monitor) 也可以稱作 Hybervisor 來使用,二是 VMX non-root operation(非根虛擬化操作) 這邊就可以提供給 Guest OS 來使用,並以傳統的方式將 Ring 劃分為 4 個等級(Privileges levels).此時 Guest OS 的核心就可以在 Ring 0 下操作,也不會有效能上的損益( overhead )的問題了.
https://benjr.tw/3407 - VT-d Intel VT for Directed I/O
這個虛擬化的技術就是為了讓虛擬機器可以直接針對週邊硬體做存取,使用了 DMA 和 interrupt remapping 等技術.
https://benjr.tw/3610 - VT-c Virtualization Technology for Connectivity – https://benjr.tw/3593
- VMDc Virtual Machine Direct Connect
傳統的 VM 虛擬機上的虛擬網卡傳送主要透過 VMM (或是 hypervisor) 來進行傳輸, 而 Virtual Machine Direct Connect (VMDc) 允許 VM 可以直接針對實體網路 I/O 進行存取.雖然在 Intel VT-d 虛擬化技術中已經允許 VM 虛擬機可以直接和實體 I/O 連結.不過VMDc 使用了 PCI-SIG 的 Single Root I/O Virtualization (SR-IOV) 的技術. 透過 SR-IOV 這一項技術更進一步提升 VT-d 的功能.他可以同時讓多個 VM 虛擬機與實體 I/O 裝置同時建立通道(communication channels). - VMDq Virtual Machine Device Queues
目前我們使用的虛擬化不管是 RHEL 的 KVM 或是 Xen 還是 VMware / Citrix ,在處理虛擬機的網卡時都會透過一個由 VMM (或是叫 Hypervisor) 所管理的虛擬化 switch ,而這 switch 主要的功能就是轉送封包給正確的虛擬機.,但哪一些封包要流向哪一個 Vitual Machine (虛擬機器) 都需要額外的 CPU 資源才能完成這些工作. 而 Intel 所使用的 VMDq 就是為了減少這些額外 CPU 的處理. 透過網卡晶片內建的 Layer 2 classifier / sorter 以加速網路資料的傳送,它可以先行將不同的虛擬機所需的封包,直接在晶片裡面安排好再透過 receive queue,直接給虛擬機.這樣就不需再透過 Virtual switch 轉送封包. 進而達到減少網路的負載與 CPU 的使用率.
硬體裝置的虛擬化目前看到 VT-c 的架構都是以 Network 為主,主要包含了下面兩個技術.
這邊有一個短片針對了 VT-c Virtualization Technology for Connectivity 做了詳細說明.
http://www.youtube.com/watch?v=hRHsk8Nycdg
沒有解決問題,試試搜尋本站其他內容
2 thoughts on “Intel VT”