新建虚拟机,配置如下
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
使用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