PVE8.3.1开启核显虚拟化SR-IOV

news/2025/2/19 13:02:26/文章来源:https://www.cnblogs.com/airoot/p/18716221

本来想集成到前面的文章,但是被网上一些文章误导从而浪费了3H之后决定还是单开一篇专门说说PVE8.3.1开启核显虚拟化的过程。所以建议大家还是参考更有价值的唯一的官方指南 https://github.com/strongtz/i915-sriov-dkms

交代一下背景:

发文日期2025年2月14日,以下所有操作均基于当前日期并有效执行!

PVE内核版本:6.8.12-4-pve

建议操作前更新一次源

apt update -y

安装必要的软件包

apt install build-* dkms git sysfsutils -y

安装所需版本的内核和头文件

apt install proxmox-headers-$(uname -r) proxmox-kernel-$(uname -r)

以下建议在home目录执行,所以现切换到home目录

cd ~

拉取最新i915-sriov-dkms

git clone https://github.com/strongtz/i915-sriov-dkms.git

进入i915-sriov-dkms目录

cd ~/i915-sriov-dkms

将当前目录中的内核模块添加到DKMS

dkms add .

添加完成后可以在/usr/src/目录看到已经添加进来的内核模块i915-XXXX

编译并安装该模块

dkms install i915-sriov-dkms/2025.02.03

执行以下命令,确认显卡ID是不是00:02.0

lspci | grep VGA

 确认后,调整内核命令行

nano /etc/default/grub

把GRUB_CMDLINE_LINUX_DEFAULT 的参数值改成 intel_iommu=on i915.enable_guc=3 i915.max_vfs=7 module_blacklist=xe

这里要注意,如果要虚拟成7个核显,则i915.max_vfs=7;如果要虚拟成3个核显,则i915.max_vfs=3

更新grub和initramfs

update-grub
update-initramfs -u

建议再补充执行一次

pve-efiboot-tool refresh

启用VFs

echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 7" > /etc/sysfs.conf#注意,这里的sriov_numvfs = X"必须与上一步的i915.max_vfs=X 数值相同

如果你的显卡ID不是00:02.0,则也需要做相应的调整

重启PVE后执行

lspci | grep VGA

你就可以看到虚拟化的核显已经出现

最后,你就能通过VFs到LXCs或VMs。但是,切勿将PF (02:00) 传递给VM,这会使所有其他vf崩溃。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/883937.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C】单链表

单链表 声明一个指向自身的结构体 struct Test {int x;int y;struct Test test; };输出结果: error!程序报错,因为这样会造成无限的循环。当编译器解析到struct Test test时test是结构体Test的成员,定义test成员需要Test,而结构体Test自身又是不完整的,那么程序就无法定义一…

所有Ollama用户请注意!!!你的IP可能已泄露

刚刚学到一项非常硬核的“黑”科技,只要几个关键词,就能实现 Ollama 自由。全世界几万台高性能带显卡的电脑供你使用。 添加图片注释,不超过 140 字(可选)看看这个页面,美国,中国,德国,英国....一个独立 IP 背后就是一台电脑,有些可能还是服务器。我实测了,随便找一…

【C】内存布局

动态内存管理 动态内存管理的几个函数malloc -- 申请动态内存空间 free -- 释放动态内存空间 calloc -- 申请并初始化一系列内存空间 realloc -- 重新分配内存空间malloc函数原型:void *malloc(size_t size);malloc函数向系统申请分配size个字节的内存空间,并返回一个指向这块…

【C】指针

指针 变量在内存中的存放 在内存中,字节是最小的存储单元。对于一个内存单元来说,指针就是单元的地址,每个地址可以存放一个字节的数据。存放一个整形变量(int)就需要动用到四个存储单元。 在内存中完全没有存储变量名的必要。 因为编译器知道具体每一个变量名对应的存放地址…

VMwareWorkstation pro 17下载与安装

‌VMware Workstation Pro 17‌是一款功能强大的虚拟机软件,专为开发者和IT专业人士设计。它允许用户在一台物理计算机上创建和运行多个虚拟操作系统,从而实现跨平台的开发、测试和部署。VMware Workstation Pro 17采用了先进的虚拟化技术,能够在单个物理主机上运行多个虚拟…

我的“ DeepSeek 越来越闲了”!讯飞星火无限调用 API 攻略来了

最近DeepSeek 确实挺忙,网页繁忙,API资源紧张。 添加图片注释,不超过 140 字(可选) 开源模型也很忙,被下载了 267万次!!! 添加图片注释,不超过 140 字(可选) 但是,我的 DeepSeek 要越来越闲了。腾讯云的接口刚用上,讯飞星火的又来了。 添加图片注释,不超过 1…

【C】数组

数组 数组的定义语法:类型 数组名[元素个数] (方括号内只能是常量或者常量表达式) int a[6]; char b[24]; double c[3];上面几个类型分别占用内存的字节数为: int a[6] ==> 4 * 6 = 24 char b[24] ==> 1 * 24 = 24 double c[3] …

【牛客训练记录】牛客小白月赛110

训练情况赛后反思 C题没看到偶数,导致打错表了TAT,然后浪费了一点时间 A题 编号每 \(500\) 一组,我们分别除 \(500\) 和取模 \(500\) 就行了点击查看代码 #include <bits/stdc++.h> // #define int long long #define endl \nusing namespace std;void solve(){int x;…

华为FusionCompute虚拟化平台

一、华为FusionCompute虚拟化套件介绍 华为FusionCompute虚拟化套件是业界领先的虚拟化解决方案,能够帮助客户带来如下的价值,从而大幅提升数据中心基础设施的效率。帮助客户提升数据中心基础设施的资源利用率; 帮助客户成倍缩短业务上线周期; 帮助客户成倍降低数据中心能耗…

卡特兰数学习笔记

引入 从 \((0,0)\) 走到 \((n,n)\),求不越过 \(y=x\) 的方案数。 不考虑是否合法的方案数是 \(\binom{2n}{n}\),即从 \(2n\) 个移动中选 \(n\) 个向右的。 接下来考虑不合法的情况,不合法当且仅当碰到了 \(y=x+1\) 这条直线,设这个点是 \((p,p+1)\),将后面的折线沿着 \(y=…

SpringCloud自定义loadbalancer实现标签路由

一、背景最近前端反应开发环境有时候调接口会很慢,原因是有开发图方便将本地服务注册到开发环境,请求路由到开发本地导致, 为了解决该问题想到可以通过标签路由的方式避免该问题,实现前端联调和开发自测互不干扰。该方案除了用于本地调试,还可以用于用户灰度发布。 二、实…

2025.2.14鲜花

ln将卷积转为加法。推歌 (看fengwu博客时候看见的) 《堕》 星河挂在天上 保护璀璨月亮 而你在我心中宛如月光 为你痴为你狂 为你笑为你闯 为你悲为你伤 为你扬 她是踏碎星河落入我梦境的幻想 环遍星系为你寻找的力量 神明给我在最难熬的时光 留下唯一的星光 堕入日月星辉之中…