飞牛 fnOS NVIDIA Tesla P4 vGPU 驱动教程分享
本文讲述了作者重构老旧服务器的过程与心得体会。通过升级ESXi 8.0 U3系统、安装vGPU驱动并解决Tesla P4显卡兼容性问题,最终实现GPU加速功能。同时分享了相关资源与注册机获取方式,并表达了对个人博客现状的感慨与坚持。 2025-9-1 06:41:15 Author: www.sqlsec.com(查看原文) 阅读量:0 收藏

每天的工作难度虽然不高,但是却异常琐碎,完全没有自己的思考时间,导致我的博客已经很久没有更新了。这种日子到底还有多久?我到底能不能成为说唱歌手?

家里的服务器日常待机运行功耗 200 多 W,每个月电费要 100 多元,不充分利用一下服务器有点对不起它了,正好周末清了灰,从零开始重构一下服务器。

清灰过程还是比较解压的:

首先本次使用的是截止目前 (2025年09月01日)最新的 ESXi 8.0 U3 系列,这也是我这种 E5 老平台和 Tesla P4 老显卡建议使用的最高版本:

image-20250901220655321

因为下面的资源都是国光我真金白银付费购买的,所以不能免费直接分享,大家如果感兴趣的话,可以小黄鱼了解一下,价格肯定还是比较便宜划算的,也当时知识付费支持一下了,具体的资源如下:

  • ESXi 镜像:ESXi-8.0U3g-24859861-SYSIN-20250730.iso 或者 VMware-VMvisor-Installer-8.0U3g-24859861.x86_64.iso
  • vCenter 镜像:VMware-VCSA-all-8.0.3-24853646.iso
  • vGPU 16.10 驱动:NVIDIA-GRID-vSphere-8.0-535.247.02-535.247.01-539.28.zip


不过大家财力有限的话,下面是免费赠送的资源,也挺实用的:

  • 注册机:VMware UKG 1.0.21.1014.exe (Vmware universal keygen 1.0.21.1014)

关注公众号回复:VM注册机 即可免费获取:

img

有了注册机的话,要想顺利使用 vGPU 的话得确保你的许可证的产品不要太垃圾了,下面是国光的 ESXi 和 vCenter 使用的许可证情况:

NVIDIA 在 vGPU 17.x 系列中针对 VMware ESXi 平台停止了对 Pascal 架构(如 Tesla P4)的支持,仅保留对 16.x 系列的兼容。若需继续使用 P4 的 vGPU 功能,建议保持 16.x 版本驱动,本教程中使用的是 vGPU 16.10 驱动来演示。

要在 vSphere 平台上让虚拟机实现 NVIDIA GPU 的硬件加速(比如 vGPU 功能),必须先为 ESXi 主机安装 NVIDIA 官方 Host 驱动。这次我要安装的驱动包是

NVD_bootbank_NVD-VMware_ESXi_8.0.0_Driver_535.247.02-1OEM.800.1.0.20613240.vib

为了避免安装驱动时影响正在运行的虚拟机,建议先把 ESXi 主机进入 维护模式,然开启 SSH 将 VIB 文件到 ESXi 主机的 tmp 目录下,通过 SSH 客户端(比如 PuTTY)连接到 ESXi 主机,执行以下命令安装驱动:

esxcli software vib install -v /tmp/NVD_bootbank_NVD-VMware_ESXi_8.0.0_Driver_535.247.02-1OEM.800.1.0.20613240.vib

执行后,命令行会输出驱动验证、安装的进度日志。耐心等待片刻,直到看到「Installation completed successfully」(安装成功)的提示。

驱动安装后,必须重启 ESXi 主机 才能让驱动完全生效。主机重启后,再次通过 SSH 登录,执行以下命令查看驱动是否安装成功:

nvidia-smi

然后登录 vCenter 操作 ESXi 主机,图形设置为「直接共享」后点击确定,然后重启 ESXi 主机即可完成 vGPU Host 宿主机驱动的安装准备工作:

飞牛 OS 添加 PCI vGPU 设备:

先 SSH 连接切换到 root 准备安装所需依赖:

# 切换root权限
sudo -i

# 屏蔽nouveau
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist-nouveau.conf

# 更新initramfs
update-initramfs -u

# 安装aptitude包管理工具
apt update && apt install aptitude

# 使用 aptitude 自动解决依赖冲突
aptitude install build-essential dkms linux-headers-generic libglvnd-dev pkg-config -y

# 清理缓存
apt clean
apt autoclean
rm -rf /var/lib/apt/lists/*
apt update

# 安**uild-essential dkms 等依赖包
apt install build-essential dkms linux-headers-generic libglvnd-dev pkg-config -y

# 重启飞牛
reboot

然后将 NVIDIA-Linux-x86_64-535.247.01-grid.run 这个 vGPU Guest 上传到飞牛 OS,同样命令行下开始编译安装:

# 给予驱动执行权限
chmod +x NVIDIA-Linux-x86_64-535.247.01-grid.run

# 安装NVIDIA GUEST驱动,一路回车直至安装完成
 ./NVIDIA-Linux-x86_64-535.247.01-grid.run --dkms

安装成功后使用命令验证一下:

nvidia-smi

image-20250901232649638

此时相册里面可以正常启用 GPU 计算:

飞牛影视也可以正常使用这个 Tesla P4 vGPU 进行加速转码:

因为 vGPU 我分配了 4GB 显存,使用资源管理来查看,发现可以正常看到显卡的占用率:

默认情况下我们使用的 vGPU 虽然是驱动了的,但是没有导入官方的证书,在后续使用上会被限制性能释放,首先使用命令行查看当前环境的证书情况:

nvidia-smi -q | grep -i "license" -A 5

可以看到是未注册的:

原项目 FastAPI-DLS 需要自行创建证书较为繁琐,这里使用一个二次封装的免证书容器镜像来快速搭建:

sudo docker run -d --name vgpu_server -e DLS_URL=10.1.1.6 -e DLS_PORT=443 -p 9443:443  makedie/fastapi-dls

借助 FastAPI-DLS 项目我们可以快速搭建 vGPU 证书服务器,如果大家的设备可以连接外网的话,下面国光也分享几个可用的 vGPU 证书服务器:

https://62.234.164.86:6443/-/readme
https://101.201.101.132:10443/-/readme
https://120.26.231.182:8443/-/readme

也可以通过 docker 手动搭建服务器,需要先准备好自己 RSA 密钥对 于加密许可证信息,执行以下命令生成:

# 定义证书目录
WORKING_DIR=/vol2/1000/内置存储/Docker/vGPU-Server/cert

# 进入目录
cd $WORKING_DIR

# 生成符合官方要求的 SSL 证书(10年有效期)
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout  $WORKING_DIR/webserver.key -out $WORKING_DIR/webserver.crt

证书这里看着填写就行了,反正就是我们自己用,只要 FQDN 这里写实际 vGPU 服务器的地址就行:

使用飞牛自带的 Docker 可以很轻松的创建 vGPU 服务,下面是对应的 compose.yml 配置文件:

x-dls-variables: &dls-variables
  TZ: Asia/Shanghai # 中国时区
  DLS_URL: 10.1.1.6 # 写你具体的 IP 地址
  DLS_PORT: 443
  LEASE_EXPIRE_DAYS: 3650  # 10年有效期
  DATABASE: sqlite:////app/database/db.sqlite
  DEBUG: false

services:
  dls:
    image: collinwebdesigns/fastapi-dls:latest
    restart: always
    environment:
      <<: *dls-variables
    ports:
      - "9443:443"  # 9443 改成实际你映射的端口
    volumes:
      - /vol2/1000/内置存储/Docker/vGPU-Server/cert:/app/cert # 前面换成你的证书路径
      - dls-db:/app/database
volumes:
  dls-db:

飞牛的 Docker 真方便无视国内的墙,很丝滑很快搭建成功:

有了证书服务器的话,下面使用飞牛 OS 来实际操作,拷贝并编辑配置文件:

# 拷贝配置
cp /etc/nvidia/gridd.conf.template /etc/nvidia/gridd.conf

# 编辑配置
vim /etc/nvidia/gridd.conf

手动修改 ServerPort 端口为实际你映射的端口:

ServerPort=9443

然后直接导入这个授权证书吧:

# 切换 root 用户
sudo -i
# 导入client-token
wget --no-check-certificate -O /etc/nvidia/ClientConfigToken/client_configuration_token_$(date '+%d-%m-%Y-%H-%M-%S').tok https://10.1.1.6:9443/-/client-token

# 重启
systemctl restart nvidia-gridd
systemctl status nvidia-gridd

重启服务器后验证一下授权证书的有效期:

nvidia-smi -q | grep -i "license" -A 5

使用飞牛影视对视频进行转码播放看看,可以看到 GPU 参与工作了:

资源管理器也可以看到显卡干活的痕迹:

好了到此本文就结束了,更多飞牛 GPU 解码的玩法等待大家自己去探索。

本文可能实际上也没有啥技术含量,但是写起来还是比较浪费时间的,在这个喧嚣浮躁的时代,个人博客越来越没有人看了,写博客感觉一直是用爱发电的状态。如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN费用等)


文章来源: https://www.sqlsec.com/2025/09/esxivgpu.html
如有侵权请联系:admin#unsafe.sh