注意:一定要保留一个网口作为PVE管理口,如果全部网口都直通了,就无法打开PVE,需要用PVE安装U盘做救援模式。
传统Boot方式:
修改gurp
Intel CPU
编辑 /etc/default/grub
找到
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
修改为
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
更新grup
update-grub
重启服务器
reboot
AMD CPU
依然编辑 /etc/default/grub
找到
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
替换为
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on""
UEF Isystemd-boot boot
文件位于 /etc/kernel/cmdline
创建用于systemd-boot的文件(格式为带有选项的单行)
更新命令为
pve-efiboot-tool refresh
运行命令验证是否成功:
dmesg | grep -e DMAR -e IOMMU
如果没有输出,则说明有问题。如果有,则成功。
增加模块
修改文件 /etc/modules 加入如下的行(默认为空):
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
更新initramfs
update-initramfs -u-k all
虚拟机添加网卡
查找网卡ID
lspci |grep net
需要记住前面ID值
打开文件 /etc/pve/nodes/你的集群名称/qemu-server/虚拟机id.conf
命令行添加
machine:q35
hostpci0:02:00.0,pcie=1 # 网卡 1
hostpci1:02:00.1,pcie=1 # 网卡 2
Web页面添加
硬件 添加 选择PCI设备 选择 完成
如果需要设置为PCIE,虚拟机需要设置为q35
#PVE