Tesla系列显卡真是垃圾佬的福音,很久以上上万的卡,现在几百块就能收到,不仅可以炼丹,还可以玩游戏,甚至可以给PVE用作vgpu,来实现云桌面,云游戏。博主先后买过P40和P4,面对250W功耗的24G显存的P40,显然它更适合炼丹,P4 TDP 75W,1060的性能表现,它的最佳用途其实不是个人桌面的游戏显卡,而是虚拟化云主机使用,而搭配上一台低功耗主机,做all in one 是非常不错的选择,任何一个虚拟机想要硬解或者游戏,都可以分配一个vgpu来使用,8g显存的P4, 如果分配2G显存,可以供4个虚拟机使用,分配1G可以供8个虚拟机使用,一般来说普通游戏2G已足够。
一、PVE8的安装
- 镜像下载,地址:https://enterprise.proxmox.com/iso/
- 安装过程略
二、PVE配置开启硬件直通
- 前提条件:主板BIOS开启VT-D
- 登录PVE后台,进入shell管理终端
- 开启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"
- 更新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
三、安装nvidia显卡宿主机vgpu驱动
- 注意,这个驱动不是常规的驱动,需要去nvidia官网注册企业账号才能下载到,PVE8的内核为6.2,可以安装最新的535驱动,如果不想注册企业号,可以去网上搜索下载。
- 将PVE需要安装的驱动传如PVE中,方法很多,可以通过scp或者ssh工具软件或者修改后缀名为iso,直接用pve后台传进去。
2.安装显卡驱动需要用到的依赖apt install build-essential dkms mdevctl pve-headers-$(uname -r)
- 安装驱动并重启
#进入驱动所在目录 #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
- 验证是否安装成功,若正常显示下图所示,证明安装成功
nvidia-smi
- 将PVE需要安装的驱动传如PVE中,方法很多,可以通过scp或者ssh工具软件或者修改后缀名为iso,直接用pve后台传进去。
四、创建虚拟机,这里以WIN11为例,在虚拟机中安装vgpu驱动
- 创建虚拟机过程略,在创建完成后添加PCI设备,如下图
- 打开win11虚拟机,将上面提到的虚拟机vgpu驱动传入win11,然后双击安装,过程略
- 装好以后重启设备管理器就识别了
五、搭建nvidia vgpu授权服务
- 服务需要用到证书,所以搭建之前要自己创建证书,可以使用任何一台安装完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=替换成你的ip地址 -e DLS_PORT=443 -p 443:443 -v $WORKING_DIR:/app/cert collinwebdesigns/fastapi-dls:latest
- 访问你服务得https://ip地址,查看服务是否运行
1.win11下载证书,用浏览器访问 https://ip地址/-/client-token ,下载后放入C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken\这个目录 - 重启win11
- 击右下角的nvidia图标,看到如下图所示就证明授权成功
- 如果是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://github.com/justin-himself/NVIDIA-VGPU-Driver-Archive/releases
地址失效了,有没有新的地址?谢谢管理
建议去搞企业用户登录下载
您好!按照教程安装了宿主机的驱动后,怎么nvidia-smi显示只有7680MB,不是8192MB?谢谢
…你显卡是不是有问题
谢谢你的教程,但是我的问题是如何安装nvidia vgpu授权服务,能否有更具体点的教程
你开了ecc吧
请问PVE8.0本身可以当做vGPU的授权服务器吗?授权服务与显卡虚拟化冲突吗?
可以,你可以用pve安装一个docker,用docker去部署授权服务器,不会冲突
tesla P40做法一样的吧,驱动是一样支持的吧
一样
授权服务搭建好了,但是无法授权
无法授权是什么意思?
大师,我按你的教程装的p40,装完_驱动重启后就卡死在了启动界面,
NVRM:loading NVIDIA UNIX X86_64 Kernel Module 535.104.06
进单用户把驱动卸载后又能正常启动,这是什么问题呀?16.0和16.1的驱动都试了都是这样。
你的主板是什么?bios开启 above 4g了吗?有可能和我一样主板不兼容
开了,华为的服务器RH2288 V3
大概率不兼容,你查看下内核版本看是不是和vgpu驱动匹配,再试下有没有新的bios刷一下。再尝试下。
开了,华为的服务器主机RH2288V3,会不兼容吗?
我开启一台。再开另一台就是失败!想知道怎么弄
老哥这个版本的驱动在哪下的?能否给个链接
github共享出来的人家都删库了,要自己去找了。
驱动下载地址:
https://foxi.buduanwang.vip/pan/vGPU/16.0/
PVE8.1.4
root@pve:~# update-initramfs -k all -u
update-initramfs: Generating /boot/initrd.img-6.5.11-8-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.
现在还有什么地方能下载到esxi和pve的驱动吗
nvidia-smi 显示no devices were found,大神们怎么解?
直通或者驱动失败了
你好,
我bios已经开启了vt,系统也设置了iommu,都与博客一致
目前日志是
“`
[ 243.869460] INFO: task nvidia-vgpud:1154 blocked for more than 120 seconds.
“`
找不到合适的信息参考
p40
安装之后执行nvidia-smi,界面卡住,请问各位知道为什么么