PVE开启网卡直通,显卡直通,USB直通 。
第一步:确认自己的主板cpu是否支持Vt-d功能
不支持就搞不了直通 。 intel要b75以上芯片组才支持 。 也就是说intel4代酷睿处理器以上,都支持 。 amd不明 。 如果支持,需要先去主板开启vt-d 。
第二步:开启iommu
#编辑grub vi /etc/default/grub
在里面找到:
【PVE开启硬件直通功能】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-E直通
直通要求:
满足前面所有条件 。 虚拟机芯片组一定要q35 。
文章插图
显卡直通
AMD RADEON 5xxx, 6xxx, 7xxx, Navi 5XXX(XT), nvidia GEFORCE 7, 8, GTX 4xx, 5xx, 6xx, 7xx, 9xx, 10xx and RTX 16xx/20xx 都可以成功直通
1、屏蔽显卡
# 查看显卡,很多设备,自己看是哪个 lspci 83:00.0 3D controller: NVIDIA Corporation GP106 [P106-090] (rev a1)
其中83:00 是代表组名 。 83:00.0 是代表83:00组的第一个设备
lspci -n -s 83:00 #查看 83:00 组的所有pci设备 83:00.0 0302: 10de:1c09 (rev a1)
10de:1c09 是 厂商ID:设备ID 。 我这显卡没有声卡,所以就一个设备 。 正常的GPU,有2个设备,一个是显卡,一个是声音 。
正常的GPU都会有2个设备,就像下面
lspci -n -s 01:00 01:00.0 0300: 10de:1381 (rev a2) 01:00.1 0403: 10de:0fbc (rev a1)
直接屏蔽,直接让系统不启用它 。
echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf echo "blacklist nvidiafb" >> /etc/modprobe.d/blacklist.conf echo "blacklist amdgpu" >> /etc/modprobe.d/blacklist.conf echo "blacklist snd_hda_intel" >> /etc/modprobe.d/blacklist.conf echo "blacklist snd_hda_codec_hdmi" >> /etc/modprobe.d/blacklist.conf echo "blacklist i915" >> /etc/modprobe.d/blacklist.conf
把显卡添加到直通组
echo "options vfio-pci ids=10de:1381,10de:0fbc" > /etc/modprobe.d/vfio.conf #注意,上面这条命令,ids=后面跟直通组的所有设备 。 中间以英文逗号隔开 。 自己的设备自己替换 。
对于nvidia显卡,需要
echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf
上述操作完成之后,再检查一下,是否将例子内容替换成自己的 。 使用以下命令查看 。
cat /etc/modprobe.d/blacklist.conf cat /etc/modprobe.d/vfio.conf
检查无误之后,重启
2、开始直通
首先确定自己的显卡是否支持uefi 。
一般情况下,amd r9以后的显卡都支持uefi 。 nvidia,9代以上显卡均支持UEFI 。
uefi的显卡,需要用ovmf biOS 。 也就不能使用Win7 。
新建一个虚拟机 。 bios类型,根据显卡支不支持uefi选择 。 cpu类型设置为host,并且开启muma,内存一定要为静态内存,也就是最大最小都为一样 。
系统安装好之后 。 开始配置直通
vi /etc/pve/qemu-server/100.conf #请把这里的100替换成自己的vmid 添加 hostpci0: 83:00,pcie=1,x-vga=on #请把这里的83:00 替换成需要的直通组 。 注意留空
附自己的配置
cat /etc/pve/qemu-server/100.conf
agent: 1 audio0: device=ich9-intel-hda,driver=spice balloon: 2048 bios: ovmf bootdisk: virtio0 cores: 4 cpu: host efidisk0: nvme960:100/vm-100-disk-1.qcow2,size=128K hostpci0: 83:00,pcie=1,x-vga=on ide0: local:iso/virtio-win-0.1.173.iso,media=cdrom,size=385322K ide2: local:iso/cn_Windows_10_enterprise_ltsc_2019_x64_dvd_9c09ff24.iso,media=cdrom machine: q35 memory: 4096 name: PCIE net0: virtio=8E:D0:4B:FA:22:48,bridge=vmbr1,firewall=1 numa: 1 ostype: win10 scsihw: virtio-scsi-pci serial0: socket smbios1: uuid=ce49834c-1340-4010-9631-1fa50f39384d sockets: 1 spice_enhancements: foldersharing=1,videostreaming=all usb0: spice,usb3=1 vga: qxl virtio0: nvme960:100/vm-100-disk-0.qcow2,cache=none,size=60G vmgenid: 952920f7-1d6d-40ec-89a8-cbfe2e2cc76f
推荐阅读
- 全盘映射方式 Proxmox VE直通硬盘
- 怎样开启优酷视频加速器解决您的问题
- 高能手办团向日葵少女活动开启条件介绍-活动页面在哪里进新
- 精灵食肆公会纷争开启-聚灵阵法显威力图文攻略666
- 摩尔庄园手游邻居系统解锁条件一览-邻居系统怎么开启让您技能天下无双
- 三国志战略版周年庆活动开启-9月17日更新内容一览请仔细查看哦
- 第五人格赛季冲刺活动开启-9月17日更新内容一览推荐阅读
- 犯罪大师推理大赛第三届开启式时间介绍-犯罪大师推理大赛第三届答案是什么出神入化
- 最强蜗牛华夏穿越关卡开启方法-华夏穿越关卡怎么开启您要知道知识
- 云顶之弈S4赛季开启-10.19版本更新内容一览您需要了解的