赞
踩
error:please ensure all devices within the iommu_group are bound to their vfio bus driver
需要将多个设备全部解绑定,解决方案见参考文档7,8
不可将控制节点显卡(GPU)透传到VM,否则在dashboard-console中VNC服务将不可用
由于需要硬件支持,先要确认CPU及主板(motherboard)是否支持Intel或AMD的硬件辅助虚拟化功能,可以查看官方的硬件支持列表,或者在BIOS中查看相关选项。也可在参考文档3中进行查询(文档所列并不完整,找不的可以到官方支持列表查询),Intel CPU可以在参考文档5链接中查询。
还需要支持PCI passthrough的硬件设备。
主要是VT(VT-x)及VT-d支持,需要将相关支持设置为enable
这两个选项一般在BIOS中Advance下CPU和System或相关条目中设置。
以Intel为例:
VT: Intel Virtualization Technology
VT-d: Intel VT for Directed I/O
a. 确认内核支持iommu
$ cat /proc/cmdline | grep iommu
如果没有输出结果,添加intel_iommu=on到grub的启动参数
如果你想在系统启动时加载一个内核参数,需修改GRUB的配置模板(/etc/default /grub),添加"名称=值”的键值对到GRUB_CMDLINE_LINUX变量,添加多个时用空格隔开,例如GRUB_CMDLINE_LINUX="...... name=value"(如果没有GRUB_CMDLINE_LINUX变量时,用GRUB_CMDLINE_LINUX_DEFAULT替代即可),然后使用grub2-mkconfig -o /boot/grub2/grub.cfg更新grub.cfg文件
b. 使用dmesg | grep -i DMAR -i IOMMO来判断 (DMAR与IOMMO都必须有)。
$ dmesg | grep -e DMAR -e IOMMU
...
DMAR:DRHD base: 0x000000feb03000 flags: 0x0
IOMMU feb03000: ver 1:0 cap c9008020e30260 ecap 1000
...
也可以使用命令 find /sys/kernel/iommu_groups/ -type l 来确认
a. 查看pci设备信息
$ lspci -nn
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。