虚拟化 : VT-x VT-d VT-c的分别:
VT-x [运行ESXI上的64bit Guest OS基本指令] Intel运用Virtualization虚拟化技术中的一个指令集。VT-x有助于提高基于软件的虚拟化解决方案的灵活性与稳定性。通过按照纯软件虚拟化的要求消除虚拟机监视器(VMM)代表客户操作系统来听取、中断与执行特定指令的需要,不仅能够有效减少 VMM 干预,还为 VMM 与客户操作系统之间的传输平台控制提供了有力的硬件支持,这样在需要 VMM干预时,将实现更加快速、可靠和安全的切换。 VT-d [虚拟机可以直接针对周边硬体做存取,由北桥晶片来支援及BIOS来开启] 简单来说 ,VT-d技术可以使其中一个Guest OS可以直接存取硬体设备,例如Raid Card,Lan Card,Display Card。假设Display Card pass through 到Guest OS后,只有这个Guest OS可以控制及使用。事实上在虚拟环境中,还是有许多直接硬体存取的机会,如备份伺服器,常常需要直接存取HBA Card才能加快速度,此时VT-d就大派用场。 VT-c [架构都是以Network为主, 要由I/O装置来支援] 主要包含了Virtual Machine Direct Connect及Virtual Machine Device Queues两项技术。 Virtual Machine Direct Connect 虚拟机上的虚拟网络卡传送主要透过 VMM(或是 hypervisor)来进行传输, 而VMDc允许VM可以直接针对实体网路 I/O进行存取。虽然在 Intel VT-d技术中已经允许虚拟机可以直接和实体I/O连结.不过VMDc使用了PCI-SIG的Single Root I/O Virtualization的技术。透过这项技术更进一步提升VT-d的功能。它可以同时让多个虚拟机与实体 I/O装置同时建立通道! Virtual Machine Device Queues 目前我们使用的虚拟化不管是 RHEL的KVM或是Xen还是VMware/Citrix,在处理虚拟机的网络卡时都会透过一个由VMM(或是叫 Hypervisor) 所管理的虚拟化Switch ,而这Switch主要的功能就是转送封包给正确的虚拟机.,但哪一些封包要流向哪一个虚拟机都需要额外的CPU资源才能完成这些工作。而 Intel所使用的VMDq就是为了减少这些额外CPU的处理,透过网卡晶片内建的Layer2 classifier / sorter以加速网路资料的传送,它可以先行将不同的虚拟机所需的封包,直接在晶片里面安排好再透过receive queue,直接给虚拟机.这样就不需再透过Virtual switch转送封包.!大大减少网路的负载与CPU的使用率! |