确保系统中有带有IOMMU/VT-d的芯片组,最终结果是,在无Hypervisor的帮助下,每个虚函数可以DMA数据包进出,这意味着CPU从网卡的内存空间将数据复制到VM的内存空间没有必要,带有VT-d/IOMMU功能的芯片组确保虚函数的DMA传输,并且不互相干扰,VM通过标准的半虚拟化驱动程序如VMware的VMXnet)连接到这些虚函数,因此你可以任意迁移VM。

难题就这些,多队列,DMA传输虚拟地址到物理地址的转换,以及多头网卡一起为你提供比模拟硬件更高的吞吐量,更低的延迟和更低的CPU消耗。同时,它们提供了两个优势使得虚拟仿真硬件变得非常流行:能跨多个VM共享一个硬件设备,并能够从底层硬件分离出虚拟机。

SR-IOV支持

当然,这是所有理论,直到所有软件和硬件层一起工作支持,你需要VT-d或IOMMU芯片组,主板BIOS必须识别这些虚函数,每个虚函数必须获得内存映射IO空间,如其它PCI设备,支持SR-IOV的Hypervisor也是必需的。最后,但并非不重要,网卡厂商必须为操作系统和Hypervisor提供SR-IOV驱动。

在英特尔的强力支持下,支持SR-IOV的开源HypervisorXen,KVM)和商业产品衍生物Red Hat,Citrix)已经进入市场,截至2009年底,Xen和KVM都支持SR-IOV,更具体地说是英特尔10G以太网82599控制器,它可以提供高达64个虚函数,Citrix在XenServer 5.6中宣布开始支持SR-IOV,而VMware的ESX和微软的Hyper-V却迟迟未支持。

Neterion的解决方案

ESX 5.0和Windows Server 2008的继任者将支持SR-IOV,由于大多数数据中心的主要Hypervisor是VMware的ESX,这意味着在获得SR-IOV的好处之前,很大一部分已经虚拟化的服务器将不得不等待一年或更长时间。

图 8 Neterion网卡

图 8 Neterion网卡

Neterion是多设备队列的开创者,除了标准的SR-IOV和VMware NetQueue支持外,X3100网卡也含有专利实现。

图 9 Neterion X3100网卡属性

图 9 Neterion X3100网卡属性


相关内容