降级内核
查找
apt-cache search pve-kernel
proxmox-kernel-6.2.16-10-pve - Proxmox Kernel Image
proxmox-kernel-6.2.16-11-pve - Proxmox Kernel Image
proxmox-kernel-6.2.16-12-pve - Proxmox Kernel Image
proxmox-kernel-6.2.16-13-pve - Proxmox Kernel Image
proxmox-kernel-6.2.16-14-pve - Proxmox Kernel Image
proxmox-kernel-6.2.16-15-pve - Proxmox Kernel Image
proxmox-kernel-6.2.16-16-pve - Proxmox Kernel Image
proxmox-kernel-6.2.16-17-pve - Proxmox Kernel Image
proxmox-kernel-6.2.16-18-pve - Proxmox Kernel Image
proxmox-kernel-6.2.16-19-pve - Proxmox Kernel Image
proxmox-kernel-6.2.16-20-pve - Proxmox Kernel Image
proxmox-kernel-6.2.16-6-pve - Proxmox Kernel Image
proxmox-kernel-6.2.16-8-pve - Proxmox Kernel Image
proxmox-kernel-6.2.16-9-pve - Proxmox Kernel Image
proxmox-kernel-6.2 - Latest Proxmox Kernel Image
proxmox-kernel-6.5.11-1-pve - Proxmox Kernel Image
proxmox-kernel-6.5.11-2-pve - Proxmox Kernel Image
proxmox-kernel-6.5.11-3-pve - Proxmox Kernel Image
proxmox-kernel-6.5.11-4-pve - Proxmox Kernel Image
proxmox-kernel-6.5.11-5-pve - Proxmox Kernel Image
proxmox-kernel-6.5.11-6-pve - Proxmox Kernel Image
proxmox-kernel-6.5.11-7-pve - Proxmox Kernel Image
proxmox-kernel-6.5.11-8-pve - Proxmox Kernel Image
proxmox-kernel-6.5.13-1-pve - Proxmox Kernel Image
proxmox-kernel-6.5.13-2-pve - Proxmox Kernel Image
proxmox-kernel-6.5.13-3-pve - Proxmox Kernel Image
proxmox-kernel-6.5.13-4-pve - Proxmox Kernel Image
proxmox-kernel-6.5.13-5-pve - Proxmox Kernel Image
proxmox-kernel-6.5.13-6-pve - Proxmox Kernel Image
proxmox-kernel-6.5.3-1-pve - Proxmox Kernel Image
proxmox-kernel-6.5 - Latest Proxmox Kernel Image
proxmox-kernel-6.8.1-1-pve - Proxmox Kernel Image
proxmox-kernel-6.8.12-1-pve - Proxmox Kernel Image
proxmox-kernel-6.8.12-2-pve - Proxmox Kernel Image
proxmox-kernel-6.8.4-1-pve - Proxmox Kernel Image
proxmox-kernel-6.8.4-2-pve - Proxmox Kernel Image
proxmox-kernel-6.8.4-3-pve - Proxmox Kernel Image
proxmox-kernel-6.8.4-4-pve - Proxmox Kernel Image
proxmox-kernel-6.8.8-1-pve - Proxmox Kernel Image
proxmox-kernel-6.8.8-2-pve - Proxmox Kernel Image
proxmox-kernel-6.8.8-3-pve - Proxmox Kernel Image
proxmox-kernel-6.8.8-4-pve - Proxmox Kernel Image
proxmox-kernel-6.8 - Latest Proxmox Kernel Image
proxmox-kernel-helper - Function for various kernel maintenance tasks.
proxmox-kernel-libc-dev - Linux support headers for userspace development
pve-firmware - Binary firmware code for the pve-kernel
pve-kernel-6.1.10-1-pve - Proxmox Kernel Image
pve-kernel-6.1 - Latest Proxmox VE Kernel Image
pve-kernel-6.2.16-1-pve - Proxmox Kernel Image
pve-kernel-6.2.16-2-pve - Proxmox Kernel Image
pve-kernel-6.2.16-3-pve - Proxmox Kernel Image
pve-kernel-6.2.16-4-pve - Proxmox Kernel Image
pve-kernel-6.2.16-5-pve - Proxmox Kernel Image
pve-kernel-6.2 - Proxmox Kernel Image for 6.2 series (transitional package)
pve-kernel-helper - Function for various kernel maintenance tasks.
pve-kernel-libc-dev - Linux support headers for userspace development
安装
apt install proxmox-kernel-6.5.13-1-pve
update-grub
# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.8.12-2-pve
Found initrd image: /boot/initrd.img-6.8.12-2-pve
Found linux image: /boot/vmlinuz-6.8.4-2-pve
Found initrd image: /boot/initrd.img-6.8.4-2-pve
Found linux image: /boot/vmlinuz-6.5.13-1-pve
Found initrd image: /boot/initrd.img-6.5.13-1-pve
Found memtest86+ 64bit EFI image: /boot/memtest86+x64.efi
Adding boot menu entry for UEFI Firmware Settings ...
done
默认使用6.5.13-1-pve
# proxmox-boot-tool kernel pin 6.5.13-1-pve
Setting '6.5.13-1-pve' as grub default entry and running update-grub.
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.8.12-2-pve
Found initrd image: /boot/initrd.img-6.8.12-2-pve
Found linux image: /boot/vmlinuz-6.8.4-2-pve
Found initrd image: /boot/initrd.img-6.8.4-2-pve
Found linux image: /boot/vmlinuz-6.5.13-1-pve
Found initrd image: /boot/initrd.img-6.5.13-1-pve
Found memtest86+ 64bit EFI image: /boot/memtest86+x64.efi
Adding boot menu entry for UEFI Firmware Settings ...
done
检查
# proxmox-boot-tool kernel list
Manually selected kernels:
None.
Automatically selected kernels:
6.5.13-1-pve
6.8.12-2-pve
6.8.4-2-pve
Pinned kernel:
6.5.13-1-pve
安装头文件
apt install pve-headers-6.5.13-1-pve
清空
/etc/modprobe.d/pve-blacklist.conf
更新grub和initramfs
update-grub
update-initramfs -u -k all
重启 reboot
uname -r
6.5.13-1-pve
安装i915-sriov-dkms
clone代码库(下载源码时请保证能连接上github,修改dns可以连上,具体百度), 推荐使用github
git clone https://github.com/strongtz/i915-sriov-dkms.git
国内镜像代码库
git clone https://gitee.com/ifwwww/i915-sriov-dkms
安装构建工具:
apt install build-* dkms
切换到克隆存储库的根目录,然后运行 。
dkms add .
执行命令, 编译安装 i915-sriov-dkms
# 指定版本 为2024.08.09
dkms install -m i915-sriov-dkms -v 2024.08.09 --force
或者不指定
dkms install -m i915-sriov-dkms -v $(cat VERSION) --force
Sign command: /lib/modules/6.5.13-1-pve/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub
Building module:
Cleaning build area...
make -j2 KERNELRELEASE=6.5.13-1-pve -C /lib/modules/6.5.13-1-pve/build M=/var/lib/dkms/i915-sriov-dkms/2024.08.09/build...
...................................
Signing module /var/lib/dkms/i915-sriov-dkms/2024.08.09/build/i915.ko
Cleaning build area...
i915.ko:
Running module version sanity check.
- Original module
- Installation
- Installing to /lib/modules/6.5.13-1-pve/updates/dkms/
depmod...
如果失败了可以先运行以下命令,然后回到二、SRIOV核显虚拟化重新开始编译一次
rm -rf /var/lib/dkms/i915-sriov-dkms*
rm -rf /usr/src/i915-sriov-dkms*
rm -rf ~/i915-sriov-dkms
# dkms status
i915-sriov-dkms/2024.08.09, 6.5.13-1-pve, x86_64: installed
输入以下命令检查是否成功
modinfo i915|grep vf
反馈如下表示成功
parm: max_vfs:Limit number of virtual functions to allocate. (0 = no VFs [default]; N = allow up to N VFs) (uint)
编辑 grub 配置文件
vim /etc/default/grub
在GRUB_CMDLINE_LINUX_DEFAULT=“quiet” 后添加 intel_iommu=on iommu=pt i915.enable_guc=3 i915.max_vfs=7
示例:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt i915.enable_guc=3 i915.max_vfs=7"
保存退出
更新grub和initramfs
update-grub
update-initramfs -u -k all
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.8.12-2-pve
Found initrd image: /boot/initrd.img-6.8.12-2-pve
Found linux image: /boot/vmlinuz-6.8.4-2-pve
Found initrd image: /boot/initrd.img-6.8.4-2-pve
Found memtest86+ 64bit EFI image: /boot/memtest86+x64.efi
Adding boot menu entry for UEFI Firmware Settings ...
done
update-initramfs: Generating /boot/initrd.img-6.8.12-2-pve
Running hook script 'zz-proxmox-boot'..
Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace..
No /etc/kernel/proxmox-boot-uuids found, skipping ESP sync.
安装sysfsutils(对新手友好方便对VF核显数量设置)
不建议使用开机自启脚本rc.local,增加不必要的风险
apt install -y sysfsutils
设置SRIOV核显数量
下面命令中sriov_numvfs = 5的5代表SRIOV核显数量,可自定义设定,最多设置7个设置为1个性能最强,如果设置为7个,那么每一个的性能只有14%(所以这里大家根据自身核显性能自行考量)
echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 3" > /etc/sysfs.conf
重启使其生效
reboot
重启完之后检查是否成功
通过PVE节点的Shell输入以下命令查看SRIOV核显直通是否成功
lspci |grep -i vga
如果成功则会输出以下数据
# lspci |grep -i vga
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-S GT1 [UHD Graphics 710] (rev 0c)00:02.1 VGA compatible controller: Intel Corporation Alder Lake-S GT1 [UHD Graphics 710] (rev 0c)
00:02.2 VGA compatible controller: Intel Corporation Alder Lake-S GT1 [UHD Graphics 710] (rev 0c)
00:02.3 VGA compatible controller: Intel Corporation Alder Lake-S GT1 [UHD Graphics 710] (rev 0c)
00:02.x VGA 这就是刚刚虚拟出来的核显了
注意:物理核显02.0不能直通出去(可以映射给LXC),否则物理核显本体被独占,所有虚拟核显消失。
(可选)固定内核版本并通过以下方式更新启动配置 。proxmox-boot-tool
查看核显调用情况的方法
apt install intel-gpu-tools -y
intel_gpu_top
所有功能这里不要点