PVE8开启vgpu显卡虚拟化(基于Tesla P4)

Tesla系列显卡真是垃圾佬的福音,很久以上上万的卡,现在几百块就能收到,不仅可以炼丹,还可以玩游戏,甚至可以给PVE用作vgpu,来实现云桌面,云游戏。博主先后买过P40和P4,面对250W功耗的24G显存的P40,显然它更适合炼丹,P4 TDP 75W,1060的性能表现,它的最佳用途其实不是个人桌面的游戏显卡,而是虚拟化云主机使用,而搭配上一台低功耗主机,做all in one 是非常不错的选择,任何一个虚拟机想要硬解或者游戏,都可以分配一个vgpu来使用,8g显存的P4, 如果分配2G显存,可以供4个虚拟机使用,分配1G可以供8个虚拟机使用,一般来说普通游戏2G已足够。

一、PVE8的安装

二、PVE配置开启硬件直通

  • 前提条件:主板BIOS开启VT-D

1、登录PVE后台,进入shell管理终端

2、开启iommu

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"

3、更新grub

update-grub

4、加载vfio模块

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

5、更新内核参数

update-initramfs -k all -u

6、屏蔽系统中的开源显卡驱动避免开启显卡被系统加载

#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 

三、安装nvidia显卡宿主机vgpu驱动

  • 注意,这个驱动不是常规的驱动,需要去nvidia官网注册企业账号才能下载到,PVE8的内核为6.2,可以安装最新的535驱动,如果不想注册企业号,可以去网上搜索下载。
PVE8开启vgpu显卡虚拟化(基于Tesla P4)

1、将PVE需要安装的驱动传如PVE中,方法很多,可以通过scp或者ssh工具软件或者修改后缀名为iso,直接用pve后台传进去。
安装显卡驱动需要用到的依赖

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

2、安装驱动并重启

#进入驱动所在目录
#r如果安装了显卡驱动,先卸载
./NVIDIA-Linux-x86_64-535.54.06-vgpu-kvm.run --uninstall
sudo 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
reboot

3、验证是否安装成功,若正常显示下图所示,证明安装成功

nvidia-smi
PVE8开启vgpu显卡虚拟化(基于Tesla P4)

四、创建虚拟机,这里以WIN11为例,在虚拟机中安装vgpu驱动

  1. 创建虚拟机过程略,在创建完成后添加PCI设备,如下图
PVE8开启vgpu显卡虚拟化(基于Tesla P4)
PVE8开启vgpu显卡虚拟化(基于Tesla P4)

2.打开win11虚拟机,将上面提到的虚拟机vgpu驱动传入win11,然后双击安装,过程略

PVE8开启vgpu显卡虚拟化(基于Tesla P4)

3.装好以后重启设备管理器就识别了

PVE8开启vgpu显卡虚拟化(基于Tesla P4)

五、搭建nvidia vgpu授权服务

  1. 服务需要用到证书,所以搭建之前要自己创建证书,可以使用任何一台安装完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
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

2.运行docker fastapi-dls服务

docker run -e DLS_URL=替换成你的ip地址 -e DLS_PORT=443 -p 443:443 -v $WORKING_DIR:/app/cert collinwebdesigns/fastapi-dls:latest

3.访问你服务得https://ip地址,查看服务是否运行
win11下载证书,用浏览器访问 https://ip地址/-/client-token ,下载后放入C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken\这个目录

4.重启win11,击右下角的nvidia图标,看到如下图所示就证明授权成功

PVE8开启vgpu显卡虚拟化(基于Tesla P4)

如果是linux系统,执行下面命令即可

curl --insecure -L -X GET https://<dls-hostname-or-ip>/-/client-token -o /etc/nvidia/ClientConfigToken/client_configuration_token_$(date '+%d-%m-%Y-%H-%M-%S').tok
# or
wget --no-check-certificate -O /etc/nvidia/ClientConfigToken/client_configuration_token_$(date '+%d-%m-%Y-%H-%M-%S').tok https://<dls-hostname-or-ip>/-/client-token

其他细节其实可以查看https://ip/-/readme

至此,你可以愉快的玩耍了!

驱动下载地址:https://cloud.google.com/compute/docs/gpus/grid-drivers-table?hl=zh-cn#windows_drivers

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/11352

(0)
凯影的头像凯影
上一篇 2024年2月22日 下午5:34
下一篇 2024年2月27日 下午5:19

相关推荐

  • SSL/TLS协议信息泄露漏洞(CVE-2016-2183)修复

    一、漏洞说明 Windows server 2008或2012、2016远程桌面服务SSL加密默认是开启的,且有默认的CA证书。由于SSL/ TLS自身存在漏洞缺陷,当开启远程桌面服务,使用漏洞扫描工具扫描,发现存在SSL/TSL漏洞。例如如下漏洞: 二、修复办法 1、登录服务器,打开windows powershell,运行gpedit.msc,打开“本地…

    2022年11月16日
    2.5K00
  • Ubuntu防火墙使用方法

    安装防火墙 ufw防火墙开启和关闭 修改ufw防火墙规则 ufw命令使用实例

    2022年12月3日
    1.4K00
  • 迁移到新服务器上的PHP网站,使用浏览器访问时提示“不支持MySQL”等信息,如何处理?

    问题描述 PHP网站(该网站需使用PHP执行程序代码)迁移到新服务器后,在使用浏览器访问时提示如下任意一种信息。 问题原因 因为MySQL扩展功能自PHP 5.5.0版本开始被废弃,并且从PHP 7.0.0版本开始被移除,当网站迁移到新服务器时一般会迁移到PHP 7.0.0及以上版本,由于网站迁移后的新服务器的PHP版本过高,网站程序无法再连接MySQL,导…

    2023年11月17日
    1.3K00
  • Win10 Edge浏览器无法使用内置管理员打开解决办法

    在Win10系统中我们经常会遇到这样的问题,应用打不开,提示无法使用内置管理员帐户打开此应用,今天有用户也遇到了Edge浏览器打不开的问题,一样的情况,这是由于Win10的特殊权限机制导致的,大家一般都会使用Administrator这个内置管理员帐户,想要打开应用还需要设置一下,具体看看下面解决方法。 解决方法一:还原UAC设置 1.打开win10系统的控…

    2023年12月1日
    1.7K00
  • nginx配置负载均衡–实战项目(适用于轮询、加权轮询、ip_hash)

    两台服务器: 业务需求:有两台服务器,一台供于线上使用(172.16.10.10),一台供于研发使用(172.16.10.20) 如果线上的服务器挂了,需要将所有请求转移到研发的机器上,以确保线上服务正常使用; 正常时间还是线上使用线上的服务器,研发用研发的服务器;只有在线上服务器挂了的时候才会使用备用的研发服务器; 需求实现:使用nginx负载均衡来实现;…

    2023年12月25日
    1.0K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信