登录 | 注册

轻扣指间,静听心声

PVE

发表于 09-27 / 142 阅读 / 0 评论 / 需时7.6’

本文记录时PVE最新版本为8.2.2,内核6.8.4;内容为安装后系统配置及核显SRIOV直通过程。

所用处理器:n100,很多n5105并不支持,我折腾过两个都不是很顺利,甚至直接直通也不太完美。
实现效果:pve底层,其下安装openwrt、黑群晖、飞牛nas、win10;并且将n100的核显通过sriov虚拟化分配给群晖、飞牛、win10同时调用。
其实n100的核显很弱,一分三已是极限,如果没有我这么多需求,直接直通或一分二更好些。

一、系统配置

首先确保BIOS的这些功能是否正确开启:

  • Intel VMX虚拟化技术 (需要开启)
  • VT-d (需要开启)
  • SR-IOV (需要开启)
  • IOMMU (需要开启)

有些主板这些内容是隐藏的,至于默认是否开启,购买之前要咨询好。我的n100买回来之后发现就不支持SR-IOV,我找售后要的支持sriov的bios自己刷的。

1,安装PVE(略)

pve安装极简单,直观

2,整合PVE存储空间(可选)

这一步请在刚装完PVE系统后进行操作,不建议已经组好All in One的用户进行操作。

loacl和local-lvm两个分区合二为一

查询当前local的大小

df -h

/dev/mapper/pve-root这个是系统自动给local的空间
进入到PVE节点的Shell输入以下命令(删除pve/data路径下的local-lvm逻辑卷)

lvremove pve/data

输入完之后会提示是否确定删除,此时按y回车
继续输入以下命令(将所有系统盘可用空间全部交由local这一个逻辑卷分配)

lvextend -l +100%FREE -r pve/root

继续输入以下命令(使其适应已经调整大小的逻辑卷)

resize2fs /dev/mapper/pve-root

查询是否扩容成功

df -h

成功扩容接下来删除local-lvm
点数据中心 ——> 存储 ——> local-lvm ——> 移除 ——> local ——> 编辑 ——> 内容(所有选项全部选上) ——> OK PVE系统基础配置

3,去除登录弹窗(即 无效订阅源)

sed -Ezi.bak "s/(Ext.Msg.show\(\{\s+title: gettext\('No valid sub)/void\(\{ \/\/\1/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service

执行完成后,浏览器Ctrl+F5强制刷新缓存

4,PVE更换软件源

cat <<'EOF' > /etc/apt/sources.list
deb https://mirrors.ustc.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.ustc.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.ustc.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb https://mirrors.ustc.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
EOF

cat <<'EOF' > /etc/apt/sources.list.d/pve-enterprise.list
deb https://mirrors.ustc.edu.cn/proxmox/debian/pve bookworm pve-no-subscription
EOF

cat <<'EOF' > /etc/apt/sources.list.d/ceph.list
deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-quincy bookworm no-subscription
EOF

5,更新软件包

仅更新软件包。不要更新内核!不要更新内核!不要更新内核!

apt update

二、SRIOV核显虚拟化

1,下载依赖包

apt install flex bison

2,安装header

apt update & apt install build-* pve-headers-$(uname -r) git dkms sysfsutils flex bison -y

3,下载i915所需二进制文件

mkdir -p /lib/firmware/updates/i915/
wget -O /lib/firmware/updates/i915/tgl_guc_70.9.1.bin https://mirror.ghproxy.com/https://raw.githubusercontent.com/intel-gpu/intel-gpu-firmware/main/firmware/tgl_guc_70.9.1.bin

4,下载需要的deb包

无法连接github下载的话,可点 击此处下载.deb文件 并解压后将上传到root目录,当然也可以自己加代理(比如kkgithub)。

wget https://github.com/MoetaYuko/intel-gpu-i915-backports/releases/download/I915MT65-24.1.19-3/intel-i915-dkms_1.24.1.19.240119.1.nodrm+i3-1_all.deb

5,安装deb包

sudo dpkg -i intel-i915-dkms_1.24.1.19.240119.1.nodrm+i3-1_all.deb

出现以下信息即说明安装成功

sr-iov1.webp

6,编辑 grub 配置文件

nano /etc/default/grub

quiet 后添加 intel_iommu=on iommu=pt i915.enable_guc=3 i915.max_vfs=2
键盘组合键ctrl+x再输入y 回车保存退出

7,更新grub和initramfs

update-grub
update-initramfs -u

8,安装sysfsutils

对新手友好,方便对VF核显数量设置,比使用开机自启脚本rc.local更安全。

apt install -y sysfsutils

下面命令中sriov_numvfs = 3的代表SRIOV核显数量,可自定义设定,最多设置7,分得越多性能越弱!

echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 3" > /etc/sysfs.conf
----------------
#有修改虚拟核显数量的需求
nano /etc/sysfs.conf
#将原来写入的参数注释掉
#devices/pci0000:00/0000:00:02.0/sriov_numvfs = 3
#改成你需要的数量,例如改为5个
devices/pci0000:00/0000:00:02.0/sriov_numvfs = 2

9,重启pve,使配置生效

reboot

10,核实是否成功

执行 dkms status 出现以下信息说明安装成功,可以进行后续直通操作

root@pve:~# dkms status
intel-i915-dkms/1.24.1.19.240119.1.nodrm, 6.8.4-2-pve, x86_64: installed

执行 lspci | grep VGA 输出应如下图

root@pve:~# lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-N [UHD Graphics]
00:02.1 VGA compatible controller: Intel Corporation Alder Lake-N [UHD Graphics]
00:02.2 VGA compatible controller: Intel Corporation Alder Lake-N [UHD Graphics]
00:02.3 VGA compatible controller: Intel Corporation Alder Lake-N [UHD Graphics]

三、安装openwrt

我们点击PVE页面的PVE展开,点击local(pve),选择ISO镜像,点击上传

op1.webp

选择你下载的img结尾的Openwrt镜像并上传。

op2.webp

上传后我们会得到一个地址,下图所示红框内,复制出来记录下来。

op3.webp

我们创建虚拟机,点击右上角的创建虚拟机,弹窗出来的常规选项,节点默认,VM ID这里也默认,名称自定义。下面有一个开机自启动,打勾下一步。

op4.webp

操作系统这里选择不使用任何介质。

op5.webp

系统和磁盘这里默认下一步

op6-1.webp

op6-2.webp

CPU这里我们根据你设备性能分配。因为我只是拿来拨号和特殊上网等操作,所以不需要太大的CPU和内存使用,所以我只分了2核心足以。类别我们选择host,下一步

op7.webp

内存这里我用处不大,给了1024MB=1G足够

op8.webp

网络这里我们模型选择Intel E1000,下一步

op9.webp

最后确认,完成即可

op10.webp

选择Openwrt虚拟机,点击硬件,找到CD/DVD驱动器,选择,上面选择移除。

op11-1.webp

op11-2.webp

还是硬件,找到硬盘,选择点击上面的分离。分离后会多出一个未使用的磁盘0,选择,上面的移除即可

op12-1.webp

op12-2.webp

我们选择硬件上面的添加,PCI设备,出现弹框,点击原始设备,设备这里选择往下拉,找到除了第一个网卡,依次选择,勾选所有功能。添加。然后重复此步骤,把除了第一个网卡剩下的所有都直通分配给Openwrt.

op13-1.webp

op13-2.webp

op13-3.webp

op13-4.webp

以上操作完毕后,我们去ssh终端,输入下面命令,注意:这里的100就是前面创建Openwrt的VM ID,如果你是其他的自行替换,后面的/var/lib/vz/template/iso/xxxxx,这串就是让你前面上传镜像后红框内的地址,自行替换噢!!最后面加上空格,注意是空格local

qm disk import 100 /var/lib/vz/template/iso/xxxxx local

这里是local而不是local-lvm因为上面我们合并了存储。

回车后会跑进度,等完毕后会有如下图提示,我们可以找到PVE页面的Openwrt硬件选择,是否多出一个未使用的磁盘,且同名的信息。

我们编辑这个磁盘,把总线/设备,这个选择改成sata,添加就行

op16.webp

再接着我们去Openwrt点击选项,找到引导顺序,选择后点击上面的编辑。取消第一个选项,找到刚改的sata,打勾,OK

op17-1.webp

op17-2.webp

接着我们设置一下开机自启动,点击右上角的启动,这样就启动了Openwrt。

安装 群晖

1,上传引导文件

我安装的SA6400(支持12代及以上核显硬解),文件名SA6400.img,记录上传后文件路径(应为):

/var/lib/vz/template/iso/SA6400.img

2,新建虚拟机

一路默认到底,cpu选择host,网卡vmnext3或者半虚拟化都行。

3,分离存储

虚拟机创建成功,点击虚拟机→硬盘→分离;分离成功后移除此硬盘。

4,导入引导盘

qm importdisk 101 /var/lib/vz/template/iso/SA6400.img local

101是你的虚拟机编号;安装黑群晖的磁盘是local,因为我上面删除了lvm分区,如果没有删除就是local_lvm

5,引导盘改为sata

再次回到虚拟机中可以看到引导导入成功,双击磁盘,将总线/设备修改为 “SATA”

6,添加数据盘

引导盘设置成功后我们还需要设置系统安装盘也就数据盘,有两种方式,一个是将硬盘直通给黑群晖,另外一个增加虚拟磁盘,我是直通了sata控制器。

7,添加虚拟显卡

原虚拟显卡设不设置无都可以。

pve-qh2.webp

0000:00:02.1,x-vga=1是显卡,0000:05:00是我的sata控制器。

完成,开机!

安装 飞牛OS

这个最简单,下载飞牛系统iso镜像,添加16g-64g虚拟硬盘用来当系统盘,cpu为host,网卡vmnetx3或半虚拟化,一路安装下去就行。

进了系统开启ssh,然后关机添加虚拟显卡,开机。
安装皮蛋熊的驱动,驱动安装如下:

sudo -i # 输入密码
wget wget https://blog.kkk.rs/upload/intel-i915-v2.deb
dpkg -i intel-i915-v2.deb

重启后就可以硬解了。

安装 win10

安装win10也非常简单直观。

下载virtio,并和系统安装盘一起上传并添加到虚拟机。
在安装过程选择安装硬盘时,需要添加额外驱动才可以。
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso

驱动添加界面如下:

pve-win10-1.avif

pve-win10-2.avif

pve-win10-3.avif

pve-win10-4.avif

pve-win10-5.avif

下面是虚拟机的标准配置

机型选择,q35,bios选择ovmf
PCI设备虚拟核显:
1,安装Win时建议先不添加,Win系统装完并设置好过程访问
2,关机添加虚拟核显,此时不要勾选主GPU,安装驱动不报错,关机
3,添加sriov设备,此时勾选主gpu(也可勾上pcie),勾了主gpu之后,pve就不会显示画面了,可以尝试吧显卡改成virtio-gpu,这样就可以显示控制台。如果装驱动43,把显示该成无。

本文最后更新时间为 2024-10-11 13:54

评论功能已关闭!
本站仅用作个人记录,不交流、不讨论,留言板可以留言但无邮件回复。