debian(PVE)屏蔽pci报错以及开启硬件直通

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=""
此条目发表在Proxmox VE分类目录。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注