一、去除 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
添加国内源
有两段代码,第一段整段代码一次性复制
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
echo "deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
屏蔽企业源
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
屏蔽 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
更新源
apt-get update
三、降级内核版本
Q:为什么要降级内核?
A:因为当前我们使用的PVE版本是最新的8.2.4,内核版本为6.8.4,而使用到的i915-sriov-dkms项目作者最新只更新支持到的内核版本为6.5,所以需要进行降级内核操作。
1.首先查看当前版本及内核
输入以下命令可以查看到当前PVE版本为8.2.4,内核版本为6.8.4
pveversion
2.查看当前可以用的内核
proxmox-boot-tool kernel list
此时可以看到系统默认有一个6.5.13-5的内核版本,符合项目需求的6.5版本,但是i915-sriov-dkms项目作者目前依旧没有更新到这个版本,所以直接使用这个版本是无法编译成功的,所以我们还是需要继续降级内核操作
经过我测试6.5.13-1这个版本内比较稳定,所以我们降级为这个版本。
3.开始降级操作
更新源
apt update
查找可用内核
apt-cache search pve-kernel
安装此版本内核
apt install pve-kernel-6.5.13-1-pve
更新 Grub 引导配置
update-grub
四、固化这个版本的内核
proxmox-boot-tool kernel pin 6.5.13-1-pve
检查固化是否成功
proxmox-boot-tool kernel list
看到下图红框内容,代表固化成功
五、安装此版本内核的头文件
apt install pve-headers-6.5.13-1-pve
六、配置直通的基础环境
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
4.更新Grub引导配置和initramfs
update-grub
update-initramfs -u -k all
5.重启PVE
reboot
6.重启后检查固化降级的内核是否生效
uname -r
已经成功以6.5.13-1内核版本启动PVE,固化成功
七、配置开启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
5.创建目录的符号链接到/usr/src/目录下
dkms add .
6.进入到链接到的目录
cd /usr/src/i915-sriov-dkms-$KERNEL
7.查看已安装的 DKMS 模块及其状态
dkms status
8.开始编译内核加入i915-sriov驱动
dkms install -m i915-sriov-dkms -v $KERNEL -k $(uname -r) --force -j 1
编译过程时间稍长,需要等待
再次检查编译是否成功
dkms status
9.查询当前核显ID
lspci | grep VGA
这里显示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
八、直通 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