PVE显卡直通,TelsaP100显卡直通,可能是不同于已有教程的新的直通方式,来自国外的老头子
真的无语,前面写了很多我搞PVE的帖子,但是发布之后就404,不知道怎么回事。
PVE显卡直通
没有废话,搞这个的原因是,我在做完显卡直通之后,重启PVE时会有报错。虽然没看到具体信息,但是能确定就是搞了直通之后导致的报错。
就是重启之后卡在
/dev/mapper/pve-root: recovering journal这里
虽然这个报错信息并不准确(第一次的时候还因为这个重装了一遍系统。
这个报错其实问题不大
先说这个报错,基本意思就是文件校验失败,网上的大部分说的都是,什么突然断电文件损坏,需要扩容pve-root的分区空间之类的。
其实都不算对吧,其一我是热重启,其二我有根据网上的内容尝试用fsck修复这个pve-root。但是磁盘被挂载了!!!,我又没法卸载。根本行不通。
另外我都是搞了显卡直通之后才会出现这个报错的,按照网上的方法,在PVE进引导的时候,先进入恢复模式,然后把linux行后面的,你写的 intel_iommu之类的东西。删除掉,先写nomodeset进入系统。
或者只保留前面的quiet,后面的所有为了直通加的intel之类的东西都删掉。保存之后就可以进系统了。这样除了调用直通的虚拟机都是可以正常启动的。
而且这样操作之后你会发现,即使还会有同样的报错内容出来,但是用网页也可以正常访问PVE了。当然,没有了直通之后,可能有些网卡也挂了,比如IStoreOS,这时候无法启动,报错的意思就是,这个之前直通的网卡我们现在驱动不了。控制台也无法打开。
整个过程
前面服务器搭好以后,买了授权,虽然卖家说是1CCU,但是到手是5CCU的授权。直接虚拟机还原就可以用,但是比较坑的是要了我8GB内存。还好当初配的64GB,勉强够用。
这时候我的第一次根据国内教程的显卡直通已经搞好了,包括中介拆分都没有问题。显卡在虚拟机里面也可以正常装驱动有显示。
搞好以后,激活授权,然后我下载了3Dmark。准备跑一下。
这里特别说一下,只有Parsec或者moonlight这种远程工具才可以调起P100显卡,控制台和Windows的远程桌面都是不可以的。或者你可以PVE一个VDI系统介入。
但是这是后来才知道的,开始我用控制台跑P100,当然是跑不了的。画面只有不到10帧,我也没在意,因为P100没有风扇嘛,可能是温度问题。结果一根烟的功夫,显卡掉了。。。。。虚拟机蓝屏,再重启,显卡没了。。。。。
这时候PVE的显示都还是好的,于是尝试再开,后面就开不起来了。有试过用之前的步骤,再重新直通一次,软件都是重装,没有卸载过。但是最后应该是移除然后重新添加了直通设备,才能用。
修好之后,就开始找远程软件,能调用P100的。之后就是安装Parsec的步骤,我就没必要多讲了,只说一点,Parsec的首次登录是需要邮件确认的,基本每台新设备都是这样。但是同一个公网IP下面就不需要确认了。
速度确实很快,家里到公司,电信到联通,直线10公里的距离。不到30毫秒。完全解释了菜就多练的深刻内涵。
这期间,就一直在找这个直通问题的解决办法,其实官方论坛有个对应的帖子,但是最后引导去看视频。下午的时候,觉得太麻烦就没有去看,晚上实在找不到办法,但是我知道PVE一旦重启又会出现这个问题。于是硬着头皮去看了。
按照老外的步骤设置以后,暂时没有这个启动问题了。
从功耗看,以前双处理器带载200W,驱动之后现在240W,因为温度太高了,所以功耗推不上去。
解决过程
这个老外驱动的是K620显卡,但是如评论所说,这个方法到2024年依然适用。他最后是用linux系统去做验证的,这部分就可以不用看了。Windows这边装自己的驱动,用适合的软件自己跑就可以了。
PVE启动的时候,不加载Nvidia驱动。你直通时的Nvidia驱动,是在系统上一次活跃的时候做的,没有启动项,所以上电之后虽然直通设备,但是你的驱动不加载,它一定会报错。
整个视频基本就是在解决这个东西。
另外善用WinSCP一类的软件,可以不使用不熟悉的nano编辑器。
视频标题是:Passing a GPU through to a Proxmox container
有条件的可以去搜一下,全程英文,无中文字幕。
以下是视频内容
先添加一个非企业源,然后更新换源是基本操作了。然后apt-update更新一下。

他演示的是,可能还不是PVE8,所以他更新的时候被提示确认,并且确认之后这里需要它重启系统。如果我们操作的时候没有提示要重启,就可以不管它,反正后面也要重启。大概意思就是要重启来激活新的内核。
重启之后,使用 uname -r 检查当前的内核版本


使用这个命令查找内核版本清单,可能是内核吧或者是,反正就叫pve-header。

这里就会列出目前的所有版本的header,这里我使用的是最新的。
apt install pve-headers-x.xx.x-x.-pve按这个格式去安装你要的版本。然后会自动下载安装,如果中间网络断了可以多次尝试,速度很慢,但是文件也不大。

最后这样就是安装完了,然后去写一个黑名单来禁用noveau驱动。

这里他用的是nano编辑器,我用WinScp代替了。

这里并不是我们原有的pve-blacklist,我按照他的操作,新建了一个blacklist文件
里面就一行内容:

然后保存即可。
之后更新了一个脚本或者叫文件


应该是在构造启动镜像之类的话,之后重启系统。
安装驱动
重启之后开始安装驱动
先安装驱动的一个构造包

这里的命令是 apt install build-essential,图上它的命令是错的。
等待构造结束,然后准备好你的驱动文件。Chmod 授权,然后安装驱动。

正常的进行一个安装。

安装之后使用 nvidia-smi就可以查看到驱动版本和型号之类的信息。
然后使用nano编辑器,编辑一个新文件


这个路径下的modules.conf 文件,这里打开的时候会发现已经有一个modules.conf的快捷方式,打开就是之前我根据国内步骤写的vfio之类的内容。为了不删除文件,所以我重命名了modules2没有删除。
然后新建这个文件,输入对应的内容。编辑之后,再来构造一次启动内容。

然后写一条规则

路径是/etc/udev/rules.d
这里的70应该是70秒的意思,大概就是第70秒的时候加载这个规则。
加的内容

加的内容,这里我放大了一些,*号记得要加上。

保存之后重启


重启之后,其实没啥区别,我不知道为什么我的CUDA没有,可能是没装驱动?但是P100也没有这个驱动。
整个过程就结束了,
后面他用ubuntu做测试,还编辑了虚拟机的配置文件,大概意思就是添加这个显卡吧,和我们在硬件上操作应该是一样的。
总之,今天中午搞好了Parsec,跑了一下3D Mark。能看到显卡的占用和功耗的上升,还有温度的上升。以此确认是可以用了。
Parsec进去之后记得设置里面看下显卡,包括屏幕数量要设置仅在某个显示器显示,和图型设置那里选择高性能图型就可以。
否则默认桌面可能还是虚拟驱动在做。
要去找客服了,莫名其妙吞了我好多帖子,明明发布了,打开就404.
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

人间轻尘
校验提示文案
值友5737256396
校验提示文案
值友5737256396
校验提示文案
人间轻尘
校验提示文案