新建虚拟机,配置如下

2021-10-17T07:26:31.png
2021-10-17T07:26:31.png

sata0为引导盘,开机时在控制台选择sata启动,或修改引导盘去掉usb方式

原理:用于验证
创建mdev,pve后台输入

echo 604e42e4-2e90-11ec-8861-037c58d42915 > /sys/bus/pci/devices/0000\:00\:02.0/mdev_supported_types/i915-GVTg_V5_2/create 

uuid可以随意自定义,需自行核实i915-GVTg_V5_2字段,可以输入

ls /sys/bus/mdev/devices/

查看是否创建成功。

修改虚拟机配置文件

nano /etc/pve/qemu-server/104.conf

添加字段

args: -device vfio-pci,sysfsdev=/sys/bus/mdev/devices/604e42e4-2e90-11ec-8861-037c58d42915,romfile=/root/DSM/i915ovmf.rom,addr=02.0,x-igd-opregion=on,driver=vfio-pci-nohotplug

i915ovmf.rar

使用seabios,可以删掉romfile=/root/DSM/i915ovmf.rom,字段。即可开机装系统。

实操:
将mdev创建和删除放到hookscript

#创建snippets文件夹
  mkdir /var/lib/vz/snippets
#将模板复制过来
  cp /usr/share/pve-docs/examples/guest-example-hookscript.pl /var/lib/vz/snippets/103-autocreate.pl
#在 pre-start 中 加入  
  system("echo 604e42e4-2e90-11ec-8861-037c58d42915 > /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/i915-GVTg_V5_4/create");
在  post-stop 中 加入 
   system("echo 1 > /sys/bus/mdev/devices/604e42e4-2e90-11ec-8861-037c58d42915/remove");

#将脚本挂到对应虚拟机
 qm set 103 --hookscript local:snippets/103-autocreate.pl


以下mdev的配置作废

另配置mdev开机自启

vi /etc/systemd/system/rc-local.service

内容如下
[Unit]
Description=/etc/rc.local
ConditionPathExists=/etc/rc.local

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

vi /etc/rc.local
#!/bin/sh -e
echo 604e42e4-2e90-11ec-8861-037c58d42915 > /sys/bus/pci/devices/0000\:00\:02.0/mdev_supported_types/i915-GVTg_V5_2/create 
exit 0



然后赋予权限并开启服务

chmod +x /etc/rc.local
systemctl enable rc-local 
systemctl start rc-local.service

删除mdev

echo 1 > /sys/bus/mdev/{uuid}/remove

群晖开机运行计划

sysctl -w kernel.perf_event_max_sample_rate=10000