All-In-One玩vGPU显卡虚拟化,上手Tesla P4

2023-09-23 11:14:20 52点赞 321收藏 41评论

首先我不推荐Tesla P4这张显卡,既无主动散热、也无视频输出接口、性价比又低(性价比连矿渣40HX都不如)。显卡算上散热花了400元,买这张卡是因为我个人喜欢Tesla P4(功耗低、外观小巧,是我眼里颜值最高的显卡),更重要的是给All-In-One主机折腾vGPU显卡虚拟化。

All-In-One玩vGPU显卡虚拟化,上手Tesla P4

本文介绍的是PVE环境下的Tesla P4显卡虚拟化设置,由于Tesla P4是专业卡本身支持vGPU,非专业卡的N卡则需要vGPU Unlock才能虚拟化,不在本文介绍范围内:

1、准备工作:PVE设置

PVE开启iommu(实现PCIE直通):

vim /etc/default/grub

#修改如下设置 GRUB_CMDLINE_LINUX_DEFAULT="quiet" #intel cpu 改为: GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt" #amd cpu改为: GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"

更新grub:

update-grub

加载vfio模块

echo vfio >> /etc/modules echo vfio_iommu_type1 >> /etc/modules echo vfio_pci >> /etc/modules echo vfio_virqfd >> /etc/modules

更新内核参数

update-initramfs -k all -u

屏蔽开源显卡驱动,避免开机时显卡被系统加载

#AMD显卡 echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf echo "blacklist amdgpu" >> /etc/modprobe.d/blacklist.conf #NVIDIA显卡 echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf echo "blacklist nvidiafb" >> /etc/modprobe.d/blacklist.conf #INTEL核显 echo "blacklist snd_hda_intel" >> /etc/modprobe.d/blacklist.conf echo "blacklist snd_hda_codec_hdmi" >> /etc/modprobe.d/blacklist.conf echo "blacklist i915" >> /etc/modprobe.d/blacklist.conf

更新内核并重启

update-initramfs -k all -u

准备工作完毕!

2、PVE安装显卡host驱动

将显卡装上后就可以安装驱动了。计算卡驱动官网下载需要注册账户比较麻烦,可以网上找别人打包好的驱动。vGPU驱动分host(服务端)、client(客户端)两种驱动。PVE上需要安装host驱动。首先安装显卡驱动依赖环境:

apt install build-essential dkms mdevctl pve-headers-$(uname -r)

通过ssh上传驱动到PVE并安装,如之前安装了显卡驱动需要先卸载:

#如果之前安装了显卡驱动需要先卸载 apt-get remove --purge nvidia-* #进入驱动所在目录,开始安装驱动 chmod +x NVIDIA-Linux-x86_64-535.54.06-vgpu-kvm.run ./NVIDIA-Linux-x86_64-535.54.06-vgpu-kvm.run #重启pve rebootAll-In-One玩vGPU显卡虚拟化,上手Tesla P4All-In-One玩vGPU显卡虚拟化,上手Tesla P4

这样PVE已经安装好了驱动,接下来给虚拟机安装驱动前,先搭建好vGPU的授权服务。

3.搭建授权服务

vGPU客户端需要授权才可以正常使用驱动。个人去买商业授权有点不划算,所以用民间的授权大法:通过docker搭建授权服务。

找一台Linux设备,安装好docker环境,记下设备的局域网IP地址,开始搭建docker,下面2种方式任选其一:

3.1 makedie/fastapi-dls 镜像

makedie/fastapi-dls 是基于collinwebdesigns/fastapi-dls原版镜像修改的方案,不需要自己搭建openssl,所以操作比较简单。

一条命令就可以搭建好容器,注意修改实际的局域网IP:

docker run -d -e DLS_URL=192.168.31.20 -e DLS_PORT=1020 -p 1020:443 makedie/fastapi-dls

3.2 collinwebdesigns/fastapi-dls 镜像(原版)

collinwebdesigns/fastapi-dls 是原版镜像需要自己搭建openssl证书,所以服务器上不仅要安装docker还要安装好openssl

apt install openssl

服务器上创建证书:

WORKING_DIR=/opt/docker/fastapi-dls/cert mkdir -p $WORKING_DIR cd $WORKING_DIR # create instance private and public key for singing JWT's openssl genrsa -out $WORKING_DIR/instance.private.pem 2048 openssl rsa -in $WORKING_DIR/instance.private.pem -outform PEM -pubout -out $WORKING_DIR/instance.public.pem # create ssl certificate for integrated webserver (uvicorn) - because clients rely on ssl openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout $WORKING_DIR/webserver.key -out $WORKING_DIR/webserver.crt

运行docker fastapi-dls服务:

docker run -e DLS_URL=192.168.31.128 -e DLS_PORT=1020 -p 1020:443 -v $WORKING_DIR:/app/cert collinwebdesigns/fastapi-dls:latest

访问 https://192.168.31.20:1020 查看授权服务是否正常运行:

All-In-One玩vGPU显卡虚拟化,上手Tesla P4

4.虚拟机安装vGPU驱动及授权

首先在PVE上给虚拟机添加PCI设备,选择对应的显卡:

All-In-One玩vGPU显卡虚拟化,上手Tesla P4

由于我要对显卡做划分,所以在MDev类型要选一下,我只打算划分2块,所以选的GRID P4-4Q(nvidia-65):

All-In-One玩vGPU显卡虚拟化,上手Tesla P4

接下来在虚拟机上安装vGPU驱动及授权,将驱动发送到虚拟机上(根据不同系统可以采用smb共享或者ssh远程的方法操作)。就像正常在电脑上安装驱动即可。

All-In-One玩vGPU显卡虚拟化,上手Tesla P4All-In-One玩vGPU显卡虚拟化,上手Tesla P4

安装好驱动后,获取vGPU授权:

Windows管理员权限运行 PowerShell 执行如下命令,注意修改认证服务器地址(同上面docker容器服务的地址):

# 下载授权文件 curl.exe --insecure -L -X GET https://192.168.31.20:1020/-/client-token -o "C:Program FilesNVIDIA CorporationvGPU LicensingClientConfigTokenclient_configuration_token_$($(Get-Date).tostring('dd-MM-yy-hh-mm-ss')).tok" # 重启英伟达服务 Restart-Service NVDisplay.ContainerLocalSystem # 查看授权状态 nvidia-smi.exe -q | Select-String License

Linux root 权限执行如下命令:

# 下载授权文件 curl --insecure -L -X GET https://192.168.31.20:1020/-/client-token -o /etc/nvidia/ClientConfigToken/client_configuration_token_$(date '+%d-%m-%Y-%H-%M-%S').tok # 重启英伟达服务 service nvidia-gridd restart # 查看授权状态 nvidia-smi -q | grep License

在Windows上安装好驱动后,在任务管理器里已经可以正常识别到显卡了,由于我把显卡做了划分,所以这里显示的显存为4G。

All-In-One玩vGPU显卡虚拟化,上手Tesla P4

为了更好调用显卡可以通过moonlight+sunshine对虚拟机进行串流。

All-In-One玩vGPU显卡虚拟化,上手Tesla P4

hanbrake可以正常调用到NVENC进行编码、可以正常安装CUDA、除了没有物理视频输出功能和一般显卡相同。

All-In-One玩vGPU显卡虚拟化,上手Tesla P4All-In-One玩vGPU显卡虚拟化,上手Tesla P4

不过这张卡虽然功耗低,但是必须改造散热。由于还没有对显卡做散热改造,所以跑分和测试性能没意义,放在下次介绍吧!

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
41评论

  • 精彩
  • 最新
  • b站有3d打印的散热底座,配合4cm涡扇,目前是性价比最高的p40散热

    校验提示文案

    提交
    散热买了,只是还没到

    校验提示文案

    提交
    最有性价比不是多多上12块的微星1050ti双风扇?

    校验提示文案

    提交
    还有4条回复
    收起所有回复
  • 你的是pve 8.0?

    校验提示文案

    提交
    对8.0

    校验提示文案

    提交
    收起所有回复
  • 划分了vgpu之后宿主机还能用吗,我24G能不能划出1G,自己用剩下23G

    校验提示文案

    提交
  • 高端操作一看就不懂。。 [喜极而泣]

    校验提示文案

    提交
  • esxi怎么用vgpu,大佬也发发教程嘛

    校验提示文案

    提交
    你得有esxi的驱动,vib格式的

    校验提示文案

    提交
    我试过可以驱动,但卡在许可授权上,一切正常但许可无效,只能试用10分钟。

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 谢谢分享,细节挺多 [赞一个]

    校验提示文案

    提交
  • 授权,细节讲的不详细,实际上网上这类文章一搜都出来了。

    校验提示文案

    提交
    windows物理机能直接用吗,要不要授权?这卡跑SD怎么样? [赞一个]

    校验提示文案

    提交
    拆分才需要授权,单独给一台机器用是不需要授权的。物理机可以直接用,装个驱动就行

    校验提示文案

    提交
    还有5条回复
    收起所有回复
  • 大佬来一个驱动链接

    校验提示文案

    提交
    私发给你

    校验提示文案

    提交
    收起所有回复
  • 有点意思嘛

    校验提示文案

    提交
  • 码一下,以后肯定用得上 [口水]

    校验提示文案

    提交
  • 这教程。那天我也可以发一个。

    校验提示文案

    提交
  • 感谢感谢,还想买,看了文章不打算入手了

    校验提示文案

    提交
  • 想问下,bios是否需要开启sr-iov. esxi7中硬件栏里面p4的sr-iov列是不支持,需要怎么搞?

    校验提示文案

    提交
    不用开,这一代是NV自己的驱动实现的vGPU,不是SR-IOV,T4那代支持SR-IOV

    校验提示文案

    提交
    收起所有回复
  • 有哪些gpu支持vgpu?

    校验提示文案

    提交
  • 是垃圾图给你的灵感吗? [邪恶] [邪恶] [邪恶]

    校验提示文案

    提交
  • curl.exe --insecure -L -X GET 去看看:9443/-/client-token -o "C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken\client_configuration_token_$($(Get-Date).tostring('dd-MM-yy-hh-mm-ss')).tok"

    代码应该是这个,不知道有没被吞

    校验提示文案

    提交
    特意留言,不会被吞。还在 [观察] [高兴]

    校验提示文案

    提交
    收起所有回复
  • 老哥 求一个esxi的p40或M40的驱动

    校验提示文案

    提交
  • 好难 [喜极而泣]

    校验提示文案

    提交
  • 俺想知道,pve下vgpu分配给虚拟的windows10以后,该虚拟机还能支持快照功能吗?

    校验提示文案

    提交
  • 驱动用了那个版本啊

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
321
扫一下,分享更方便,购买更轻松