在KVM中使用SR-IOV的方法

在RHEL6中,通过virt-manager将VF指定为PCI传递设备,就可以在客户端操作系统使用VF。在这里传递的是02:11.4的VF。


modprobe-r igb;modprobe igb max_vfs=7

lspci

02:00.0 Ethernet controller:Intel Corporation 82576 Gigabit Network Connection(rev 01)

02:00.1 Ethernet controller:Intel Corporation 82576 Gigabit Network Connection(rev 01)

02:10.0 Ethernet controller:Intel Corporation 82576 Virtual Function(rev 01)

02:10.2 Ethernet controller:Intel Corporation 82576 Virtual Function(rev 01)

02:10.4 Ethernet controller:Intel Corporation 82576 Virtual Function(rev 01)

02:10.6 Ethernet controller:Intel Corporation 82576 Virtual Function(rev 01)

02:11.0 Ethernet controller:Intel Corporation 82576 Virtual Function(rev 01)

02:11.2 Ethernet controller:Intel Corporation 82576 Virtual Function(rev 01)

02:11.4 Ethernet controller:Intel Corporation 82576 Virtual Function(rev 01)


如图5-26所示,启动virt-manager,选择“编辑”→“虚拟机详细”。在弹出的窗口上,选择“显示”→“详细”,就会显示虚拟机的硬件详细界面。这里在“添加硬件”中将硬件类型选择为物理主机设备。然后选择02:11.4的VF,单击“完成”按钮(如图5-27所示)。

在KVM中使用SR-IOV的方法 - 图1

图 5-26 virt-manager的设置界面

在KVM中使用SR-IOV的方法 - 图2

图 5-27 virt-manager的完成界面

启动客户端操作系统后,在客户端操作系统上对igbvf模块执行modprobe命令,安装到内核。


modprobe igbvf


这样就可以在客户端操作系统上使用VF了。由于使用了IOMMU,因此使用VF的客户端操作系统基本不借助管理程序或主机操作系统就可以进行网络通信。