这篇文章是一篇带泪的文章,本来奔着6.2.3这版本养老的,但因为SLL证书更新不了的问题,不得不升级6.2.4,但是忘了备份设置,导致所有设置(包括本博客)丢失,只好一步到位升7.0.1了,为此肝了我几个晚上。

现在终于差不多重新搞好了,抽个空记录一下过程。
PVE服务器硬件概述
CPU:E3-1235L V5(核显P530)
主板:华擎Z170 Gaming-ITX/ac
内存:16G
硬盘:HGST 10T*6
1、PVE添加E1000e网卡模型
登录SecureFX打开/usr/share/perl5/PVE,复制备份QemuServer.pm为QemuServer.pm.bak,使用Notepad++打开QemuServer.pm,Ctrl+F搜索my $nic_model_list
,添加一个'e1000e'
,到如下位置。
my $nic_model_list = ['rtl8139', 'ne2k_pci', 'e1000', 'e1000e', 'pcnet', 'virtio',
'ne2k_isa', 'i82551', 'i82557b', 'i82559er', 'vmxnet3',
'e1000-82540em', 'e1000-82544gc', 'e1000-82545em'];
my $nic_model_list_txt = join(' ', sort @$nic_model_list);

登录SecureFX打开/usr/share/pve-manager/js,复制备份pvemanagerlib.js为pvemanagerlib.js.bak,使用Notepad++打开pvemanagerlib.js,Ctrl+F搜索match_res = p.match(/^(ne2k_pci
,添加一个e1000e
,到如下位置。
if ((match_res = p.match(/^(ne2k_pci|e1000|e1000e|e1000-82540em|e1000-82544gc|e1000-82545em|vmxnet3|rtl8139|pcnet|virtio|ne2k_isa|i82551|i82557b|i82559er)(=([0-9a-f]{2}(:[0-9a-f]{2}){5}))?$/i)) !== null) {
res.model = match_res[1].toLowerCase();

Ctrl+F搜索PVE.form.NetworkCardSelector
,添加一行['e1000e', 'Intel E1000e'],
,到如下位置。
Ext.define('PVE.form.NetworkCardSelector', {
extend: 'Proxmox.form.KVComboBox',
alias: 'widget.pveNetworkCardSelector',
comboItems: [
['e1000', 'Intel E1000'],
['e1000e', 'Intel E1000e'],
['virtio', 'VirtIO (' + gettext('paravirtualized') + ')'],
['rtl8139', 'Realtek RTL8139'],
['vmxnet3', 'VMware vmxnet3'],
],
});

重启PVE之后就能加上E1000e的网卡模型了。
2、自定义修改镜像
下载7.0.1的引导镜像,DS918+10G+8125+sas_7.0.1-42218 下载地址 密码:fjyu
使用DiskGenius打开引导镜像

将grub.cfg右击复制到桌面

使用Notepad++打开,因为我们是虚拟机安装,因此不需要修改vid和pid,编辑更改你获得的洗白序列号以及mac地址(两个或两个以上网卡一定要修改netif_num=2),保存

回到DiskGenius,复制更改后的cfg到分区当中,替换掉原来的文件,关闭虚拟硬盘文件


3、创建虚拟机
新建一个虚拟机,记住VM ID,我们等会要用

操作系统不使用任何介质,类别选Linux

显卡我们先选择默认,BIOS选择OVMF,机器选择q35

硬盘默认就行,我们等会直接删除新建

CPU根据你的情况选择相应的核数,类别选择host,启用NUMA

内存因为我应用比较多,所以填的12G,根据以往的经验至少4G以上

网络选择我们刚才创建的Intel E1000e

保存确认创建虚拟机,分离并删除原有的硬盘

下载everun大神的小工具
下载地址 img2kvm0.1.9 访问密码:img2kvm
打开SecureFX或者winscp,连接PVE,上传img2kvm以及引导镜像到根目录
使用SecureCRT连接PVE,输入ls查看img2kvm以及7.0.1.img是否已上传。
输入
chmod +x ./img2kvm
然后输入
#102是你的虚拟机VM ID
./img2kvm import 7.0.1.img 102 vm-102-disk-0

输入命令后便可以看到虚拟机多出一个未使用磁盘,双击添加。
总线选择SATA,勾选SSD仿真,其他默认即可。

来到选项——引导顺序,将sata0设备勾选上

这里演示,只添加了一个32G的虚拟硬盘,假如你想直通硬盘,请按以下教程(推荐第二种方法)

来到这步,就可以启动虚拟机安装系统了。开机之后请迅速来到控制台菜单,按下方向键选择第二个SATA启动项,这个选项只要选择一次就会记住的了。
启动虚拟机,在电脑浏览器中打开http://find.synology.com/搜索你的设备。



手动上传.pat系统安装包,选择7.0.1
下载地址:https://www.synology.cn/zh-cn/support/download/DS918+?version=7.0#system

注意,硬盘数据将全部清除


安装完成


4、开启显卡虚拟化
编辑/etc/default/grub,开启iommu
vim /etc/default/grub
#将GRUB_CMDLINE_LINUX_DEFAULT="quiet"修改为
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on intel_iommu=on i915.enable_gvt=1 pcie_acs_override=downstream"
修改完成之后更新grub
update-grub
加载内核模块
vim /etc/modules
#添加以下模块
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
kvmgt
更新内核
update-initramfs -u
关闭群晖,取消自动启动,然后重启电脑
回到你的虚拟机设置,添加一个PCI设备,选择你的显卡设备ID(一般都是0000:00:02.0),MDev类型可以选择i915-GVTg_V5_4,勾选PCI-Express,不勾选主GPU
查看你设备支持的vgpu模型
ls /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/
#GVT-G支持4种vgpu模型,最大分辨率为1200P,参考https://wiki.archlinux.org/title/Intel_GVT-g
i915-GVTg_V5_1 # Video memory: <512MB, 2048MB>, resolution: up to 1920x1200
i915-GVTg_V5_2 # Video memory: <256MB, 1024MB>, resolution: up to 1920x1200
i915-GVTg_V5_4 # Video memory: <128MB, 512MB>, resolution: up to 1920x1200
i915-GVTg_V5_8 # Video memory: <64MB, 384MB>, resolution: up to 1024x768

将显示改为无,启动即可。

开机,打开群晖Photos应用,在设置里选择重建索引。回到群晖查看资源监控,观察到synofoto-face-extraction有占用即成功开启。
如图

参考文章: