目录
PVE的安装就不赘述了,实在是比装Windows 10还简单,输入一下密码、地区和邮箱,然后一路点击下一步即可。安装在物理机上没有办法录屏,如果读者确实感兴趣该如何安装,与其看我强行拍屏去讲解无聊的点击下一步,不如上视频网站搜索一下PVE安装流程,保证非常简单且一目了然。
1、下载并使用pve_source
这里直接快进到pve安装好之后,打开网页上的终端。
这是官网,直接去复制下载链接
然后在pve终端里面
wget 下载链接
这样就可以下载了
不知道为什么下载下来是乱码,不过应该不影响使用
先把乱码改名
mv ./[乱码的前两个字然后按一下tab] pve_source.tar.gz
解压一下
tar -zxvf ./pve_source.tar.gz
接下来的操作我建议使用ssh进行,在网页端运行pve_source的话,不知道为什么会有奇奇怪怪的断连问题,使用ssh连接就没有问题。
我这里用Xshell继续了
然后运行pve_source
rm -rf ./pve_source.tar.gz #压缩包没用了就删掉
chmod +x ./pve_source #给一下运行权限
./pve_source
按y接受
如果感兴趣的话可以不执行1,手动执行2,3,4,5看看pve_source具体是怎么工作的,这里我就输入1了
输入1之后,
y回车
2回车
y回车
这样就搞定了
按任意键返回菜单,接着输入6,去除无效订阅提示
成功之后回到网页端按Shift + F5刷新网页,已经不会弹无效订阅提示了
回到ssh,继续输入7回车,然后输入1回车
按o选择高大全,按enter结束
回到网页端,再次Shift + F5刷新。现在查看PVE节点的概要,已经把很多参数都显示出来了
2、配置核显sr_iov
先检查一下有没有集显
lspci
可以看到730和3060都显示出来了。很多主板在插上独显之后会禁用核显,如果没看到核显的话就先去调一下bios
这个功能简单来说就是把你的核显拆成好几块虚拟的来使用,这样nas和windows11虚拟机就可以同时使用核显来编解码了
(从下一步开始请不要跟着做,很快会失败,先往下看)
输入9回车然后输入1,配置核显的iommu
按q回车,我只需要两块核显,一块给nas一块给Windows,所以这里输入2回车
按两次y,更新一下两个东西
居然显示更新失败了。没有dkms驱动是不能开启sr-iov的。所以这里只能手动安装驱动了
(从这里开始可以继续照着做了)
安装教程参考这位大佬的
本来我是想说直接看这篇教程就好了,讲的很好。不过其中有一些细节过时了,还有一些细节不适用于有独显的场景。所以我还是复制粘贴一遍,然后微调一些地方。
当然,原理性的问题我一窍不通,如果好奇每一步为什么要这么做的话,建议还是认真看一遍原帖。
apt update
apt install -y git build-* dkms
apt install pve-headers-$(uname -r)
KERNEL=$(uname -r); KERNEL=${KERNEL%-pve}
echo ${KERNEL}
cd ~
git clone https://github.com/strongtz/i915-sriov-dkms.git
cd ~/i915-sriov-dkms
cp -a ~/i915-sriov-dkms/dkms.conf{,.bak}
然后查看一下内核版本
uname -ar
把这个复制下来
apt install vim -y #安装一下vim
vim ./i915-sriov-dkms/dkms.conf
用刚刚复制的版本号进行替换
换完之后
cd /usr/src/i915-sriov-dkms-$KERNEL
dkms add .
dkms status
# 构建新内核并检查状态。验证是否显示已安装。
dkms install -m i915-sriov-dkms -v $KERNEL -k $(uname -r) --force -j 4
dkms status
最后出现installed就是成功了
然后还需要设置MOK
# 为以防万一,我们需要加载 DKMS 密钥,以便内核加载模块。运行以下命令,然后输入密码。
# 该密码仅用于 MOK 设置,重启主机时会用到, 再之后就不需要密码。
# 该密码不必与 root 账户使用的密码相同。
mokutil --import /var/lib/dkms/mok.pub
# 重启机器, 在开机页面, 开机引导页面依次选择:
# * Enroll MOK, Continue, Yes, <password>, Reboot
# 如果错过, 需要进入终端, 重新运行 mokutil ... 命令并再次重启。
# 在完成此设置之前,DKMS 模块不会加载。
重启后修改grub
# 解释: i915.max_vfs=7 表示最多虚拟成7个设备
cp -a /etc/default/grub{,.bak}
sed -i '/^GRUB_CMDLINE_LINUX_DEFAULT/c\GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt i915.enable_guc=3 i915.max_vfs=7"' /etc/default/grub
update-grub
update-initramfs -u -k all
# 工具软件安装
apt install sysfsutils -y
运行以下命令,查看/确认集显所在的PCIe 总线。通常是 00:02.0
lspci
运行以下命令, 如果PCIe 总线编号不一致, 可能需要修改。
#要把这行东西加到/etc/sysfs.conf里面: devices/pci0000:00/0000:00:02.0/sriov_numvfs = 2
#先看看里面有啥
cat /etc/sysfs.conf
很显然,pve_source给我们自动设置的sr-iov设备是错误的
把原来的内容改正
vim /etc/sysfs.conf
这样就对了
再次重启pve
验证一下
lspci
#会显示次要 PCIe ID 1-2
dmesg | grep i915
成功了!黄线是原始设备,在开启sr-iov之后就不能再使用了,否则会导致另外两台虚拟设备下线;红线就是虚拟出来的两张集显。