这篇文章上次修改于 2540 天前,可能其部分内容已经发生变化,如有疑问可询问作者。
介绍
PCI直通允许您在VM内部使用物理PCI设备(图形卡,网卡)(仅限KVM虚拟化)。如果是“PCI passthrough”设备,该设备将不再可用于主机。
注:PCI passthrough是Proxmox VE中的一项实验性功能
一、编辑 grub
英特尔CPU
编辑grub:
vim /etc/default/grub找到如下内容
GRUB_CMDLINE_LINUX_DEFAULT="quiet"替换为
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"执行命令
update-grubAMD CPU
编辑grub:
vim /etc/default/grub找到如下内容
GRUB_CMDLINE_LINUX_DEFAULT="quiet"替换为
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"执行命令
upcate-grub最后输入命令检查是否有错
dmesg | grep -e DMAR -e IOMMU如执行后没任何输出,则有可能是主机BIOS没设置CPU虚拟化支持。正常应该如下图

二、新增模块
修改modules文件(默认为空)
vim /etc/modules添加如下内容
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd最后执行如下命令检查设备是否支持IOMMU(有可能需要重启)
dmesg | grep ecap
在输出内容里,“ecap”之后的十六进制值表示是否支持IOMMU。如果该值的最后一个字符是8,9,a,b,c,d,e或f,则支持。
例如,“ecap 1000”表示不支持。“ecap 10207f”表示支持,因为最后一个字符是“f”
三、IOMMU隔离校验
要让pci passthrough正常工作,需要为pci设备提供专用的iommu组
执行以下命令,检查效验结果
find /sys/kernel/iommu_groups/ -type l
本文内容参考以下文章
https://blog.51cto.com/sery/2161368?cid=716548
https://pve.proxmox.com/wiki/Pci_passthrough
已有 2 条评论
upcate-grub 是update-grub
命令打错了,不是upcate-grub