1、开始硬件直通模式
新版本的pve,例如pve7.0,无需做驱动屏蔽。请直接开启iommu之后,在pve面板上,虚拟机类型选择Q35,添加直通设备即可。
第一步:确认自己的主板CPU是否支持Vt-d功能
不支持就搞不了直通。intel要b75以上芯片组才支持。也就是说intel4代酷睿处理器以上,都支持。amd不明。如果支持,需要先去主板开启vt-d。
第二步:开启iommu
#编辑grub vi /etc/default/grub 在里面找到:GRUB_CMDLINE_LINUX_DEFAULT="quiet" 然后修改为:GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on" 如果是amd cpu请改为:GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"
修改完成之后,直接更新grub
update-grub #amd cpu也可以执行 pve-efiboot-tool refresh
第三步 加载相应的内核模块
echo vfio >> /etc/modules echo vfio_iommu_type1 >> /etc/modules echo vfio_pci >> /etc/modules echo vfio_virqfd >> /etc/modules
重启主机
第四步 验证是否开启iommu
重启之后,在终端输入
dmesg | grep 'remapping'
出现如下例子。则代表成功
AMD-Vi: Interrupt remapping enabled #或者 DMAR-IR: Enabled IRQ remapping in x2apic mode
此时输入命令
find /sys/kernel/iommu_groups/ -type l #出现很多直通组,就代表成功了。如果没有任何东西,就是没有开启
屏蔽PCI报错
刚装完系统发现有一些硬件类的报错,怀疑跟bios,设备,kernel有关系,但是报错并没有影响系统正常使用,屏幕一直报pcieport 0000:00:1c.7,如果长期重复也会产生大量的辣鸡日志,所以网上搜了下办法屏蔽之
#备份/etc/default/grub cp /etc/default/grub /etc/default/grub.bak #编辑/etc/default/grub,增加pcie_aspm=off vi /etc/default/grub # info -f grub -n 'Simple configuration' GRUB_DEFAULT=0 GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="Proxmox VE" GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on splash pcie_aspm=off" GRUB_CMDLINE_LINUX=""