一、去除 PVE 的登录弹窗
Proxmox VE 6.3 / 6.4 / 7.0 / 7.1 / 7.2 / 7.3 / 7.4 / 8.0 / 8.1 去掉未订阅的提示
注意:去除订阅弹窗提醒以后,必须清除浏览器的缓存数据(清理浏览器缓存)后生效
sed -i_orig "s/data.status === 'Active'/true/g" /usr/share/pve-manager/js/pvemanagerlib.js
sed -i_orig "s/if (res === null || res === undefined || \!res || res/if(/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
sed -i_orig "s/.data.status.toLowerCase() !== 'active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy
二、更换 PVE 源
备份源文件
cp /etc/apt/sources.list /etc/apt/sources.list.backup
![图片[2]-VUM-PVE整合包关于如何更换国内源问题「VUM-PVE说明书」-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/02/20240229123407532-%E6%88%AA%E5%B1%8F2024-02-29-12.33.42-1024x697.png)
添加国内源
有两段代码,第一段整段代码一次性复制
cat <<EOF > /etc/apt/sources.list
deb http://mirrors.ustc.edu.cn/debian/ bookworm main non-free-firmware
deb-src http://mirrors.ustc.edu.cn/debian/ bookworm main non-free-firmware
deb https://mirrors.ustc.edu.cn/debian-security bookworm-security main contrib
deb http://mirrors.ustc.edu.cn/debian/ bookworm-updates main non-free-firmware
deb-src http://mirrors.ustc.edu.cn/debian/ bookworm-updates main non-free-firmware
EOF
![图片[3]-VUM-PVE整合包关于如何更换国内源问题「VUM-PVE说明书」-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/02/20240229123619508-%E6%88%AA%E5%B1%8F2024-02-29-12.35.19-1024x697.png)
echo "deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
![图片[4]-VUM-PVE整合包关于如何更换国内源问题「VUM-PVE说明书」-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/02/20240229123823345-%E6%88%AA%E5%B1%8F2024-02-29-12.38.01-1024x697.png)
屏蔽企业源
sed -i 's/^deb https:\/\/enterprise.proxmox.com\/debian\/pve/#deb https:\/\/enterprise.proxmox.com\/debian\/pve/' /etc/apt/sources.list.d/pve-enterprise.list
![图片[5]-VUM-PVE整合包关于如何更换国内源问题「VUM-PVE说明书」-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/02/20240229123953905-%E6%88%AA%E5%B1%8F2024-02-29-12.39.26-1024x697.png)
屏蔽 Ceph 源
sed -i 's/^deb https:\/\/enterprise.proxmox.com\/debian\/ceph-quincy/#deb https:\/\/enterprise.proxmox.com\/debian\/ceph-quincy/' /etc/apt/sources.list.d/ceph.list
![图片[6]-VUM-PVE整合包关于如何更换国内源问题「VUM-PVE说明书」-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/02/20240229124154431-%E6%88%AA%E5%B1%8F2024-02-29-12.41.33-1024x697.png)
更新源
apt-get update
![图片[7]-VUM-PVE整合包关于如何更换国内源问题「VUM-PVE说明书」-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/02/20240229124329760-%E6%88%AA%E5%B1%8F2024-02-29-12.43.05-1024x697.png)
三、降级内核版本
Q:为什么要降级内核?
A:因为当前我们使用的PVE版本是最新的8.2.4,内核版本为6.8.4,而使用到的i915-sriov-dkms项目作者最新只更新支持到的内核版本为6.5,所以需要进行降级内核操作。
1.首先查看当前版本及内核
输入以下命令可以查看到当前PVE版本为8.2.4,内核版本为6.8.4
pveversion
![图片[1]-2024陪伴级教程PVE无论什么版本正确开启SR-IOV虚拟化核显方式-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/07/20240710225809253-%E6%88%AA%E5%B1%8F2024-07-10-22.57.44-1024x907.png)
2.查看当前可以用的内核
proxmox-boot-tool kernel list
![图片[2]-2024陪伴级教程PVE无论什么版本正确开启SR-IOV虚拟化核显方式-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/07/20240710230158236-%E6%88%AA%E5%B1%8F2024-07-10-23.01.24-1024x907.png)
此时可以看到系统默认有一个6.5.13-5的内核版本,符合项目需求的6.5版本,但是i915-sriov-dkms项目作者目前依旧没有更新到这个版本,所以直接使用这个版本是无法编译成功的,所以我们还是需要继续降级内核操作
经过我测试6.5.13-1这个版本内比较稳定,所以我们降级为这个版本。
3.开始降级操作
更新源
apt update
查找可用内核
apt-cache search pve-kernel
![图片[3]-2024陪伴级教程PVE无论什么版本正确开启SR-IOV虚拟化核显方式-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/07/20240710230744584-%E6%88%AA%E5%B1%8F2024-07-10-23.07.22-1024x907.png)
安装此版本内核
apt install pve-kernel-6.5.13-1-pve
![图片[4]-2024陪伴级教程PVE无论什么版本正确开启SR-IOV虚拟化核显方式-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/07/20240710231014681-%E6%88%AA%E5%B1%8F2024-07-10-23.09.50-1024x907.png)
更新 Grub 引导配置
update-grub
![图片[5]-2024陪伴级教程PVE无论什么版本正确开启SR-IOV虚拟化核显方式-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/07/20240710231231562-%E6%88%AA%E5%B1%8F2024-07-10-23.12.21-1024x907.png)
四、固化这个版本的内核
proxmox-boot-tool kernel pin 6.5.13-1-pve
![图片[6]-2024陪伴级教程PVE无论什么版本正确开启SR-IOV虚拟化核显方式-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/07/20240710231512352-%E6%88%AA%E5%B1%8F2024-07-10-23.14.59-1024x907.png)
检查固化是否成功
proxmox-boot-tool kernel list
看到下图红框内容,代表固化成功
![图片[7]-2024陪伴级教程PVE无论什么版本正确开启SR-IOV虚拟化核显方式-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/07/20240710231626588-%E6%88%AA%E5%B1%8F2024-07-10-23.15.45-1024x907.png)
五、安装此版本内核的头文件
apt install pve-headers-6.5.13-1-pve
![图片[8]-2024陪伴级教程PVE无论什么版本正确开启SR-IOV虚拟化核显方式-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/07/20240710231847390-%E6%88%AA%E5%B1%8F2024-07-10-23.18.36-1024x907.png)
六、配置直通的基础环境
1.开启IOMMU直通功能
sed -i '/^GRUB_CMDLINE_LINUX_DEFAULT/c\GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream i915.enable_guc=3 i915.max_vfs=7"' /etc/default/grub
2.增加虚拟化驱动,加载vifo系统模块
使用了我们VUM-PVE整合包的无需再配置这步
echo -e "vfio\nvfio_iommu_type1\nvfio_pci\nvfio_virqfd" | tee -a /etc/modules
3.屏蔽显卡驱动
这步是个巨大的坑,一定要注意,如果你之前配置过这步,进去全部删除,如果没有配置过就不管
nano /etc/modprobe.d/blacklist.conf
![图片[9]-2024陪伴级教程PVE无论什么版本正确开启SR-IOV虚拟化核显方式-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/07/20240710232755190-%E6%88%AA%E5%B1%8F2024-07-10-23.25.50-1024x907.png)
4.更新Grub引导配置和initramfs
update-grub
update-initramfs -u -k all
5.重启PVE
reboot
6.重启后检查固化降级的内核是否生效
uname -r
已经成功以6.5.13-1内核版本启动PVE,固化成功
![图片[10]-2024陪伴级教程PVE无论什么版本正确开启SR-IOV虚拟化核显方式-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/07/20240710233844537-%E6%88%AA%E5%B1%8F2024-07-10-23.37.36-1024x907.png)
七、配置开启SR-IOV虚拟化核显
1.安装编译环境依赖
apt-get install --no-install-recommends git mokutil sysfsutils -y
apt install --reinstall dkms -y
2.添加一个临时的KERNEL环境变量
KERNEL=$(uname -r); KERNEL=${KERNEL%-pve}
3.克隆项目
项目地址:https://github.com/strongtz/i915-sriov-dkms.git
git clone https://github.com/strongtz/i915-sriov-dkms.git
cd i915-sriov-dkms/
sed -i 's/"@_PKGBASE@"/"i915-sriov-dkms"/g' ~/i915-sriov-dkms/dkms.conf
sed -i 's/"@PKGVER@"/"'"$KERNEL"'"/g' ~/i915-sriov-dkms/dkms.conf
4.检查dkms.conf 配置文件中是否配置正确的内核版本和i915-sriov-dkms
cat ~/i915-sriov-dkms/dkms.conf
![图片[11]-2024陪伴级教程PVE无论什么版本正确开启SR-IOV虚拟化核显方式-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/07/20240710235224852-%E6%88%AA%E5%B1%8F2024-07-10-23.51.27-1024x907.png)
5.创建目录的符号链接到/usr/src/目录下
dkms add .
![图片[12]-2024陪伴级教程PVE无论什么版本正确开启SR-IOV虚拟化核显方式-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/07/20240710235649437-%E6%88%AA%E5%B1%8F2024-07-10-23.54.30-1024x907.png)
6.进入到链接到的目录
cd /usr/src/i915-sriov-dkms-$KERNEL
![图片[13]-2024陪伴级教程PVE无论什么版本正确开启SR-IOV虚拟化核显方式-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/07/20240710235758850-%E6%88%AA%E5%B1%8F2024-07-10-23.57.34-1024x907.png)
7.查看已安装的 DKMS 模块及其状态
dkms status
![图片[14]-2024陪伴级教程PVE无论什么版本正确开启SR-IOV虚拟化核显方式-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/07/20240710235930597-%E6%88%AA%E5%B1%8F2024-07-10-23.59.07-1024x907.png)
8.开始编译内核加入i915-sriov驱动
dkms install -m i915-sriov-dkms -v $KERNEL -k $(uname -r) --force -j 1
编译过程时间稍长,需要等待
![图片[15]-2024陪伴级教程PVE无论什么版本正确开启SR-IOV虚拟化核显方式-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/07/20240711000300634-%E6%88%AA%E5%B1%8F2024-07-11-00.02.32-1024x857.png)
![图片[16]-2024陪伴级教程PVE无论什么版本正确开启SR-IOV虚拟化核显方式-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/07/20240711000535146-%E6%88%AA%E5%B1%8F2024-07-11-00.05.12-1024x857.png)
再次检查编译是否成功
dkms status
![图片[17]-2024陪伴级教程PVE无论什么版本正确开启SR-IOV虚拟化核显方式-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/07/20240711000636193-%E6%88%AA%E5%B1%8F2024-07-11-00.06.09-1024x857.png)
9.查询当前核显ID
lspci | grep VGA
![图片[18]-2024陪伴级教程PVE无论什么版本正确开启SR-IOV虚拟化核显方式-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/07/20240711001013941-%E6%88%AA%E5%B1%8F2024-07-11-00.09.36-1024x857.png)
这里显示00:02.0,完整的PCI地址0000:00:02.0
10.修改下面代码的核显ID和虚拟核显数
echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 7" > /etc/sysfs.conf
# 0000:00:02.0 这个修改为你的ID
# sriov_numvfs = 7里面的7修改为其他值,不要超过7
11.重启PVE
reboot
12.重启完检查是否开启成功
lspci | grep VGA
![图片[19]-2024陪伴级教程PVE无论什么版本正确开启SR-IOV虚拟化核显方式-VUM星球](https://www.vumstar.com/wp-content/uploads/2024/07/20240711002158863-%E6%88%AA%E5%B1%8F2024-07-11-00.21.36-1024x857.png)
八、直通 PCIe 设备(SR-IOV不需要操作)
若你的 CPU 不支持 SR-IOV,或是不想开启 SR-IOV,请使用如下命令直通 PCIE 设备:
sed -i '/^GRUB_CMDLINE_LINUX_DEFAULT/c\GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream"' /etc/default/grub
echo -e "vfio\nvfio_iommu_type1\nvfio_pci\nvfio_virqfd" | tee -a /etc/modules
update-grub
update-initramfs -u -k all
reboot
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END